diff --git a/documentation/content/de/books/handbook/cutting-edge/_index.adoc b/documentation/content/de/books/handbook/cutting-edge/_index.adoc index 0f10b96083..64d12e64fa 100644 --- a/documentation/content/de/books/handbook/cutting-edge/_index.adoc +++ b/documentation/content/de/books/handbook/cutting-edge/_index.adoc @@ -1,917 +1,917 @@ --- title: Kapitel 23. FreeBSD aktualisieren part: Teil III. Systemadministration prev: books/handbook/l10n next: books/handbook/dtrace --- [[updating-upgrading]] = FreeBSD aktualisieren :doctype: book :toc: macro :toclevels: 1 :icons: font :sectnums: :sectnumlevels: 6 :source-highlighter: rouge :experimental: :skip-front-matter: :table-caption: Tabelle :figure-caption: Abbildung :example-caption: Beispiel :xrefstyle: basic :relfileprefix: ../ :outfilesuffix: :sectnumoffset: 23 ifeval::["{backend}" == "html5"] :imagesdir: ../../../images/books/handbook/cutting-edge/ endif::[] ifeval::["{backend}" == "pdf"] :imagesdir: ../../../../static/images/books/handbook/cutting-edge/ endif::[] ifeval::["{backend}" == "epub3"] :imagesdir: ../../../../static/images/books/handbook/cutting-edge/ endif::[] include::shared/authors.adoc[] include::shared/releases.adoc[] include::shared/de/mailing-lists.adoc[] include::shared/de/teams.adoc[] include::shared/de/urls.adoc[] toc::[] [[updating-upgrading-synopsis]] == Übersicht FreeBSD wird zwischen einzelnen Releases ständig weiter entwickelt. Manche Leute bevorzugen die offiziellen Release-Versionen, während andere wiederum lieber auf dem aktuellen Stand der Entwicklung bleiben möchten. Wie dem auch sei, sogar offizielle Release-Versionen werden oft mit Sicherheitsaktualisierungen und anderen kritischen Fehlerbereinigungen versorgt. Unabhängig von der eingesetzten Version bringt FreeBSD alle nötigen Werkzeuge mit, um das System aktuell zu halten und es innerhalb verschiedener Versionen zu aktualisieren. Dieses Kapitel beschreibt, wie man einem Entwicklungssystem folgen kann, sowie die grundlegenden Werkzeuge um FreeBSD zu aktualisieren. Nachdem Sie dieses Kapitel gelesen haben, werden Sie * wissen, wie das System mit freebsd-update oder Subversion aktualisiert wird. * wissen, wie man das aktuell installierte System mit einer ursprünglichen Version vergleicht. * wissen, wie die installierte Dokumentation mit Subversion oder Dokumentations-Ports aktualisiert wird. * den Unterschied zwischen den beiden Entwicklungszweigen FreeBSD-STABLE und FreeBSD-CURRENT kennen. * wissen, wie das komplette Basissystem neu gebaut und installiert wird. Bevor Sie dieses Kapitel lesen, sollten Sie * das Netzwerk richtig konfiguriert haben (crossref:advanced-networking[advanced-networking,Weiterführende Netzwerkthemen]). * wissen, wie Software Dritter installiert wird (crossref:ports[ports,Installieren von Anwendungen: Pakete und Ports]). [NOTE] ==== In diesem Kapitel wird `svnlite` benutzt, um die FreeBSD Quellen zu beziehen und zu aktualisieren. Alternativ kann auch der Port oder das Paket package:devel/subversion[] installiert werden. ==== [[updating-upgrading-freebsdupdate]] == FreeBSD-Update Das zeitnahe Einspielen von Sicherheitsaktualisierungen und die Aktualisierung des Betriebssystems sind wichtige Aspekte der Systemadministration. FreeBSD enthält das Werkzeug `freebsd-update`, mit dem Sie diese beiden Aufgaben erfüllen können. Dieses Werkzeug ermöglicht die Anwendung von Sicherheitsaktualisierungen im Binärformat auf das FreeBSD Basissystem, ohne dieses neu zu übersetzen und zu installieren. Die Aktualisierungen im Binärformat sind für alle Architekturen und Versionen verfügbar, welche vom FreeBSD Sicherheitsteam unterstützt werden. Eine Liste der unterstützten Versionen und der End-of-Life-Daten ist unter https://www.FreeBSD.org/security/[https://www.FreeBSD.org/security/] aufgeführt. `freebsd-update` unterstützt auch die Aktualisierung des Betriebssystems auf eine neuere Unterversion sowie eine Aktualisierung auf einen anderen Release-Zweig. Bevor Sie auf eine neue Version aktualisieren, sollten Sie die aktuellen Ankündigungen zu dem Release gelesen haben, da diese wichtige Informationen zu dem entsprechenden Release enthalten. Ankündigungen finden Sie unter https://www.FreeBSD.org/releases/[https://www.FreeBSD.org/releases/]. [NOTE] ==== Wenn eine `crontab` existiert, welche die Eigenschaften von man:freebsd-update[8] verwendet, muss diese deaktiviert werden, bevor das Betriebssystem aktualisiert wird. ==== Dieser Abschnitt beschreibt die Verwendung der Konfigurationsdatei von `freebsd-update`. Es wird gezeigt wie Sie Sicherheitsaktualisierungen einspielen, oder wie Sie das Betriebssystem auf neuere Haupt- und Unterversionen aktualisieren können. [[freebsdupdate-config-file]] === Die Konfigurationsdatei In der Regel muss die Konfigurationsdatei von `freebsd-update` nicht bearbeitet werden. Manche Benutzer möchten die Standard-Konfigurationsdatei [.filename]#/etc/freebsd-update.conf# trotzdem anpassen, um bessere Kontrolle über den gesamten Prozess zu besitzen. Die Kommentare in dieser Datei beschreiben die verfügbaren Optionen, jedoch benötigen die folgenden ein paar zusätzliche Erklärungen: [.programlisting] .... # Components of the base system which should be kept updated. Components world kernel .... Dieser Parameter kontrolliert, welche Teile von FreeBSD auf dem aktuellen Stand gehalten werden sollen. In der Voreinstellung wird das gesamte Basissystem sowie der Kernel aktualisiert. Es können auch einzelne Komponenten, wie `src/base` oder `src/sys`, angegeben werden. Die beste Einstellung ist, diese Option so zu belassen, da eine Änderung es bedingt, dass man als Benutzer jede Komponente auflisten muss, die aktualisiert werden soll. Dies könnte katastrophale Folgen nach sich ziehen, da der Quellcode und die Binärdateien dadurch nicht mehr synchron wären. [.programlisting] .... # Paths which start with anything matching an entry in an IgnorePaths # statement will be ignored. IgnorePaths /boot/kernel/linker.hints .... Fügen Sie Pfade wie [.filename]#/bin# oder [.filename]#/sbin# hinzu, um diese speziellen Verzeichnisse während des Aktualisierungsprozesses unberührt zu lassen. Diese Option kann verwendet werden, um zu verhindern, dass `freebsd-update` lokale Änderungen überschreibt. [.programlisting] .... # Paths which start with anything matching an entry in an UpdateIfUnmodified # statement will only be updated if the contents of the file have not been # modified by the user (unless changes are merged; see below). UpdateIfUnmodified /etc/ /var/ /root/ /.cshrc /.profile .... Diese Option aktualisiert nur unmodifizierte Konfigurationsdateien in den angegebenen Verzeichnissen. Jede Änderung, die der Benutzer daran vorgenommen hat, wird die automatische Aktualisierung dieser Dateien verhindern. Es gibt eine weitere Option `KeepModifiedMetadata`, die `freebsd-update` instruiert, die Änderungen während der Zusammenführung zu speichern. [.programlisting] .... # When upgrading to a new FreeBSD release, files which match MergeChanges # will have any local changes merged into the version from the new release. MergeChanges /etc/ /var/named/etc/ /boot/device.hints .... Eine Liste von Verzeichnissen mit Konfigurationsdateien, in denen `freebsd-update` Zusammenführungen versuchen soll. Dieser Verschmelzungsprozess von Dateien ist eine Serie von man:diff[1]-Korrekturen, ähnlich wie man:mergemaster[8], aber mit weniger Optionen. Die Änderungen werden entweder akzeptiert, oder öffnen einen Editor, oder `freebsd-update` bricht ab. Im Zweifelsfall sichern Sie [.filename]#/etc# und akzeptieren einfach die Änderungen. Lesen Sie man:mergemaster[8], um Informationen über `mergemaster` zu erhalten. [.programlisting] .... # Directory in which to store downloaded updates and temporary # files used by FreeBSD Update. # WorkDir /var/db/freebsd-update .... In diesem Verzeichnis werden alle Korrekturen und temporären Dateien abgelegt. Im Falle einer Versionsaktualisierung sollte diesem Verzeichnis mindestens ein Gigabyte Festplattenspeicher zur Verfügung stehen. [.programlisting] .... # When upgrading between releases, should the list of Components be # read strictly (StrictComponents yes) or merely as a list of components # which *might* be installed of which FreeBSD Update should figure out # which actually are installed and upgrade those (StrictComponents no)? # StrictComponents no .... Wenn diese Option auf `yes` gesetzt ist, wird `freebsd-update` annehmen, dass die `Components`-Liste vollständig ist und nicht versuchen, Änderungen ausserhalb dieser Liste zu tätigen. Tatsächlich wird `freebsd-update` versuchen, jede Datei zu aktualisieren, die zu der `Components`-Liste gehört. [[freebsdupdate-security-patches]] === Sicherheitskorrekturen anwenden Das Einspielen von FreeBSD Sicherheitskorrekturen wurde dahingehend vereinfacht, dass der Administrator nun das gesamte System mit `freebsd-update` auf dem aktuellen Stand halten kann. Weitere Informationen zu FreeBSD Sicherheitshinweisen finden Sie in crossref:security[security-advisories,"FreeBSD Sicherheitshinweise"]. Sicherheitskorrekturen für FreeBSD können wie folgt heruntergeladen und installiert werden. Das erste Kommando prüft, ob noch ausstehende Korrekturen verfügbar sind, und wenn dass der Fall ist, zeigt es welche Dateien davon betroffen wären. Das zweite Kommando wird die Korrekturen auf das System anwenden. [source,shell] .... # freebsd-update fetch # freebsd-update install .... Wenn während der Aktualisierung Korrekturen am Kernel angewendet werden, muss das System neu gestartet werden, damit der korrigierte Kernel gebootet wird. Wenn die Korrekturen auf laufende Binärdateien angewendet werden, sollten die betroffenen Anwendungen neu gestartet werden, damit die korrigierte Version der Binärdatei geladen wird. [NOTE] ==== Im Regelfall muss der Benutzer darauf vorbereitet sein, das System neu zu starten. Um herauszufinden, ob ein Neustart durch eine Aktualisierung des Kernels erforderlich ist, führen Sie die Befehle `freebsd-version -k` und `uname -r` aus. Ist die Ausgabe dieser Befehle unterschiedlich, ist ein Neustart des Systems erforderlich. ==== Mit dem folgenden Eintrag in [.filename]#/etc/crontab# wird das System einmal täglich nach Aktualisierungen suchen: [.programlisting] .... @daily root freebsd-update cron .... Wenn Korrekturen existieren, werden diese automatisch heruntergeladen, aber nicht eingespielt. Der `root`-Benutzer bekommt eine Nachricht, damit die Korrekturen überprüft und mit `freebsd-update install` manuell installiert werden können. Wenn etwas schief geht, kann `freebsd-update` den letzten Satz von Änderungen mit folgendem Befehl rückgängig machen: [source,shell] .... # freebsd-update rollback Uninstalling updates... done. .... Wie bereits erwähnt, sollte das System neu gestartet werden, wenn der Kernel oder ein Kernelmodul verändert wurde. Betroffene Anwendungen sollten neu gestartet werden, wenn Binärdateien verändert wurden. Das `freebsd-update`-Werkzeug kann nur den [.filename]#GENERIC#-Kernel automatisch aktualisieren. Wenn ein angepasster Kernel verwendet wird, muss dieser neu erstellt und installiert werden, nachdem `freebsd-update` die Aktualisierungen durchgeführt hat. Der voreingestellte Kernel ist _GENERIC_. Benutzen Sie das Kommando man:uname[1] um dies zu überprüfen. [NOTE] ==== Behalten Sie immer eine Kopie des [.filename]#GENERIC#-Kernels in [.filename]#/boot/GENERIC#. Das wird bei der Diagnose von verschiedenen Problemen sowie bei der Durchführung von Versionsaktualisierungen eine große Hilfe sein. Im <> wird beschrieben, wie Sie eine Kopie des [.filename]#GENERIC#-Kernels bekommen. ==== Solange die Standardkonfiguration in [.filename]#/etc/freebsd-update.conf# nicht geändert wurde, wird `freebsd-update` die aktualisierten Quellcodedateien des Kernels zusammen mit dem Rest der Neuerungen installieren. Die erneute Übersetzung und Installation eines neuen, angepassten Kernels kann dann auf die übliche Art und Weise durchgeführt werden. Die Aktualisierungen, die über `freebsd-update` verteilt werden, betreffen nicht immer den Kernel. Es ist nicht notwendig, den angepassten Kernel neu zu erstellen, wenn die Kernelquellen nicht durch `freebsd-update install` geändert wurden. Allerdings wird `freebsd-update` immer [.filename]#/usr/src/sys/conf/newvers.sh# aktualisieren. Der aktuelle Patch-Level, der mit der `-p`-Nummer bei `uname -r` ausgegeben wird, wird aus dieser Datei ausgelesen. Die Neuinstallation des angepassten Kernels, selbst wenn sich daran nichts geändert hat, erlaubt es `uname`, den aktuellen Patch-Level des Systems korrekt wiederzugeben. Dies ist besonders hilfreich, wenn mehrere Systeme gewartet werden, da es eine schnelle Einschätzung der installierten Aktualisierungen in jedem einzelnen System ermöglicht. [[freebsdupdate-upgrade]] === Aktualisierungen an Haupt- und Unterversionen Aktualisierungen einer Unterversion von FreeBSD zur nächsten Version ist beispielsweise die Aktualisierung von FreeBSD 9.0 auf FreeBSD 9.1. Die Aktualisierung einer Hauptversion ist beispielsweise von FreeBSD 9.X auf FreeBSD 10.X. Beide Arten der Aktualisierungen können durchgeführt werden, indem man `freebsd-update` eine Release-Version als Ziel übergibt. [NOTE] ==== Wenn auf dem System ein angepasster Kernel eingesetzt wird, stellen Sie sicher, dass eine Kopie des [.filename]#GENERIC#-Kernels in [.filename]#/boot/GENERIC# existiert. Im <> wird beschrieben, wie Sie eine Kopie des [.filename]#GENERIC#-Kernels bekommen. ==== Wenn Sie das folgende Kommando auf einem System mit FreeBSD 9.0 ausführen, wird das System auf FreeBSD 9.1 aktualisiert: [source,shell] .... # freebsd-update -r 9.1-RELEASE upgrade .... Nach der Eingabe des Kommandos überprüft `freebsd-update` die Konfigurationsdatei und das aktuelle System, um die nötigen Informationen für die Systemaktualisierung zu sammeln. Eine Bildschirmausgabe wird anzeigen, welche Komponenten erkannt und welche nicht erkannt wurden. Zum Beispiel: [source,shell] .... Looking up update.FreeBSD.org mirrors... 1 mirrors found. Fetching metadata signature for 9.0-RELEASE from update1.FreeBSD.org... done. Fetching metadata index... done. Inspecting system... done. The following components of FreeBSD seem to be installed: kernel/smp src/base src/bin src/contrib src/crypto src/etc src/games src/gnu src/include src/krb5 src/lib src/libexec src/release src/rescue src/sbin src/secure src/share src/sys src/tools src/ubin src/usbin world/base world/info world/lib32 world/manpages The following components of FreeBSD do not seem to be installed: kernel/generic world/catpages world/dict world/doc world/games world/proflibs Does this look reasonable (y/n)? y .... An diesem Punkt wird `freebsd-update` versuchen, alle notwendigen Dateien für die Aktualisierung herunter zu laden. In manchen Fällen wird der Benutzer mit Fragen konfrontiert, um festzustellen, was installiert werden soll oder auf welche Art und Weise fortgesetzt werden soll. Wenn ein angepasster Kernel benutzt wird, produziert der vorherige Schritt eine Warnung ähnlich zu der folgenden: [source,shell] .... WARNING: This system is running a " MYKERNEL" kernel, which is not a kernel configuration distributed as part of FreeBSD 9.0-RELEASE. This kernel will not be updated: you MUST update the kernel manually before running "/usr/sbin/freebsd-update install" .... Diese Warnung kann an dieser Stelle problemlos ignoriert werden. Der aktualisierte [.filename]#GENERIC#-Kernel wird als ein Zwischenschritt im Aktualisierungsprozess verwendet. Nachdem alle Korrekturen auf das lokale System heruntergeladen wurden, werden diese eingespielt. Dieser Prozess kann eine gewisse Zeit in Anspruch nehmen, abhängig von der Geschwindigkeit und Auslastung der Maschine. Konfigurationsdateien werden ebenfalls zusammengefügt. Dieser Teil der Prozedur verlangt einige Benutzereingaben, da eine Datei möglicherweise von Hand zusammengefasst werden muss oder ein Editor erscheint auf dem Bildschirm zum manuellen bearbeiten. Die Ergebnisse von jeder erfolgreichen Zusammenfassung werden dem Benutzer angezeigt, während der Prozess weiter läuft. Eine fehlgeschlagene oder ignorierte Zusammenfassung wird den Prozess sofort beenden. Benutzer sollten eine Sicherung von [.filename]#/etc# anlegen und wichtige Dateien später manuell vereinen, beispielsweise [.filename]#master.passwd# oder [.filename]#group#. [NOTE] ==== Das System ist zu diesem Zeitpunkt noch nicht verändert worden, da alle Korrekturen und Vereinigungen in einem anderen Verzeichnis vorgenommen wurden. Wenn alle Korrekturen erfolgreich eingespielt, alle Konfigurationsdateien zusammengefügt wurden und es den Anschein hat, dass der Prozess problemlos verlaufen wird, müssen die Änderungen vom Anwender noch angewendet und auf die Platte geschrieben werden: [source,shell] .... # freebsd-update install .... ==== Der Kernel und die Module werden zuerst aktualisiert. Wenn das System einen angepassten Kernel verwendet, benutzen Sie man:nextboot[8], um den Kernel für den nächsten Neustart auf [.filename]#/boot/GENERIC# zu setzen: [source,shell] .... # nextboot -k GENERIC .... [WARNING] ==== Bevor das System mit dem [.filename]#GENERIC#-Kernel neu gestartet wird, vergewissern Sie sich, dass für den Neustart alle benötigten Treiber enthalten sind. Falls auf die Maschine aus der Ferne zugegriffen wird, stellen Sie sicher, dass das System ordnungsgemäß an das Netzwerk angeschlossen ist. Achten Sie besonders darauf, dass wenn der angepasste Kernel Funktionalität beinhaltet, die normalerweise von Kernelmodulen zur Verfügung gestellt werden, dass diese temporär über [.filename]#/boot/loader.conf# in den [.filename]#GENERIC#-Kernel übernommen werden. Zudem wird empfohlen, nicht benötigte Dienste, eingehängte Platten und verbundene Netzlaufwerke zu deaktivieren, bis der Aktualisierungsprozess abgeschlossen ist. ==== Die Maschine sollte nun mit dem aktualisierten Kernel neu gestartet werden: [source,shell] .... # shutdown -r now .... Sobald das System wieder hochgefahren ist, muss `freebsd-update` erneut gestartet werden. Da der Zustand des Prozesses zuvor gesichert wurde, wird `freebsd-update` nicht von vorne beginnen, sondern mit der nächsten Phase fortfahren und alle alten Bibliotheken und Objektdateien löschen. [source,shell] .... # freebsd-update install .... [NOTE] ==== Abhängig davon, ob irgendwelche Bibliotheksversionen erhöht wurden, kann es sein, dass nur zwei Installationsphasen anstatt drei durchlaufen werden. ==== Die Aktualisierung ist nun abgeschlossen. Wenn es sich hierbei um eine Aktualisierung auf eine neue Hauptversion handelt, müssen alle Ports und Pakete neu installiert werden. Dieser Vorgang wird in <> beschrieben. [[freebsd-update-custom-kernel-9x]] ==== Angepasste Kernel unter FreeBSD 9.X und später Stellen Sie vor der ersten Benutzung von `freebsd-update` sicher, dass eine Kopie des [.filename]#GENERIC#-Kernels in [.filename]#/boot/GENERIC# existiert. Wenn ein angepasster Kernel erstmalig gebaut wurde, ist der Kernel in [.filename]#/boot/kernel.old# der [.filename]#GENERIC#-Kernel. Benennen Sie dieses Verzeichnis einfach in [.filename]#/boot/GENERIC# um. Wenn bereits mehrfach ein angepasster Kernel gebaut wurde, oder nicht bekannt ist wie oft ein angepasster Kernel gebaut wurde, behalten Sie besser eine Kopie des [.filename]#GENERIC#-Kernels, welcher mit der aktuellen Version des Betriebssystems übereinstimmt. Wenn ein direkter Zugriff auf die Maschine möglich ist, kann eine Kopie des [.filename]#GENERIC#-Kernels von den Installationsmedien installiert werden: [source,shell] .... # mount /cdrom # cd /cdrom/usr/freebsd-dist # tar -C/ -xvf kernel.txz boot/kernel/kernel .... Alternativ kann der [.filename]#GENERIC#-Kernel aus den Quellen neu gebaut und installiert werden: [source,shell] .... # cd /usr/src # make kernel __MAKE_CONF=/dev/null SRCCONF=/dev/null .... Damit dieser Kernel als [.filename]#GENERIC#-Kernel von `freebsd-update` erkannt wird, darf die [.filename]#GENERIC#-Konfigurationsdatei in keiner Weise geändert worden sein. Es wird ebenfalls empfohlen, dass dieser ohne irgendwelche speziellen Optionen erstellt wird. Der Neustart in den [.filename]#GENERIC#-Kernel ist nicht notwendig, da `freebsd-update` lediglich [.filename]#/boot/GENERIC# benötigt. [[freebsdupdate-portsrebuild]] ==== Aktualisierung der Pakete nach einem Upgrade auf eine Hauptversion In der Regel funktionieren nach einer Aktualisierung einer Unterversion die installierten Anwendungen weiterhin problemlos. Neue Hauptversionen verwenden jedoch andere Binärschnittstellen (ABIs), was dazu führt, dass die meisten Anwendungen von Drittherstellern nicht mehr funktionieren. Nach der Aktualisierung auf eine Hauptversion, müssen alle installierten Ports und Pakete aktualisiert werden. Benutzen Sie `pkg upgrade` um Pakte zu aktualisieren. Installierte Ports können Sie mit einem Werkzeug wie package:ports-mgmt/portmaster[] aktualisiert werden. Bei einer erzwungenen Aktualisierung aller installierten Pakete, werden diese durch eine neue Version aus dem Repository ersetzt, sogar dann, wenn sich die Versionsnummer nicht erhöht hat. Dieser Schritt ist erforderlich, da sich die ABI bei einer Aktualisierung der Hauptversion von FreeBSD verändert hat. Eine erzwungene Aktualisierung aller installierten Pakete geschieht wie folgt: [source,shell] .... # pkg-static upgrade -f .... Ein Neubau der installierten Ports führen Sie mit diesem Kommando durch: [source,shell] .... # portmaster -af .... Dieser Befehl wird die Konfigurationen für jede Anwendung anzeigen, und der Benutzer hat die Möglichkeit, die Optionen anzupassen. Wenn Sie ausschließlich die voreingestellten Optionen verwenden möchten, verwenden Sie mit dem obigen Befehl den Parameter `-G`. Sobald dies abgeschlossen ist, beenden Sie den Aktualisierungsprozess mit einem letzten Aufruf von `freebsd-update`. Geben Sie den folgenden Befehl ein, um alle losen Enden des Aktualisierungsprozesses miteinander zu verknüpfen: [source,shell] .... # freebsd-update install .... Wenn der [.filename]#GENERIC#-Kernel temporär Verwendung fand, ist dies der richtige Zeitpunkt, einen neuen, angepassten Kernel nach den Anweisungen in crossref:kernelconfig[kernelconfig,Konfiguration des FreeBSD-Kernels] zu bauen und zu installieren. Booten Sie anschließend die Maschine in die neue FreeBSD-Version. Der Aktualisierungsprozess ist damit abgeschlossen. [[freebsdupdate-system-comparison]] === Vergleich des Systemzustands `freebsd-update IDS` kann verwendet werden, um den Zustand der installierten FreeBSD-Version gegenüber einer bekannten und funktionierenden Kopie zu vergleichen. Dieses Kommando vergleicht die aktuelle Version von Systemwerkzeugen, Bibliotheken sowie Konfigurationsdateien und kann als integriertes Intrusion Detection System (IDS) benutzt werden. [WARNING] ==== Dieses Programm ist kein Ersatz für ein echtes IDS-System wie package:security/snort[]. Da `freebsd-update` Daten auf der Festplatte speichert, ist die Möglichkeit von Verfälschungen offensichtlich. Obwohl diese Möglichkeit durch die Verwendung von `kern.securelevel` oder die Speicherung von Daten auf einem Nur-Lese Dateisystem eingedämmt werden kann, besteht eine bessere Lösung darin, das System gegen ein gesichertes Medium, wie eine DVD oder einen externen, separat aufbewahrten USB-Plattenspeicher, zu vergleichen. Eine alternative Methode zur Bereitstellung von IDS-Funktionaliäten wird in crossref:security[security-ids,"Überprüfung von Binärdateien"] beschrieben. ==== Beginnen Sie den Vergleich, indem Sie das Programm starten und eine Ausgabedatei festlegen: [source,shell] .... # freebsd-update IDS >> outfile.ids .... Das System wird nun überprüft. Dabei wird eine lange Liste von Dateien zusammen mit den SHA256-Hashwerten der Release-Version und den Werten des aktuell installierten Systems, in die angegebene Ausgabedatei geschrieben. Die Zeilen in der Ausgabe sind extrem lang, aber das Ausgabeformat kann einfach verarbeitet werden. Um beispielsweise eine Liste von allen Dateien zu erhalten, die sich vom aktuellen Release unterscheiden, geben Sie das folgende Kommando ein: [source,shell] .... # cat outfile.ids | awk '{ print $1 }' | more /etc/master.passwd /etc/motd /etc/passwd /etc/pf.conf .... Diese Beispielausgabe wurde abgeschnitten, da noch viele weitere Dateien vorhanden sind. Einige Dateien wurden auf natürliche Art verändert. [.filename]#/etc/passwd# wurde beispielsweise geändert, wenn Benutzer zum System hinzugefügt wurden. Kernelmodule können sich unterscheiden, wenn `freebsd-update` diese aktualisiert hat. Um bestimmte Dateien oder Verzeichnisse auszuschließen, fügen Sie diese an die `IDSIgnorePaths`-Option in [.filename]#/etc/freebsd-update.conf# an. [[updating-upgrading-documentation]] == Aktualisieren der Dokumentationssammlung Dokumentation ein wichtiger Bestandteil des FreeBSD Betriebssystems. Obwohl eine aktuelle Version der FreeBSD Dokumentation jederzeit auf der FreeBSD Webseite (link:https://www.FreeBSD.org/doc/[ https://www.freebsd.org/doc/]) verfügbar ist, kann es nützlich sein, eine lokale Kopie der FreeBSD Webseite, Handbücher, FAQ und Artikel zu haben. Dieser Abschnitt beschreibt, wie Sie die FreeBSD Dokumentation über die Quellen oder die FreeBSD Ports-Sammlung aktuell halten. Informationen zum Bearbeiten und Einreichen von Korrekturen finden Sie in der link:/books/fdp-primer[Fibel für neue Mitarbeiter des FreeBSD-Dokumentationsprojekts]. [[updating-installed-documentation]] === Die FreeBSD-Dokumentation aus den Quellen installieren Der Bau der FreeBSD Dokumentation aus den Quellen erfordert einige Werkzeuge, die nicht Teil des Basissystems sind. Die erforderlichen Werkzeuge können über den Port oder das Paket package:textproc/docproj[] installiert werden. Benutzen Sie nach der Installation svnlite, um eine saubere Kopie der Dokumentationsquellen zu holen: [source,shell] .... # svnlite checkout https://svn.FreeBSD.org/doc/head /usr/doc .... Es dauert eine Weile, bis die Quellen das allererste Mal heruntergeladen werden. Lassen Sie den Vorgang laufen, bis es fertig ist. Zukünftige Aktualisierungen der Dokumentationsquellen können wie folgt durchgeführt werden: [source,shell] .... # svnlite update /usr/doc .... Sobald ein aktueller Schnappschuss der Dokumentationsquellen nach [.filename]#/usr/doc# heruntergeladen wurde, ist alles bereit für eine Aktualisierung der bestehenden Dokumentation. Eine komplette Aktualisierung aller Sprachen kann durch folgende Eingabe erreicht werden: [source,shell] .... # cd /usr/doc # make install clean .... Wenn nur eine Aktualisierung einer bestimmten Sprache gewünscht wird, kann `make` in einem sprachspezifischen Unterverzeichnis von [.filename]#/usr/doc# aufgerufen werden: [source,shell] .... # cd /usr/doc/en_US.ISO8859-1 # make install clean .... Alternativ kann der folgende Befehl in [.filename]#/usr/doc# oder einem sprachspezifischen Unterverzeichnis abgesetzt werden, um die Dokumentation zu aktualisieren: [source,shell] .... # make update .... Die zu installierenden Ausgabeformate können durch das Setzen von `FORMATS` angegeben werden: [source,shell] .... # cd /usr/doc # make FORMATS='html html-split' install clean .... Es existieren ein paar Optionen, welche den Prozess der Aktualisierung von Teilen der Dokumentation oder einer bestimmten Übersetzung erleichtern. Diese Optionen können entweder systemweit in [.filename]#/etc/make.conf# gesetzt, oder als Kommandozeilenoptionen an `make` übergeben werden. Zu den Optionen gehören: `DOC_LANG`:: Eine Liste von Sprachen und Kodierungen, die gebaut und installiert werden sollen, z.B. `en_US.ISO8859-1`, um nur die englische Dokumentation zu erhalten. `FORMATS`:: Ein einzelnes Format oder eine Liste von Ausgabeformaten, das gebaut werden soll. Momentan werden `html`, `html-split`, `txt`, `ps` und `pdf` unterstützt. `DOCDIR`:: Wohin die Dokumentation installiert werden soll. Der Standardpfad ist [.filename]#/usr/shared/doc#. Für weitere `make`-Variablen, die als systemweite Optionen in FreeBSD unterstützt werden, lesen Sie man:make.conf[5]. [[doc-ports-install-package]] === Die Dokumentation aus den Ports aktualisieren Im vorherigen Abschnitt wurde eine Methode gezeigt, wie die FreeBSD-Dokumentation aus den Quellen gebaut werden kann. Dieser Abschnitt beschreibt eine alternative Methode, in der die Ports-Sammlung verwendet wird und die es ermöglicht: * vorgefertigte Schnappschüsse der Dokumentation zu installieren, ohne vorher die Werkzeugsammlung der Dokumentation installieren zu müssen. * die Dokumentationsquellen durch das Ports-System erstellen zu lassen, was die Schritte zum Auschecken und Erstellen etwas erleichtert. Diese Methoden der Aktualisierung der FreeBSD-Dokumentation werden durch eine Menge von Dokumentations-Ports und Paketen unterstützt, die von {doceng} monatlich aktualisiert wird. Diese sind in der FreeBSD Ports-Sammlung unter der Kategorie "docs" gelistet (http://www.freshports.org/docs/[ http://www.freshports.org/docs/]). Die Dokumentations-Ports sind wie folgt organisiert: * Das Paket oder der Port package:misc/freebsd-doc-en[] installiert die englische Dokumentation. * Das Paket oder der Port package:misc/freebsd-doc-all[] installiert die komplette Dokumentation in allen verfügbaren Sprachen. * Es gibt noch ein Paket oder einen Port für jede Übersetzung, beispielsweise package:misc/freebsd-doc-hu[] für die ungarische Dokumentation. Wenn Sie Pakete benutzen, wird die FreeBSD-Dokumentation in allen verfügbaren Formaten der jeweiligen Sprache installiert. Das folgende Beispiel wird das aktuelle Paket der ungarischen Dokumentation installieren: [source,shell] .... # pkg install hu-freebsd-doc .... [NOTE] ==== Pakete verwenden ein Format, welches sich von dem Namen des dazugehörigen Ports unterscheidet: `_lang_-freebsd-doc`. _lang_ entspricht hier der Kurzform des Sprachcodes, z.B. `hu` für Ungarisch, oder `zh_cn` für vereinfachtes Chinesisch. ==== Um das Format der Dokumentation zu bestimmen, muss anstelle des Pakets der Port gebaut werden. Das folgende Beispiel baut und installiert die englische Dokumentation: [source,shell] .... # cd /usr/ports/misc/freebsd-doc-en # make install clean .... Der Port enthält ein Konfigurationsmenü, in dem das Format ausgewählt werden kann. In der Voreinstellung sind `html-split` und `pdf` ausgewählt. Alternativ können bei der Erstellung eines Dokumentations-Ports verschiedene `make`-Optionen angegeben werden. Dazu gehören: `WITH_HTML`:: Erstellt das HTML-Format mit einer einzigen HTML-Datei pro Dokument. Die formatierte Dokumentation wird als Datei mit dem Namen [.filename]#article.html# oder [.filename]#book.html# gespeichert. `WITH_PDF`:: Die formatierte Dokumentation wird als Datei mit dem Namen [.filename]#article.pdf# oder [.filename]#book.pdf# gespeichert. `DOCBASE`:: Legt den Pfad fest, wohin die Dokumentation installiert werden soll. Die Voreinstellung ist [.filename]#/usr/local/shared/doc/freebsd#. Dieses Beispiel verwendet Variablen, um die ungarische Dokumentation als PDF in ein bestimmtes Verzeichnis zu installieren: [source,shell] .... # cd /usr/ports/misc/freebsd-doc-hu # make -DWITH_PDF DOCBASE=share/doc/freebsd/hu install clean .... Dokumentations-Ports oder -Pakete können nach den Anweisungen in crossref:ports[ports,Installieren von Anwendungen: Pakete und Ports ] aktualisiert werden. Beispielsweise aktualisiert das folgende Kommando die installierte ungarische Dokumentation mittels package:ports-mgmt/portmaster[] unter Verwendung von Paketen: [source,shell] .... # portmaster -PP hu-freebsd-doc .... [[current-stable]] == Einem Entwicklungszweig folgen FreeBSD besitzt zwei Entwicklungszweige: FreeBSD-CURRENT und FreeBSD-STABLE. Dieser Abschnitt beschreibt beide Zweige sowie deren Interessengruppen und erläutert, wie ein System auf dem aktuellen Stand eines jeweiligen Zweiges gehalten wird. [[current]] === FreeBSD-CURRENT FreeBSD-CURRENT ist die allerneueste Entwicklung von FreeBSD. Benutzer von FreeBSD-CURRENT sollten über sehr gute technische Fähigkeiten verfügen. Benutzer mit weniger technischen Fähigkeiten sollten stattdessen FreeBSD-STABLE benutzen, wenn sie einem Entwicklungszweig folgen möchten. FreeBSD-CURRENT besteht aus den neuesten Quellen des FreeBSD-Systems und enthält Sachen, an denen gerade gearbeitet wird, experimentelle Änderungen und Übergangsmechanismen, die im nächsten offiziellen Release enthalten sein können oder nicht. Obwohl FreeBSD-CURRENT täglich von vielen Entwicklern gebaut wird, gibt es Zeiträume, in denen sich das System vielleicht nicht bauen lässt. Diese Probleme werden so schnell wie möglich behoben, aber ob Sie mit FreeBSD-CURRENT eine Katastrophe erleben oder neue Funktionen erhalten, kann von dem Zeitpunkt abhängen, an dem der Quelltext synchronisiert wurde. FreeBSD-CURRENT wird hauptsächlich für drei Interessengruppen zur Verfügung gestellt: . Mitglieder der FreeBSD Gemeinschaft, die aktiv an einem Teil des Quellbaums arbeiten. . Mitglieder der FreeBSD Gemeinschaft, die aktive Tester sind. Diese Personen sind bereit, Zeit in das Lösen von Problemen zu investieren, Vorschläge zu Änderungen oder der generellen Entwicklung von FreeBSD zu machen und Fehlerkorrekturen einzureichen. . Benutzer, die die Entwicklung im Auge behalten, oder die Quellen zu Referenzzwecken benutzen wollen. Diese Gruppe macht auch Vorschläge oder steuert Quellcode bei. FreeBSD-CURRENT ist _nicht_ der schnellste Weg, neue Funktionen vor dem offiziellen Release auszuprobieren. Bedenken Sie, dass neue Funktionen noch nicht im vollen Umfang getestet wurden und daher höchstwahrscheinlich Fehler enthalten. Es ist auch nicht der schnellste Weg, um an Fehlerbehebungen (engl. bug fixes) zu kommen. Jede Fehlerbehebung führt mit gleicher Wahrscheinlichkeit neue Fehler ein, mit der sie alte behebt. FreeBSD-CURRENT wird in keiner Weise "offiziell unterstützt". Um FreeBSD-CURRENT zu folgen: . Lesen Sie die Mailinglisten {freebsd-current} und {svn-src-head}. Dies ist _notwendig_, um die Kommentare über den akutellen Status des Systems und wichtige Mitteilungen zum aktuellen Zustand von FreeBSD-CURRENT zu erfahren. + Die {svn-src-head} Mailingliste erfasst die Commit-Logs für jede Änderung und enthält alle relevanten Informationen zu möglichen Seiteneffekten. + -Um diese Listen zu abonnieren, besuchen Sie {mailman-lists-url}, klicken Sie auf die gewünschte Liste und folgen Sie den Anweisungen. Wenn Sie die Änderungen am gesamten Quellbaum verfolgen möchten, abonnieren Sie die {svn-src-all} Liste. +Um diese Listen zu abonnieren, besuchen Sie {mailing-lists-url}, klicken Sie auf die gewünschte Liste und folgen Sie den Anweisungen. Wenn Sie die Änderungen am gesamten Quellbaum verfolgen möchten, abonnieren Sie die {svn-src-all} Liste. . Synchronisieren Sie die Quellen für FreeBSD-CURRENT. In der Regel wird crossref:mirrors[svn,svnlite] benutzt, um die Quellen für -CURRENT aus dem Zweig `head` zu laden. Verwenden Sie dazu einen Subversion Spiegel aus crossref:mirrors[svn-mirrors,“Subversion Mirror Sites”]. . Aufgrund der Größe des Repositories ist es empfehlenswert, nur die gewünschten Teilbäume auszuchecken. Wenn Sie die Quellen einsetzen und nicht nur darin lesen wollen, laden Sie sich die _kompletten_ Quellen von FreeBSD-CURRENT und nicht nur ausgesuchte Teile. + Lesen Sie [.filename]#/usr/src/Makefile# sehr aufmerksam und folgen Sie den Anweisungen in <>. Lesen Sie die Mailingliste {freebsd-current} und [.filename]#/usr/src/UPDATING#, um über Änderungen im Installationsverfahren, die manchmal vor der Einführung eines neuen Releases notwendig sind, informiert zu sein. . Seien Sie aktiv! Benutzer von FreeBSD-CURRENT werden aufgefordert ihre Verbesserungsvorschläge oder Fehlerbehebungen einzureichen. Verbesserungsvorschläge, die Code enthalten, sind jederzeit herzlich willkommen. [[stable]] === FreeBSD-STABLE FreeBSD-STABLE ist der Entwicklungszweig, auf dem Releases erstellt werden. Dieser Zweig ändert sich langsamer als FreeBSD-CURRENT und alle Änderungen sollten zuvor in FreeBSD-CURRENT ausgetestet sein. Beachten Sie, dass dies _immer noch_ ein Entwicklungszweig ist und daher zu jedem Zeitpunkt die Quellen von FreeBSD-STABLE verwendbar sein können oder eben auch nicht. FreeBSD-STABLE ist Teil des Entwicklungsprozesses und nicht für Endanwender gedacht. Benutzer, die nicht über die notwendigen Ressourcen zum Testen verfügen, sollten stattdessen ein aktuelles Release von FreeBSD benutzen. Wer daran interessiert ist den Entwicklungsprozess von FreeBSD zu verfolgen oder dazu beizutragen, insbesondere im Hinblick auf das nächste Release, der sollte es in Erwägung ziehen FreeBSD-STABLE zu benutzen. Obwohl wir versuchen sicherzustellen, dass sich FreeBSD-STABLE jederzeit übersetzen lässt und lauffähig ist, können wir dafür keine Garantie übernehmen. Auch wenn Neuentwicklungen in FreeBSD-CURRENT stattfinden, ist es jedoch so, dass mehr Leute FreeBSD-STABLE anstelle von FreeBSD-CURRENT benutzen und es daher unvermeidlich ist, dass Fehler und Grenzfälle erst in FreeBSD-STABLE auffallen. Aus diesen Gründen empfehlen wir, FreeBSD-STABLE _nicht_ blindlings zu benutzen. Um FreeBSD-STABLE zu folgen: . Lesen Sie die Mailingliste {freebsd-stable}, damit Sie über Abhängigkeiten beim Bau von FreeBSD-STABLE und Dinge, die besondere Aufmerksamkeit erfordern, informiert sind. Umstrittene Fehlerbehebungen oder Änderungen werden von den Entwicklern auf dieser Liste bekannt gegeben. Dies erlaubt es den Benutzern, Einwände gegen die vorgeschlagenen Änderungen vorzubringen. + Abonnieren Sie die passende svn-Liste für den jeweiligen Zweig, den Sie verfolgen. Wenn Sie beispielsweise den Zweig 9-STABLE verfolgen, lesen Sie {svn-src-stable-9}. Diese Liste enthält zu jeder Änderung das Commit-Log, das Informationen zu möglichen Seiteneffekten enthält. + -Um diese Listen zu abonnieren, besuchen Sie die Seite {mailman-lists-url}. Klicken Sie auf die gewünschte Liste und folgen Sie den Anweisungen. Wenn Sie daran interessiert sind, Änderungen am gesamten Quellbaum zu verfolgen, abonnieren Sie {svn-src-all}. +Um diese Listen zu abonnieren, besuchen Sie die Seite {mailing-lists-url}. Klicken Sie auf die gewünschte Liste und folgen Sie den Anweisungen. Wenn Sie daran interessiert sind, Änderungen am gesamten Quellbaum zu verfolgen, abonnieren Sie {svn-src-all}. . Wenn Sie ein neues System installieren und dazu einen der monatlich aus FreeBSD-STABLE erzeugten Snapshots verwenden wollen, sollten Sie zuerst link:https://www.FreeBSD.org/snapshots[www.freebsd.org/snapshots"] auf aktuelle Informationen überprüfen. Alternativ können Sie auch das neueste FreeBSD-STABLE-Release von den crossref:mirrors[mirrors,FreeBSD Spiegeln] beziehen. + Um ein bestehendes FreeBSD-System auf FreeBSD-STABLE zu aktualisieren, benutzen Sie crossref:mirrors[svn,svn] um den gewünschten Entwicklungs- oder Release-Zweig auszuchecken. Die Zweige, wie beispielsweise `stable/9`, sind unter link:https://www.FreeBSD.org/releng/[ www.freebsd.org/releng] aufgeführt. . Lesen Sie [.filename]#/usr/src/Makefile# sehr aufmerksam bevor Sie FreeBSD-STABLE aktualisieren und folgen Sie den Anweisungen in <>. Lesen Sie die Mailingliste {freebsd-stable} und [.filename]#/usr/src/UPDATING#, um über Änderungen im Installationsablauf, die manchmal vor der Einführung eines neuen Releases notwendig sind, informiert zu sein. [[makeworld]] == FreeBSD aus den Quellen aktualisieren Das Aktualisieren von FreeBSD aus den Quellen bietet im Vergleich zu binären Updates mehrere Vorteile. Der Quellcode kann mit Optionen gebaut werden, um die Vorteile von spezifischer Hardware zu nutzen. Teile des Basissystems können mit veränderten Einstellungen gebaut, oder falls nicht gewünscht, auch ganz ausgelassen werden. Dieser Prozess dauert zwar länger als die Aktualisierung mit binären Updates, ermöglicht aber eine vollständige Anpassung, um eine individuelle Version von FreeBSD zu erstellen. [[updating-src-quick-start]] === Schnellstartanleitung Diese kurze Referenz zeigt die typischen Schritte um FreeBSD aus den Quellen zu aktualisieren. Spätere Abschnitte beschreiben die Prozedur im Detail. [.procedure] ==== * Aktualisierung und Bauprozess* + [source,shell] .... # svnlite update /usr/src <.> check /usr/src/UPDATING <.> # cd /usr/src <.> # make -j4 buildworld <.> # make -j4 kernel <.> # shutdown -r now <.> # cd /usr/src <.> # make installworld <.> # mergemaster -Ui <.> # shutdown -r now <.> .... <.> Holt die neueste Version der Quellen. <> enthält weitere Informationen zum Aktualisieren und Bauen der Quellen. <.> [.filename]#/usr/src/UPDATING# enthält Anweisungen für alle manuellen Schritte, die vor oder nach dem Bau der Quellen erforderlich sind. <.> Wechsel in das Bauverzeichnis. <.> Bau des Basissystems, mit Ausnahme des Kernels. <.> Bau und Installation des Kernels. Dieser Schritt ist gleichbedeutend mit `make buildkernel installkernel`. <.> Installation des Basissystems. <.> Aktualisierung und Zusammenführung der Konfigurationsdateien in [.filename]#/etc#. <.> Neustart des Systems mit dem neu erstellten Basissystem und Kernel. ==== [[updating-src-preparing]] === Vorbereitungen zum Aktualisieren aus den Quellen Lesen Sie [.filename]#/usr/src/UPDATING#. Jeder manuelle Schritt, welcher vor oder nach der Aktualisierung erforderlich ist, wird in dieser Datei beschrieben. [[updating-src-obtaining-src]] === Den Quellcode aktualisieren Der Quellcode von FreeBSD befindet sich in [.filename]#/usr/src/#. Die bevorzugte Methode zur Aktualisierung dieser Quellen ist über das Versionskontrollsystem Subversion. Sie sollten sicherstellen, dass der Quellcode unter Versionskontrolle steht: [source,shell] .... # svnlite info /usr/src Path: /usr/src Working Copy Root Path: /usr/src ... .... Dies ist ein Hinweis darauf, dass [.filename]#/usr/src/# unter Versionskontrolle steht und mit man:svnlite[1] aktualisiert werden kann. [source,shell] .... # svnlite update /usr/src .... Dieser Vorgang kann einige Zeit in Anspruch nehmen, falls das Verzeichnis nicht zuletzt aktualisiert wurde. Nach Beendigung ist der Quellcode aktuell und der im nächsten Abschnitt beschriebene Bauprozess kann beginnen. [NOTE] ==== *Synchronisation der Quellen* Meldet die Ausgabe `'/usr/src' is not a working copy`, dann fehlen entweder Dateien, oder das Verzeichnis wurde mit einer anderen Methode aktualisiert. Ein erneuter Checkout der Quellen ist jetzt erforderlich. [[updating-src-obtaining-src-repopath]] .FreeBSD Versionen und Repository-Pfade [cols="10%,10%,80%", options="header"] |=== | Ausgabe von uname -r | Repository-Pfad | Beschreibung |`_X.Y_-RELEASE` |`base/releng/__X.Y__` |Die Release-Version inklusive kritischer Sicherheits- und Bugfix-Patches. Dieser Zweig wird für die meisten Benutzer empfohlen. |`_X.Y_-STABLE` |`base/stable/__X__` | Die Release-Version und alle weitere Versionen auf diesem Zweig. _STABLE_ bezieht sich darauf, dass die Binärschnittstelle (ABI) sich nicht ändert, sodass Anwendungen welche auf älteren Versionen erstellt wurden weiterhin lauffähig sind. Eine Anwendung, welche für FreeBSD 10.1 übersetzt wurde, läuft auch auf FreeBSD 10-STABLE. STABLE-Zweige haben gelegentlich Fehler und Inkompatibilitäten, welche den Benutzer beeinträchtigen könnten. In der Regel werden diese Fehler aber zügig behoben. |`_X_-CURRENT` |`base/head/` |Die neueste unveröffentlichte Version von FreeBSD. Der CURRENT-Zweig kann viele Fehler und Inkompatibilitäten enthalten und wird daher nur für fortgeschrittene Benutzer empfohlen. |=== Ermitteln Sie mit man:uname[1] die verwendete FreeBSD-Version: [source,shell] .... # uname -r 10.3-RELEASE .... Basierend auf <> ist `base/releng/10.3` der Repository-Pfad zur Aktualisierung von `10.3-RELEASE`. Dieser Pfad wird beim Auschecken der Quellen benutzt: [source,shell] .... # mv /usr/src /usr/src.bak <.> # svnlite checkout https://svn.freebsd.org/base/releng/10.3 /usr/src <.> .... <.> Verschiebt das alte Verzeichnis. Wenn es keine lokalen Änderungen in diesem Verzeichnis gibt, kann es gelöscht werden. <.> Der Pfad aus <> wird der Repository-URL hinzugefügt. Der dritte Parameter ist das lokale Zielverzeichnis für den Quellcode. ==== [[updating-src-building]] === Den Quellcode bauen Die Welt, also das gesamte Basissystem mit Ausnahme des Kernels, wird zuerst übersetzt, um aktuelle Werkzeuge zum Erstellen des Kernels bereitzustellen. Anschließend wird der Kernel gebaut: [source,shell] .... # cd /usr/src # make buildworld # make buildkernel .... Das Ergebnis wird in [.filename]#/usr/obj# abgelegt. Dies sind die grundlegenden Schritte. Weitere Optionen zur Kontrolle des Bauprozesses sind nachfolgend beschrieben. [[updating-src-building-clean-build]] ==== Umgebung für den Bauprozess säubern Einige Versionen von FreeBSD hinterlassen bereits übersetzten Code im temporären Objektverzeichnis [.filename]#/usr/obj#. Dies kann nachfolgende Bauprozesse beschleunigen, da Code, der nicht verändert wurde, nicht neu übersetzt werden muss. Um eine saubere Umgebung für den Bauprozess zu schaffen, benutzen Sie `cleanworld` bevor Sie mit dem Bau beginnen. [source,shell] .... # make cleanworld .... [[updating-src-building-jobs]] ==== Anzahl der Prozesse einstellen Eine höhere Anzahl an Prozessen kann die Geschwindigkeit auf Mehrprozessor-Systemen verbessern. Die Anzahl der Kerne lässt sich mit `sysctl hw.cpu` bestimmen. Prozessoren variieren ebenso, wie die verschiedenen Build-Systeme von FreeBSD. Sie müssen daher mehrere Versuche starten um zu sehen, wie die Anzahl der Prozesse die Geschwindigkeit beeinflusst. Als Ausgangspunkt können Sie die halbe bis doppelte Anzahl der Kerne als Wert probieren. Die Anzahl der Prozesse wird mit `-j` angegeben. [[updating-src-building-jobs-example]] .Die Anzahl der Prozesse erhöhen [example] ==== Das Basissystem und den Kernel mit vier Prozessen bauen: [source,shell] .... # make -j4 buildworld buildkernel .... ==== [[updating-src-building-only-kernel]] ==== Nur den Kernel erstellen Wenn sich der Quellcode verändert hat, muss ein `buildworld` ausgeführt werden. Danach kann der Kernel mit `buildkernel` übersetzt werden. Um lediglich den Kernel zu übersetzen: [source,shell] .... # cd /usr/src # make buildkernel .... [[updating-src-building-custom-kernel]] ==== Einen angepassten Kernel erstellen Der FreeBSD Standard-Kernel basiert auf einer _Konfigurationsdatei_ namens [.filename]#GENERIC#. Der [.filename]#GENERIC#-Kernel enthält die gängigsten Gerätetreiber und Optionen. Manchmal ist es aber sinnvoll oder gar notwendig, einen angepassten Kernel zu erstellen, um Gerätetreiber oder Optionen hinzuzufügen oder zu entfernen, um bestimmte Anforderungen zu erfüllen. Zum Beispiel könnte jemand, der einen kleinen eingebetteten Rechner mit eingeschränktem RAM entwickelt, nicht benötigte Gerätetreiber oder Optionen entfernen, um den Kernel etwas kleiner zu machen. Die Kernelkonfigurationsdateien befinden sich in [.filename]#/usr/src/sys/arch/conf/#, wobei _arch_ die Ausgabe von `uname -m` ist. Auf den meisten Rechnern ist dies `amd64`, demnach befinden sich die Konfigurationsdateien in [.filename]#/usr/src/sys/amd64/conf/#. [TIP] ==== [.filename]#/usr/src# kann aus Versehen gelöscht oder neu erstellt werden. Daher ist es vorzuziehen, angepasste Kernelkonfigurationsdateien in einen separaten Verzeichnis, wie bspw. [.filename]#/root# zu speichern und diese in das [.filename]#conf#-Verzeichnis zu verlinken. Wenn dieses Verzeichnis gelöscht oder überschrieben wird, kann die Kernelkonfigurationsdatei einfach neu verknüpft werden. ==== Eine benutzerdefinierte Konfigurationsdatei kann durch Kopieren der [.filename]#GENERIC#-Konfigurationsdatei erstellt werden. In diesem Beispiel ist der neue Kernel für einen Speicherserver, heißt also [.filename]#STORAGESERVER#: [source,shell] .... # cp /usr/src/sys/amd64/conf/GENERIC /root/STORAGESERVER # cd /usr/src/sys/amd64/conf # ln -s /root/STORAGESERVER . .... Jetzt kann [.filename]#/root/STORAGESERVER# bearbeitet werden. Die Manualpage man:config[5] zeigt, wie Treiber und Optionen hinzugefügt oder entfernt werden. Der angepasste Kernel wird mit der Variablen `KERNCONF`, die auf die Kernelkonfigurationsdatei verweist, übersetzt: [source,shell] .... # make buildkernel KERNCONF=STORAGESERVER .... [[updating-src-installing]] === Installation des Codes Nachdem die Schritte `buildworld` und `buildkernel` abgeschlossen sind, wird der neue Kernel und die Welt installiert: [source,shell] .... # cd /usr/src # make installkernel # shutdown -r now # cd /usr/src # make installworld # shutdown -r now .... Wenn ein angepasster Kernel erstellt wurde, muss zusätzlich die Variable `KERNCONF` gesetzt werden: [source,shell] .... # cd /usr/src # make installkernel KERNCONF=STORAGESERVER # shutdown -r now # cd /usr/src # make installworld # shutdown -r now .... [[updating-src-completing]] === Die Aktualisierung abschließen Ein paar abschließende Aufgaben beenden die Aktualisierung. Alle Konfigurationsdateien werden mit den neuen Versionen zusammengeführt, veraltete Bibliotheken werden entfernt, dann wird das System neu gestartet. [[updating-src-completing-merge-mergemaster]] ==== Konfigurationsdateien mit man:mergemaster[8] zusammenführen man:mergemaster[8] bietet einen einfachen Weg, um die Konfigurationsdateien des Systems mit den neuen Versionen dieser Dateien zusammenzuführen. Mit der Option `-Ui` aktualisiert man:mergemaster[8] automatisch Dateien, welche nicht vom Benutzer verändert wurden und installiert neue Dateien, die noch nicht vorhanden sind: [source,shell] .... # mergemaster -Ui .... Wenn eine Datei manuell zusammengeführt werden muss, erlaubt eine interaktive Anzeige, zu wählen, welche Teile der Dateien beibehalten werden. Die Manualpage man:mergemaster[8] enthält weitere Informationen. [[updating-src-completing-check-old]] ==== Veraltete Dateien und Bibliotheken entfernen Nach einer Aktualisierung können sich immer noch veraltete Dateien und Verzeichnisse im System befinden. Diese lassen sich mit folgendem Kommando auflisten: [source,shell] .... # make check-old .... und löschen: [source,shell] .... # make delete-old .... Einige veraltete Bibliotheken können ebenfalls noch vorhanden sein. Diese werden mit folgenden Kommando aufgelistet: [source,shell] .... # make check-old-libs .... und wie folgt gelöscht: [source,shell] .... # make delete-old-libs .... Programme, die diese alten Bibliotheken noch verwenden, werden nicht mehr funktionieren, wenn die Bibliothek gelöscht wurde. Diese Programme müssen nach dem Löschen der alten Bibliotheken neu gebaut oder ersetzt werden. [TIP] ==== Wenn Sie sich sicher sind, dass alle Dateien und Verzeichnisse gelöscht werden können, dann setzen Sie `BATCH_DELETE_OLD_FILES`, um nicht jede einzelne Datei mit kbd:[y] und kbd:[Enter] bestätigen zu müssen. Zum Beispiel: [source,shell] .... # make BATCH_DELETE_OLD_FILES=yes delete-old-libs .... ==== [[updating-src-completing-restart]] ==== Neustart des Systems Zum Abschluss der Aktualisierung muss das System neu gestartet werden, damit alle Änderungen wirksam werden: [source,shell] .... # shutdown -r now .... [[small-lan]] == Installation mehrerer Maschinen Wenn Sie mehrere Maschinen auf dem gleichen Stand halten wollen, ist es eine Verschwendung von Ressourcen, die Quellen auf jeder Maschine vorzuhalten und zu übersetzen. Die Lösung dazu ist, eine Maschine den Großteil der Arbeit durchführen zu lassen und den anderen Maschinen das Ergebnis mit NFS zur Verfügung zu stellen. Dieser Abschnitt zeigt eine Methode dies zu tun. Weitere Informationen zu NFS finden Sie in crossref:network-servers[network-nfs,"Network File System (NFS)"]. Stellen Sie zuerst eine Liste der Maschinen zusammen, die auf demselben Stand sein sollen. Wir nennen diese Maschinen die _Baugruppe_. Jede dieser Maschinen kann mit einem eigenen Kernel laufen, doch sind die Programme des Userlands auf allen Maschinen gleich. Wählen Sie aus der Baugruppe eine Maschine aus, auf der der Bau durchgeführt wird, den _Bau-Master_. Dies sollte eine Maschine sein, die über die nötigen CPU-Ressourcen für `make buildworld` und `make installworld` verfügt. Sie brauchen auch eine _Testmaschine_, auf der Sie die Updates testen, bevor Sie sie in Produktion installieren. Dies _muss_ eine Maschine sein, die über einen längeren Zeitraum nicht zur Verfügung stehen kann. Alle Maschinen der Baugruppe müssen [.filename]#/usr/obj# und [.filename]#/usr/src# über NFS vom Bau-Master an gleichem Ort einhängen. Wenn Sie mehrere Baugruppen haben, sollte sich [.filename]#/usr/src# auf einem Bau-Master befinden und über NFS für den Rest der Maschinen zur Verfügung gestellt werden. Stellen Sie sicher, dass [.filename]#/etc/make.conf# und [.filename]#/etc/src.conf# auf allen Maschinen einer Baugruppe mit der Datei des Bau-Masters übereinstimmt. Der Bau-Master muss jeden Teil des Systems bauen, den irgendeine Maschine der Baugruppe benötigt. Auf dem Bau-Master müssen in [.filename]#/etc/make.conf# alle zu bauenden Kernel mit der Variablen `KERNCONF` bekannt gegeben werden. Geben Sie dabei den Kernel des Bau-Masters zuerst an. Für jeden zu bauenden Kernel muss auf dem Bau-Master die entsprechende Konfigurationsdatei unter [.filename]#/usr/src/sys/arch/conf# abgelegt werden. Bauen Sie auf dem Bau-Master, wie in <> beschrieben, den Kernel und die Welt, installieren Sie aber nichts. Wechseln Sie auf die Testmaschine und installieren Sie den gerade gebauten Kernel. Hängen Sie auf der Testmaschine [.filename]#/usr/src# und [.filename]#/usr/obj# über NFS ein. Geben Sie dann `shutdown now` ein, um in den Single-User-Modus zu gelangen, von wo aus Sie den neuen Kernel und das System installieren. Lassen Sie anschließend `mergemaster` laufen. Wenn Sie fertig sind, booten Sie die Maschine wieder in den Mehrbenutzermodus. Nachdem Sie sichergestellt haben, dass die Testmaschine einwandfrei funktioniert, wiederholen Sie diese Prozedur für jede Maschine in der Baugruppe. Dasselbe Verfahren können Sie auch für die Ports-Sammlung anwenden. Zuerst müssen alle Maschinen einer Baugruppe [.filename]#/usr/ports# über NFS zur Verfügung gestellt bekommen. Setzen Sie ein Verzeichnis für die Quellen auf, das sich alle Maschinen teilen. Dieses Verzeichnis können Sie in [.filename]#/etc/make.conf# mit der Variablen `DISTDIR` angeben. Das Verzeichnis sollte für den Benutzer beschreibbar sein, auf den der Benutzer `root` vom NFS Subsystem abgebildet wird. Jede Maschine sollte noch `WRKDIRPREFIX` auf ein lokales Bauverzeichnis setzen. Wenn Sie vorhaben, Pakete zu bauen und zu verteilen, sollten Sie `PACKAGES` auf ein Verzeichnis mit den gleichen Eigenschaften wie `DISTDIR` setzen. diff --git a/documentation/content/de/books/handbook/eresources/_index.adoc b/documentation/content/de/books/handbook/eresources/_index.adoc index 20e72df12c..52ca92dbb1 100644 --- a/documentation/content/de/books/handbook/eresources/_index.adoc +++ b/documentation/content/de/books/handbook/eresources/_index.adoc @@ -1,1126 +1,1126 @@ --- title: Anhang C. Ressourcen im Internet part: Teil V. Anhang prev: books/handbook/bibliography next: books/handbook/pgpkeys --- [appendix] [[eresources]] = Ressourcen im Internet :doctype: book :icons: font :sectnums: :sectnumlevels: 6 :source-highlighter: rouge :experimental: :skip-front-matter: :table-caption: Tabelle :figure-caption: Abbildung :example-caption: Beispiel :xrefstyle: basic :relfileprefix: ../ :outfilesuffix: :sectnumoffset: C include::shared/mirrors.adoc[] include::shared/authors.adoc[] include::shared/releases.adoc[] include::shared/de/mailing-lists.adoc[] include::shared/de/teams.adoc[] include::shared/de/urls.adoc[] Gedruckte Medien können mit der schnellen Entwicklung von FreeBSD nicht Schritt halten. Elektronische Medien sind häufig die einzige Möglichkeit, über aktuelle Entwicklungen informiert zu sein. Da FreeBSD ein Projekt von Freiwilligen ist, gibt die Benutzergemeinde selbst auch technische Unterstützung. Die Benutzergemeinde erreichen Sie am besten über E-Mail, Internetforen oder Usenet-News. Die wichtigsten Wege, auf denen Sie die FreeBSD-Benutzergemeinde erreichen können, sind unten dargestellt. Schicken Sie weitere Ressourcen, die hier fehlen, an die Mailingliste des {freebsd-doc}, damit diese hier aufgenommen werden können. [[eresources-www]] == Webseiten * https://forums.FreeBSD.org/[Die FreeBSD Foren] dienen als webbasiertes Diskussionsforum für Fragen und technische Diskussionen zu FreeBSD. * Der http://www.youtube.com/bsdconferences[BSDConferences YouTube-Kanal] beinhaltet eine Sammlung von qualitativ hochwertigen Videos von BSD Konferenzen aus der ganzen Welt. Dies ist eine ausgezeichnete Art und Weise, den Entwicklern beim Präsentieren von neuen Arbeiten an FreeBSD zuzuschauen. [[eresources-mail]] == Mailinglisten Die Mailinglisten sind der direkteste Weg, um Fragen an das gesamte FreeBSD Publikum zu stellen oder eine technische Diskussion zu beginnen. Es existiert eine große Vielfalt von Listen mit einer Reihe von verschiedenen FreeBSD Themen. Wenn Sie Fragen an die richtige Mailingliste richten können Sie viel eher mit einer passenden Antwort darauf rechnen. Die Chartas der verschiedenen Listen sind unten wiedergegeben. _Bevor Sie sich einer Mailingliste anschließen oder E-Mails an eine Liste senden, lesen Sie bitte die Charta der Liste._ Die meisten Mitglieder der Mailinglisten erhalten jeden Tag Hunderte E-Mails zum Thema FreeBSD. Die Chartas und Regeln, die den Gebrauch der Listen beschreiben, garantieren die hohe Qualität der Listen. Die Listen würden ihren hohen Wert für das Projekt verlieren, wenn wir weniger Regeln aufstellen würden. [NOTE] ==== _Um zu testen, ob Sie eine Nachricht an eine FreeBSD-Liste senden können, verwenden Sie bitte die Liste {freebsd-test}._ Schicken Sie derartige Nachrichten bitte nicht an eine der anderen Listen. ==== Wenn Sie Sich nicht sicher sind, auf welcher Liste Sie Ihre Frage stellen sollen, sollten Sie den Artikel link:{freebsd-questions-article}[ How to get best results from the FreeBSD-questions mailing list] lesen. Bevor Sie eine Nachricht an eine Mailingliste senden, sollten Sie die korrekte Nutzung der Mailinglisten erlernen. Dazu gehört auch das Vermeiden von sich häufig wiederholenden Diskussionen (lesen Sie deshalb zuerst die link:{mailing-list-faq}[ Mailing List Frequently Asked Questions]). Alle Mailinglisten werden archiviert und können auf dem link:https://www.FreeBSD.org/search/[FreeBSD World Wide Web Server] durchsucht werden. Das nach Schlüsselwörtern durchsuchbare Archiv bietet die hervorragende Möglichkeit, Antworten auf häufig gestellte Fragen zu finden. Nutzen Sie bitte diese Möglichkeit, bevor Sie Fragen auf einer Liste stellen. Beachten Sie auch, dass das zur Folge hat, dass die Nachrichten an die FreeBSD Mailinglisten für die Ewigkeit erhalten bleiben. Wenn Sie am Schutz Ihrer Privatsphäre interessiert sind, ziehen Sie die Verwendung einer Wegwerf-E-Mail-Adresse in Betracht und schreiben Sie nur solche Nachrichten, die für die Öffentlichkeit bestimmt sind. [[eresources-summary]] === Beschreibung der Mailinglisten _Allgemeine Listen:_ Jeder kann die folgenden allgemeinen Listen abonnieren (und ist dazu aufgefordert): [.informaltable] [cols="1,1", frame="none", options="header"] |=== | Mailingliste | Zweck |link:{freebsd-advocacy-url}[freebsd-advocacy] |Verbreitung von FreeBSD |{freebsd-announce} |Wichtige Ereignisse und Meilensteine des Projekts (moderiert) |link:{freebsd-arch-url}[freebsd-arch] |Architektur und Design von FreeBSD |link:{freebsd-bugbusters-url}[freebsd-bugbusters] |Diskussionen über die Pflege der FreeBSD Fehlerberichte-Datenbank und die dazu benutzten Werkzeuge |link:{freebsd-bugs-url}[freebsd-bugs] |Fehlerberichte |link:{freebsd-chat-url}[freebsd-chat] |Nicht technische Themen, welche die FreeBSD-Gemeinschaft betreffen |link:{freebsd-chromium-url}[freebsd-chromium] |Diskussionen zum Einsatz von Chromium unter FreeBSD |{freebsd-current} |Gebrauch von FreeBSD-CURRENT |link:{freebsd-isp-url}[freebsd-isp] |Für Internet-Service-Provider, die FreeBSD benutzen |link:{freebsd-jobs-url}[freebsd-jobs] |Anstellung und Beratung im FreeBSD-Umfeld |link:{freebsd-quarterly-calls-url}[freebsd-quarterly-calls] |Aufrufe für vierteljährliche Statusberichte (moderiert) |link:{freebsd-questions-url}[freebsd-questions] |Benutzerfragen und technische Unterstützung |{freebsd-security-notifications} |Ankündigungen zum Thema Sicherheit (moderiert) |{freebsd-stable} |Gebrauch von FreeBSD-STABLE |{freebsd-test} |Schicken Sie Testnachrichten an diese Liste anstelle der wirklichen Listen |link:{freebsd-women-url}[freebsd-women] |FreeBSD Befürwortung von Frauen |=== _Technische Listen:_ Auf den folgenden Listen werden technische Diskussionen geführt. Bevor Sie eine der Listen abonnieren oder Nachrichten an sie schicken, lesen Sie sich die Charta der Liste durch, da der Inhalt und Zweck dieser Listen genau festgelegt ist. [.informaltable] [cols="1,1", frame="none", options="header"] |=== | Mailingliste | Zweck |{freebsd-acpi} |Entwicklung von ACPI |link:{freebsd-amd64-url}[freebsd-amd64] |Portierung von FreeBSD auf AMD64-Systeme (moderiert) |link:{freebsd-apache-url}[freebsd-apache] |Diskussion über Ports, die mit Apache zusammenhängen. |link:{freebsd-arm-url}[freebsd-arm] |Portierung von FreeBSD auf ARM(R)-Prozessoren |link:{freebsd-atm-url}[freebsd-atm] |Benutzung von ATM-Netzen mit FreeBSD |link:{freebsd-bluetooth-url}[freebsd-bluetooth] |Bluetooth(R) unter FreeBSD verwenden |link:{freebsd-cloud-url}[freebsd-cloud] |FreeBSD auf Cloud-Plattformen (EC2, GCE, Azure, etc.) |link:{freebsd-cluster-url}[freebsd-cluster] |Benutzung von FreeBSD in einem Cluster |link:{freebsd-database-url}[freebsd-database] |Diskussion über Datenbanken und Datenbankprogrammierung unter FreeBSD |link:{freebsd-desktop-url}[freebsd-desktop] |FreeBSD als Desktop verwenden und verbessern |link:{dev-ci-url}[dev-ci] |Build- und Testberichte von den Continuous Integration Servern |link:{dev-reviews-url}[dev-reviews] |Benachrichtigungen über das Review-System von FreeBSD |link:{freebsd-doc-url}[freebsd-doc] |Erstellen der FreeBSD-Dokumentation |link:{freebsd-drivers-url}[freebsd-drivers] |Gerätetreiber für FreeBSD schreiben |link:{freebsd-dtrace-url}[freebsd-dtrace] |Entwicklung und Benutzung von DTrace unter FreeBSD |link:{freebsd-eclipse-url}[freebsd-eclipse] |Für FreeBSD-Anwender, welche die Eclipse IDE, deren Werkzeuge, Anwendungen und Ports einsetzen |link:{freebsd-elastic-url}[freebsd-elastic] |Diskussion zu ElasticSearch unter FreeBSD |link:{freebsd-embedded-url}[freebsd-embedded] |FreeBSD in eingebetteten Anwendungen einsetzen |link:{freebsd-emulation-url}[freebsd-emulation] |Emulation anderer Systeme wie Linux(R), MS-DOS(R) oder Windows(R) |link:{freebsd-enlightenment-url}[freebsd-enlightenment] |Portierung von Enlightenment und Enlightenment-Applikationen |link:{freebsd-eol-url}[freebsd-eol] |Support für FreeBSD-bezogene Software, die vom FreeBSD Project offiziell nicht mehr unterstützt wird. |link:{freebsd-erlang-url}[freebsd-erlang] |FreeBSD-spezifische Erlang-Diskussionen |link:{freebsd-firewire-url}[freebsd-firewire] |Technische Diskussion über FreeBSD FireWire(R) (iLink, IEEE 1394) |link:{freebsd-fortran-url}[freebsd-fortran] |Fortran unter FreeBSD |link:{freebsd-fs-url}[freebsd-fs] |Dateisysteme |link:{freebsd-games-url}[freebsd-games] |Unterstützung für Spiele unter FreeBSD |link:{freebsd-gecko-url}[freebsd-gecko] |Angelegenheiten zur Gecko Rendering Engine |link:{freebsd-geom-url}[freebsd-geom] |Diskussion über GEOM |link:{freebsd-git-url}[freebsd-git] |Diskussionen zur Verwendung von git im FreeBSD Project |link:{freebsd-gnome-url}[freebsd-gnome] |Portierung von GNOME und GNOME-Anwendungen |link:{freebsd-hackers-url}[freebsd-hackers] |Allgemeine technische Diskussionen |link:{freebsd-haskell-url}[freebsd-haskell] |FreeBSD-spezifische Haskell-Themen und Diskussionen |link:{freebsd-hardware-url}[freebsd-hardware] |Allgemeine Diskussion über Hardware, auf der FreeBSD läuft |link:{freebsd-i18n-url}[freebsd-i18n] |Internationalisierung von FreeBSD |link:{freebsd-infiniband-url}[freebsd-infiniband] |Infiniband unter FreeBSD |link:{freebsd-ipfw-url}[freebsd-ipfw] |Technische Diskussion über die Neubearbeitung der IP-Firewall Quellen |link:{freebsd-isdn-url}[freebsd-isdn] |Für Entwickler des ISDN-Systems |link:{freebsd-java-url}[freebsd-java] |Für Java(TM) Entwickler und Leute, die JDK(TM)s nach FreeBSD portieren |link:{freebsd-kde-url}[freebsd-kde] |Portierung von KDE und KDE-Anwendungen |link:{freebsd-lfs-url}[freebsd-lfs] |Portierung von LFS nach FreeBSD |link:{freebsd-mips-url}[freebsd-mips] |Portierung von FreeBSD zu MIPS(R) |link:{freebsd-mono-url}[freebsd-mono] |Mono und C# Anwendungen auf FreeBSD |{freebsd-multimedia} |Multimedia Anwendungen |link:{freebsd-new-bus-url}[freebsd-new-bus] |Technische Diskussionen über die Architektur von Bussen |link:{freebsd-net-url}[freebsd-net] |Diskussion über Netzwerke und den TCP/IP Quellcode |link:{freebsd-numerics-url}[freebsd-numerics] |Diskussionen über die Implementierung hochwertiger Funktionen in libm |link:{freebsd-ocaml-url}[freebsd-ocaml] |FreeBSD-spezifische Diskussionen zu OCaml |link:{freebsd-office-url}[freebsd-office] |Office-Anwendungen für FreeBSD |link:{freebsd-performance-url}[freebsd-performance] |Fragen zur Optimierung der Leistung stark ausgelasteter Systeme |link:{freebsd-perl-url}[freebsd-perl] |Pflege der portierten Perl-Anwendungen. |link:{freebsd-pf-url}[freebsd-pf] |Diskussionen und Fragen zu packet filter als Firewallsystem. |link:{freebsd-pkg-url}[freebsd-pkg] |Diskussionen über die Verwaltung von Binärpaketen und entsprechenden Werkzeugen |link:{freebsd-pkg-fallout-url}[freebsd-pkg-fallout] |Protokolle von fehlgeschlagenen Paketbauvorgängen |link:{freebsd-pkgbase-url}[freebsd-pkgbase] |Paketierung des FreeBSD-Basissystems |link:{freebsd-platforms-url}[freebsd-platforms] |Portierungen von FreeBSD auf nicht-Intel(R) Architekturen |link:{freebsd-ports-url}[freebsd-ports] |Diskussion über die Ports-Sammlung |link:{freebsd-ports-announce-url}[freebsd-ports-announce] |Wichtige Neuigkeiten und Anweisungen zur Ports-Sammlung (moderiert) |link:{freebsd-ports-bugs-url}[freebsd-ports-bugs] |Diskussion über Fehler und PRs der Ports |link:{freebsd-ppc-url}[freebsd-ppc] |Portierung von FreeBSD auf den PowerPC(R) |link:{freebsd-proliant-url}[freebsd-proliant] |Technische Diskussionen zum Einsatz von FreeBSD auf HP ProLiant-Serverplattformen |link:{freebsd-python-url}[freebsd-python] |FreeBSD-spezifische Diskussionen zu Python |link:{freebsd-rc-url}[freebsd-rc] |Diskussion über das [.filename]#rc.d#-System sowie dessen Weiterentwicklung |link:{freebsd-realtime-url}[freebsd-realtime] |Entwicklung von Echtzeiterweiterungen für FreeBSD |link:{freebsd-riscv-url}[freebsd-riscv] |Portierung von FreeBSD auf RISC-V(R)-Systeme |link:{freebsd-ruby-url}[freebsd-ruby] |FreeBSD-spezifische Diskussionen zu Ruby |link:{freebsd-scsi-url}[freebsd-scsi] |Diskussion über das SCSI-Subsystem |{freebsd-security} |Sicherheitsthemen |link:{freebsd-snapshots-url}[freebsd-snapshots] |Ankündigungen für FreeBSD Entwickler-Snapshots |link:{freebsd-sparc64-url}[freebsd-sparc64] |Portierung von FreeBSD auf SPARC(R) Systeme |link:{freebsd-standards-url}[freebsd-standards] |Konformität von FreeBSD mit den C99- und POSIX(R)-Standards |link:{freebsd-sysinstall-url}[freebsd-sysinstall] |man:sysinstall[8] Entwicklung |link:{freebsd-tcltk-url}[freebsd-tcltk] |FreeBSD spezifische Tcl/TK Diskussionen |link:{freebsd-testing-url}[freebsd-testing] |Tests unter FreeBSD |link:{freebsd-tex-url}[freebsd-tex] |Portierung von TeX und dessen Anwendungen nach FreeBSD |link:{freebsd-threads-url}[freebsd-threads] |Leichtgewichtige Prozesse (Threads) in FreeBSD |link:{freebsd-tilera-url}[freebsd-tilera] |Diskussionen zur Portierung von FreeBSD auf die Tilera-CPU-Familie |link:{freebsd-tokenring-url}[freebsd-tokenring] |Token-Ring Unterstützung in FreeBSD |link:{freebsd-toolchain-url}[freebsd-toolchain] |Wartung der FreeBSD-Toolchain |link:{freebsd-translators-url}[freebsd-translators] |Übersetzung von FreeBSD-Dokumenten und Programmen. |link:{freebsd-transport-url}[freebsd-transport] |Diskussion über Transportprotokolle in FreeBSD |link:{freebsd-usb-url}[freebsd-usb] |USB-Unterstützung in FreeBSD |link:{freebsd-virtualization-url}[freebsd-virtualization] |Diskussion über verschiedene Virtualisierungsverfahren, die von FreeBSD unterstützt werden |link:{freebsd-vuxml-url}[freebsd-vuxml] |Diskussion über die Infrastruktur von VuXML |link:{freebsd-x11-url}[freebsd-x11] |Wartung und Unterstützung von X11 auf FreeBSD |link:{freebsd-xen-url}[freebsd-xen] |Diskussionen über die FreeBSD Portierung auf Xen(TM) - Implementierung und Verwendung |link:{freebsd-xfce-url}[freebsd-xfce] |Portierung und Wartung von XFCE |link:{freebsd-zope-url}[freebsd-zope] |Zope für FreeBSD - Portierung und Wartung |=== _Eingeschränkte Listen:_ Die folgenden Listen wenden sich an Zielgruppen mit speziellen Anforderungen und sind nicht für die Öffentlichkeit gedacht. Bevor Sie eine dieser Listen abonnieren, sollten Sie einige der technischen Listen abonniert haben, um mit den Umgangsformen vertraut zu sein. [.informaltable] [cols="1,1", frame="none", options="header"] |=== | Mailingliste | Zweck |link:{freebsd-hubs-url}[freebsd-hubs] |Betrieb von FreeBSD-Spiegeln |link:{freebsd-user-groups-url}[freebsd-user-groups] |Koordination von Benutzergruppen |link:{freebsd-wip-status-url}[freebsd-wip-status] |Status von in Arbeit befindlichen FreeBSD-Tätigkeiten |link:{freebsd-wireless-url}[freebsd-wireless] |Diskussionen zum 802.11-Stack sowie zur Entwicklung von Tools und Gerätetreibern |=== _Zusammenfassungen:_ Alle eben aufgezählten Listen sind auch in zusammengefasster Form (digest) erhältlich. In den Einstellungen Ihres Accounts legen Sie fest, in welcher Form Sie die Listen empfangen. _SVN Listen:_ Die folgenden Listen versenden die Log-Einträge zu Änderungen an verschiedenen Teilen des Quellbaums. Diese Listen sollen _nur gelesen_ werden, schicken Sie bitte keine Nachrichten an eine der Listen. [.informaltable] [cols="1,1,1", frame="none", options="header"] |=== | Mailingliste | Teil des Quellbaums | Beschreibung |link:{svn-doc-all-url}[svn-doc-all] |[.filename]#/usr/doc# |Änderungen im doc Subversion Repository (mit Ausnahme von [.filename]#user#, [.filename]#projects# und [.filename]#translations#) |link:{svn-doc-head-url}[svn-doc-head] |[.filename]#/usr/doc# |Änderungen im "head"-Zweig des doc Subversion Repository |link:{svn-doc-projects-url}[svn-doc-projects] |[.filename]#/usr/doc/projects# |Änderungen im [.filename]#projects#-Bereich des doc Subversion Repository |link:{svn-doc-svnadmin-url}[svn-doc-svnadmin] |[.filename]#/usr/doc# |Änderungen an den administrativen Skripten, Hooks und anderen Konfigurationsdateien des doc Subversion Repository |link:{svn-ports-all-url}[svn-ports-all] |[.filename]#/usr/ports# |Alle Änderungen des ports Subverison Repository |link:{svn-ports-head-url}[svn-ports-head] |[.filename]#/usr/ports# |Änderungen im "head"-Zweig des ports Subversion Repository |link:{svn-ports-svnadmin-url}[svn-ports-svnadmin] |[.filename]#/usr/ports# |Änderungen an den administrativen Skripten, Hooks und anderen Konfigurationsdateien des ports Subversion Repository |{svn-src-all} |[.filename]#/usr/src# |Änderungen im src Subversion Repository (außer für [.filename]#user# und [.filename]#projects#) |{svn-src-head} |[.filename]#/usr/src# |Änderungen im "head" Zweig des src Subversion Repository (der FreeBSD-CURRENT Zweig) |link:{svn-src-projects-url}[svn-src-projects] |[.filename]#/usr/projects# |Änderungen im [.filename]#projects# Bereich des src Subversion Repository |link:{svn-src-release-url}[svn-src-release] |[.filename]#/usr/src# |Änderungen im [.filename]#releases# Bereich des src Subversion Repository |link:{svn-src-releng-url}[svn-src-releng] |[.filename]#/usr/src# |Änderungen im [.filename]#releng# Zweig des src Subversion Repository (der security / release engineering Zweige) |link:{svn-src-stable-url}[svn-src-stable] |[.filename]#/usr/src# |Änderungen an allen stable Zweigen des src Subversion Repository |link:{svn-src-stable-6-url}[svn-src-stable-6] |[.filename]#/usr/src# |Änderungen im [.filename]#stable/6# Zweig des src Subversion Repository |link:{svn-src-stable-7-url}[svn-src-stable-7] |[.filename]#/usr/src# |Änderungen im [.filename]#stable/7# Zweig des src Subversion Repository |link:{svn-src-stable-8-url}[svn-src-stable-8] |[.filename]#/usr/src# |Änderungen im [.filename]#stable/8# Zweig des src Subversion Repository |{svn-src-stable-9} |[.filename]#/usr/src# |Änderungen im [.filename]#stable/9# Zweig des src Subversion Repository |link:{svn-src-stable-10-url}[svn-src-stable-10] |[.filename]#/usr/src# |Änderungen im [.filename]#stable/10# Zweig des src Subversion Repository |link:{svn-src-stable-11-url}[svn-src-stable-11] |[.filename]#/usr/src# |Änderungen im [.filename]#stable/11# Zweig des src Subversion Repository |link:{svn-src-stable-12-url}[svn-src-stable-12] |[.filename]#/usr/src# |Änderungen im [.filename]#stable/12# Zweig des src Subversion Repository |link:{svn-src-stable-other-url}[svn-src-stable-other] |[.filename]#/usr/src# |Änderungen an älteren [.filename]#stable# Zweigen des src Subversion Repository |link:{svn-src-svnadmin-url}[svn-src-svnadmin] |[.filename]#/usr/src# |Änderungen an den administrativen Skripten, hooks, und anderen Daten zur Konfiguration des src Subversion Repository |link:{svn-src-user-url}[svn-src-user] |[.filename]#/usr/src# |Änderungen am experimentellen [.filename]#user# Bereich des src Subversion Repository |link:{svn-src-vendor-url}[svn-src-vendor] |[.filename]#/usr/src# |Änderungen am Herstellerbereich des src Subversion Repository |=== [[eresources-subscribe]] === Mailinglisten abonnieren -Um eine Liste zu abonnieren, besuchen die Webseite {mailman-lists-url} und klicken dort auf die Liste, die Sie abonnieren wollen. Sie gelangen dann auf die Webseite der Liste, die weitere Anweisungen für diese Liste enthält. +Um eine Liste zu abonnieren, besuchen die Webseite {mailing-lists-url} und klicken dort auf die Liste, die Sie abonnieren wollen. Sie gelangen dann auf die Webseite der Liste, die weitere Anweisungen für diese Liste enthält. Um eine Nachricht an eine Mailingliste zu schicken, schreiben Sie einfach eine E-Mail an mailto:Liste@FreeBSD.org[Liste@FreeBSD.org]. Die E-Mail wird dann an alle Mitglieder der Mailingliste verteilt. Wenn Sie das Abonnement aufheben wollen, folgen Sie der URL, die am Ende jeder Mail der Liste angegeben ist. Sie können das Abonnement auch mit einer E-Mail an mailto:Liste-unsubscribe@FreeBSD.org[Liste-unsubscribe@FreeBSD.org] aufheben. Verwenden Sie bitte die technischen Listen ausschließlich für technische Diskussionen. Wenn Sie nur an wichtigen Ankündigungen interessiert sind, abonnieren Sie die Mailingliste {freebsd-announce}, auf der nur wenige Nachrichten versendet werden. [[eresources-charters]] === Chartas der Mailinglisten _Alle_ FreeBSD-Mailinglisten besitzen Grundregeln, die von jedem beachtet werden müssen. Für die ersten beiden Male, in denen ein Absender gegen diese Regeln verstößt, erhält er jeweils eine Warnung vom FreeBSD-Postmaster mailto:postmaster@FreeBSD.org[postmaster@FreeBSD.org]. Ein dritter Verstoß gegen die Regeln führt dazu, dass der Absender in allen FreeBSD-Mailinglisten gesperrt wird und weitere Nachrichten von ihm nicht mehr angenommen werden. Wir bedauern sehr, dass wir solche Maßnahmen ergreifen müssen, aber heutzutage ist das Internet eine recht rauhe Umgebung, in der immer weniger Leute Rücksicht aufeinander nehmen. Die Regeln: * Das Thema einer Nachricht soll der Charta der Liste, an die sie gesendet wird, entsprechen. Wenn Sie eine Nachricht an eine technische Liste schicken, sollte die Nachricht auch technische Inhalte haben. Fortwährendes Geschwätz oder Streit mindern den Wert der Liste für alle Mitglieder und wird nicht toleriert. Benutzen Sie {freebsd-chat} für allgemeine Diskussionen über FreeBSD. * Eine Nachricht sollte an nicht mehr als zwei Mailinglisten gesendet werden. Schicken Sie eine Nachricht nur dann an zwei Listen, wenn das wirklich notwendig ist. Viele Leute haben mehrere Mailinglisten abonniert und Nachrichten sollten nur zu ungewöhnlichen Kombinationen der Listen, wie "-stable" und "-scsi", gesendet werden. Wenn Sie eine Nachricht erhalten, die im `Cc`-Feld mehrere Listen enthält, sollten Sie das Feld kürzen, bevor Sie eine Antwort darauf verschicken. _Unabhängig von dem ursprünglichen Verteiler sind Sie für Ihre eigenen Mehrfach-Sendungen selbst verantwortlich._ * Persönliche Angriffe und Beschimpfungen sind in einer Diskussion nicht erlaubt. Dies gilt gleichermaßen für Benutzer wie Entwickler. Grobe Verletzungen der Netiquette, wie das Verschicken oder Zitieren von privater E-Mail ohne eine entsprechende Genehmigung, werden nicht gebilligt. Die Nachrichten werden aber nicht besonders auf Verletzungen der Netiquette untersucht. Es kann sein, dass eine Verletzung der Netiquette durchaus zu der Charta einer Liste passt, aber der Absender aufgrund der Verletzung eine Warnung erhält oder gesperrt wird. * Werbung für Produkte oder Dienstleistungen, die nichts mit FreeBSD zu tun haben, sind verboten. Ist die Werbung als Spam verschickt worden, wird der Absender sofort gesperrt. _Chartas einzelner Listen:_ {freebsd-acpi}:: Die Entwicklung von ACPI und Energieverwaltungsfunktionen. {freebsd-announce}:: _Wichtige Ereignisse und Meilensteine_ + Diese Liste ist für Personen, die nur an den wenigen Ankündigungen wichtiger Ereignisse interessiert sind. Die Ankündigungen betreffen Schnappschüsse und Releases, neue Merkmale von FreeBSD und die Suche nach freiwilligen Mitarbeitern. Auf der Liste herrscht wenig Verkehr und sie wird streng moderiert. link:{freebsd-arch-url}[freebsd-arch]:: _Architektur und Design von FreeBSD_ + Auf dieser technischen Liste wird die FreeBSD-Architektur diskutiert. Beispiele für angemessene Themen sind: ** Wie das Bausystem zu verändern ist, damit verschiedene Läufe gleichzeitig möglich sind. ** Was am VFS geändert werden muss, damit Heidemann Schichten eingesetzt werden können. ** Wie die Schnittstelle der Gerätetreiber angepasst werden muss, damit derselbe Treiber auf verschiedenen Bussen und Architekturen eingesetzt werden kann. ** Wie ein Netzwerktreiber geschrieben wird. link:{freebsd-bluetooth-url}[freebsd-bluetooth]:: _Bluetooth(R) unter FreeBSD_ + Diese Liste diskutiert Probleme der Verwendung von Bluetooth(R) unter FreeBSD. Designprobleme, Implementierungsdetails, Patches, Fehler- und Statusberichte, Verbesserungsvorschläge sowie alle anderen mit Bluetooth(R) zusammenhängenden Themen werden hier behandelt. link:{freebsd-bugbusters-url}[freebsd-bugbusters]:: _Bearbeitung der Fehlerberichte_ + Auf dieser Liste wird die Bearbeitung der Fehlerberichte (PR, engl. problem report) koordiniert. Sie dient dem "Bugmeister" und allen Leuten, die ein Interesse an der Datenbank der Fehlerberichte haben, als Diskussionsforum. Auf dieser Liste werden keine spezifischen Fehler, Fehlerbehebungen oder PRs diskutiert. link:{freebsd-bugs-url}[freebsd-bugs]:: _Fehlerberichte_ + Auf dieser Liste werden Fehlerberichte gesammelt. Fehlerberichte sollten immer mit der https://bugs.freebsd.org/bugzilla/enter_bug.cgi[ Web-Schnittstelle] erstellt werden. link:{freebsd-chat-url}[freebsd-chat]:: _Nicht technische Themen, welche die FreeBSD Gemeinschaft betreffen_ + Auf dieser Liste werden nicht-technische soziale Themen diskutiert, die nicht auf die anderen Listen passen. Hier kann diskutiert werden, ob Jordan wie ein Frettchen aus einem Zeichentrickfilm aussieht oder nicht, ob grundsätzlich in Großbuchstaben geschrieben werden soll, wer zuviel Kaffee trinkt, wo das beste Bier gebraut wird und wer Bier in seinem Keller braut. Gelegentlich können auf den technischen Listen wichtige Ereignisse wie Feste, Hochzeiten oder Geburten angekündigt werden, aber nachfolgende Nachrichten sollten auf die Liste {freebsd-chat} gesendet werden. link:{freebsd-chromium-url}[freebsd-chromium]:: _Diskussionen zum Einsatz von Chromium unter FreeBSD_ + Auf dieser technischen Liste werden Fragen zur Entwicklung, zur Installation sowie zum Einsatz von Chromium unter FreeBSD diskutiert. link:{freebsd-cloud-url}[freebsd-cloud]:: _FreeBSD auf verschiedenen Cloud-Plattformen betreiben_ + Diese Liste diskutiert FreeBSD auf Amazon EC2, Google Compute Engine, Microsoft Azure und weiteren Cloud-Plattformen. freebsd-core:: _FreeBSD Core Team_ + Dies ist eine interne Mailingliste des FreeBSD Core Teams. Wenn in einer wichtigen Angelegenheit, die FreeBSD betrifft, entschieden werden muss oder die Angelegenheit einer genauen Prüfung unterzogen werden muss, können Nachrichten an diese Liste gesendet werden. {freebsd-current}:: _Gebrauch von FreeBSD-CURRENT_ + Diese Mailingliste ist für die Benutzer von FreeBSD-CURRENT eingerichtet. Auf ihr finden sich Ankündigungen über Besonderheiten von -CURRENT, von denen Benutzer betroffen sind. Sie enthält weiterhin Anweisungen, wie man ein System auf -CURRENT hält. Jeder, der ein -CURRENT System besitzt, muss diese Liste lesen. Die Liste ist nur für technische Inhalte bestimmt. link:{freebsd-desktop-url}[freebsd-desktop]:: _FreeBSD als Desktop verwenden und verbessern_ + Dies ist ein Forum für Diskussionen um FreeBSD auf dem Desktop. Es wird primär von Desktop-Portierern und Nutzern verwendet, um Probleme und Verbesserungen zu FreeBSDs Einsatz auf dem Desktop zu besprechen. link:{freebsd-doc-url}[freebsd-doc]:: Auf dieser Mailingliste werden Themen diskutiert, die im Zusammenhang mit der Erstellung der FreeBSD Dokumentation stehen. "The FreeBSD Documentation Project" besteht aus den Mitgliedern dieser Liste. Diese Liste steht jedem offen, Sie sind herzlich eingeladen teilzunehmen und mitzuhelfen. link:{freebsd-drivers-url}[freebsd-drivers]:: _Gerätetreiber für FreeBSD schreiben_ + Ein Forum für technische Diskussionen über das Schreiben von Gerätetreibern für FreeBSD. Daher werden hier vor allem Fragen behandelt, die sich um das Schreiben von Treibern, welche die APIs des Kernels nutzen, drehen. link:{freebsd-dtrace-url}[freebsd-dtrace]:: _Entwicklung und Benutzung von DTrace unter FreeBSD_ + DTrace ist Bestandteil von FreeBSD und stellt Laufzeitinformationen vom Kernel und Anwendungsprogrammen zur Verfügung. Diese Liste ist für Diskussionen von Entwicklern und Benutzern. link:{freebsd-eclipse-url}[freebsd-eclipse]:: _Für FreeBSD-Anwender, welche die Eclipse IDE deren Werkzeuge, Anwendungen und Ports einsetzen_ + Das Ziel dieser Liste ist es, Unterstützung für all jene zu bieten, die mit der Installation, Verwendung, Entwicklung und Wartung der Eclipse-IDE sowie deren Werkzeugen und Anwendungen unter FreeBSD zu tun haben. Außerdem wird Hilfe bei der Portierung der IDE und deren Plugins auf FreeBSD geboten. + Zusätzlich soll diese Liste einen Informationsaustausch zwischen der Eclipse- und der FreeBSD-Gemeinde ermöglichen, von dem beide Seiten profitieren können. + Obwohl sich diese Liste auf die Anforderungen von Anwendern konzentriert, möchte sie auch Entwickler unterstützen, die an der Entwicklung von FreeBSD-spezifischen Anwendungen unter Nutzung des Eclipse-Frameworks arbeiten. link:{freebsd-embedded-url}[freebsd-embedded]:: _FreeBSD in eingebetteten Anwendungen einsetzen_ + Diese Liste diskutiert Themen im Zusammenhang mit dem Einsatz von ungewöhnlich kleinen und eingebetteten FreeBSD-Installationen. Auf dieser Liste werden ausschließlich technische Diskussionen geführt. Unter eingebetteten Systemen versteht diese Liste Systeme, bei denen es sich nicht um Desktopsysteme handelt, und die in der Regel nur einem einzigen Zweck dienen (im Gegensatz zu Desktopsystemen, die für die Bewältigung verschiedenster Aufgaben geeignet sind). In die Gruppe der eingebetteten Systeme gehören beispielsweise Telefone, Netzwerkgeräte wie Router, Switche oder PBX-Systeme, PDAs, Verkaufsautomaten und andere mehr. link:{freebsd-emulation-url}[freebsd-emulation]:: _Emulation anderer Systeme wie Linux(R), MS-DOS(R) oder Windows(R)_ + Hier werden technische Diskussionen zum Einsatz von Programmen, die für andere Betriebssysteme geschrieben wurden, geführt. link:{freebsd-enlightenment-url}[freebsd-enlightenment]:: _Enlightenment_ Desktop-Umgebung für FreeBSD-Systeme. Dies ist eine technische Liste, in der nur technische Inhalte erwartet werden. link:{freebsd-eol-url}[freebsd-eol]:: _Support für FreeBSD-bezogene Software, die vom FreeBSD Project offiziell nicht mehr unterstützt wird._ + Diese Liste ist für all jene interessant, die Unterstützung für vom FreeBSD Project offiziell nicht mehr (in Form von Security Advisories oder Patches) unterstützte Programme benötigen oder anbieten wollen. link:{freebsd-firewire-url}[freebsd-firewire]:: _FireWire(R) (iLink, IEEE 1394)_ + Auf dieser Liste wird das Design und die Implementierung eines FireWire(R)-Subsystems (auch IEEE 1394 oder iLink) für FreeBSD diskutiert. Relevante Themen sind die Standards, Busse und ihre Protokolle, sowie Adapter, Karten und Chipsätze. Des Weiteren die Architektur und der Quellcode, die nötig sind, diese Geräte zu unterstützen. link:{freebsd-fortran-url}[freebsd-fortran]:: _Fortran unter FreeBSD_ + Diese Liste ist für Diskussionen rund um Fortran-Ports unter FreeBSD: Compiler, Bibliotheken, wissenschaftliche und technische Anwendungen von Laptops bis hin zu HPC-Clustern. link:{freebsd-fs-url}[freebsd-fs]:: _Dateisysteme_ + Diskussionen über FreeBSD-Dateisysteme. Dies ist eine technische Liste, in der nur technische Inhalte erwartet werden. link:{freebsd-games-url}[freebsd-games]:: _Spiele unter FreeBSD_ + Eine Liste für technische Diskussionen im Zusammenhang mit Spielen unter FreeBSD. Die Liste ist für Personen, die an Portierungen arbeiten und alternative Lösungen erörtern. Personen, die an technischen Diskussionen interessiert sind, sind ebenfalls willkommen. link:{freebsd-gecko-url}[freebsd-gecko]:: Angelegenheiten zur _Gecko Rendering Engine_ + Dies ist ein Forum über Gecko-Anwendungen, die FreeBSD verwenden. + Die Diskussion dreht sich um die Portierung von Gecko-Anwendungen, deren Installation, die Entwicklung sowie deren Unterstützung innerhalb von FreeBSD. link:{freebsd-geom-url}[freebsd-geom]:: _GEOM_ + Diskussion über GEOM und verwandte Implementierungen. Dies ist eine technische Liste, in der nur technische Inhalte erwartet werden. link:{freebsd-git-url}[freebsd-git]:: _Verwendung von git im FreeBSD Project_ + Diskussionen über die Verwendung von git in der FreeBSD Infrastruktur. Personen, die einen Spiegel aufsetzen wollen, oder allgemeine Fragen zu git unter FreeBSD haben, können hier Fragen stellen. link:{freebsd-gnome-url}[freebsd-gnome]:: _GNOME_ + Diskussionen über die grafische Benutzeroberfläche GNOME. Dies ist eine technische Liste, in der nur technische Inhalte erwartet werden. link:{freebsd-infiniband-url}[freebsd-infiniband]:: _Infiniband unter FreeBSD_ + Technische Liste mit Diskussionen über Infiniband, OFED und OpenSM unter FreeBSD. link:{freebsd-ipfw-url}[freebsd-ipfw]:: _IP Firewall_ + Diskussionen über eine Neubearbeitung des IP-Firewall Quelltexts in FreeBSD. Dies ist eine technische Liste, in der nur technische Inhalte erwartet werden. link:{freebsd-isdn-url}[freebsd-isdn]:: _ISDN Subsystem_ + Mailingliste für die Entwickler des ISDN Subsystems von FreeBSD. link:{freebsd-java-url}[freebsd-java]:: _Java(TM) Entwicklung_ + Mailingliste, auf der die Entwicklung von Java(TM) Anwendungen für FreeBSD sowie die Portierung und Pflege von JDK(TM)s diskutiert wird. [[eresources-charters-jobs]] link:{freebsd-jobs-url}[freebsd-jobs]:: _Stellenangebote und Stellengesuche_ + In diesem Forum können Sie Stellenangebote und Stellengesuche, die mit FreeBSD zu tun haben, aufgeben. Diese Mailingliste ist _nicht_ der Ort, um über allgemeine Beschäftigungsprobleme zu diskutieren; dazu gibt es anderswo geeignete Foren. + Beachten Sie bitte, dass diese Liste, wie die anderen `FreeBSD.org`-Listen, weltweit gelesen wird. Geben Sie daher bitte den Arbeitsort genau an. Geben Sie bitte auch an, ob Telearbeit möglich ist und ob Hilfen für einen Umzug angeboten werden. + Benutzen Sie in der E-Mail bitte nur offene Formate - vorzugsweise nur das Textformat. Andere Formate, wie PDF oder HTML, werden von den Lesern akzeptiert. Nicht offene Formate wie Microsoft(R) Word ([.filename]#.doc#) werden vom Server der Liste abgelehnt. link:{freebsd-hackers-url}[freebsd-hackers]:: _Technische Diskussionen_ + Dies ist ein Forum für technische Diskussionen über FreeBSD. Leute, die aktiv an FreeBSD arbeiten, können hier Probleme und deren Lösungen diskutieren. Interessierte, die den Diskussionen folgen wollen, steht die Liste ebenfalls offen. Auf dieser Liste finden nur technische Diskussionen statt. link:{freebsd-hardware-url}[freebsd-hardware]:: _Allgemeine Diskussionen über Hardware_ + Allgemeine Diskussionen über die Hardware, auf der FreeBSD läuft: Probleme und Ratschläge welche Hardware man kaufen sollte und welche nicht. link:{freebsd-hubs-url}[freebsd-hubs]:: _FreeBSD-Spiegel_ + Ankündigungen und Diskussionsforum für Leute, die FreeBSD-Spiegel betreiben. link:{freebsd-isp-url}[freebsd-isp]:: _Themen für Internet Service Provider_ + Diese Liste ist für Internet Service Provider (ISP), die FreeBSD benutzen. Auf dieser Liste finden nur technische Diskussionen statt. link:{freebsd-mono-url}[freebsd-mono]:: _Mono und C# Anwendungen auf FreeBSD_ + Diese Liste beinhaltet Diskussionen über das Mono Entwicklungsframework auf FreeBSD. Dies ist eine technische Mailingliste. Es ist für Personen gedacht, die aktiv an der Portierung von Mono oder C# Anwendungen auf FreeBSD sind, um Probleme oder alternative Lösungen zu beratschlagen. Personen die der technischen Diskussion folgen möchten sind ebenso willkommen. link:{freebsd-ocaml-url}[freebsd-ocaml]:: _FreeBSD-spezifische Diskussionen zu OCaml_ + Diskussionen im Zusammenhang mit der OCaml-Unterstützung auf FreeBSD. Dies ist eine technische Mailingliste für Benutzer, die an OCaml-Ports, Bibliotheken und Frameworks von Drittanbietern arbeiten. Auch Benutzer, die an der technischen Diskussion interessiert sind, sind willkommen. link:{freebsd-office-url}[freebsd-office]:: _Office-Anwendungen für FreeBSD_ + Diskussionen über Office-Anwendungen, ihre Installation, Entwicklung und Unterstützung innerhalb von FreeBSD link:{freebsd-kde-url}[freebsd-kde]:: _KDE_ + Diskussionen über KDE auf FreeBSD-Systemen. Dies ist eine technische Liste, in der nur technische Inhalte diskutiert werden. link:{freebsd-announce-url}[freebsd-announce]:: _Projekt-Infrastruktur Ankündigungen_ + Diese Liste für Leute gedacht, die an Veränderungen im Zusammenhang der FreeBSD-Projekt Infrastruktur interessiert sind. + Diese moderierte Liste wird ausschließlich für Ankündigungen verwendet. Sie können keine Anfragen an diese Liste stellen und erhalten somit auch keine Antworten. link:{freebsd-performance-url}[freebsd-performance]:: _Diskussionsforum mit dem Ziel, die Leistung von FreeBSD zu verbessern._ + Auf dieser Liste diskutieren Hacker, Systemadministratoren und andere Interessierte die Leistung von FreeBSD. Zulässige Themen sind beispielsweise Systeme unter hoher Last, Systeme mit Leistungsproblemen oder Systeme, die Leistungsgrenzen von FreeBSD überwinden. Jeder, der mithelfen will, die Leistung von FreeBSD zu verbessern, sollte diese Liste abonnieren. Die Liste ist technisch anspruchsvoll und geeignet für erfahrene FreeBSD-Benutzer, Hacker oder Administratoren, die FreeBSD schnell, robust und skalierbar halten wollen. Auf der Liste werden Beiträge gesammelt oder Fragen nach ungelösten Problemen beantwortet. Sie ist kein Ersatz für das gründliche Studium der Dokumentation. link:{freebsd-pf-url}[freebsd-pf]:: _Diskussionen und Fragen zu packet filter als Firewallsystem._ + FreeBSD-spezifische Diskussionen zur Benutzung von packet filter (pf) als Firewallsystem. Sowohl technische Diskussionen als auch Anwenderfragen sind auf dieser Liste willkommen. Fragen zum ALTQ QoS Framework können ebenfalls gestellt werden. link:{freebsd-pkg-url}[freebsd-pkg]:: _Diskussionen über die Verwaltung von Binärpaketen und entsprechenden Werkzeugen_ + Diskussionen über die Verwendung von Binärpaketen, Werkzeuge zur Paketverwaltung, Entwicklung und Unterstützung innerhalb von FreeBSD, Verwaltung der Paket-Repositories und die Verwaltung von Paketen von Drittherstellern. + Beachten Sie, dass diese Liste nicht geeignet ist, um Probleme über nicht gebaute Pakete zu melden. Diese Probleme werden im allgemeinen als Problem des Ports betrachtet. link:{freebsd-pkg-fallout-url}[freebsd-pkg-fallout]:: _Protokolle von fehlgeschlagenen Paketbauvorgängen_ + Alle Fehlerprotokolle aus dem Paketcluster. link:{freebsd-pkgbase-url}[freebsd-pkgbase]:: _Paketierung des FreeBSD-Basissystems_ + Diskussion über die Implementierung und Probleme im Bezug auf die Paketierung des FreeBSD-Basissystems. link:{freebsd-platforms-url}[freebsd-platforms]:: _Portierung auf nicht-Intel(R) Plattformen_ + Plattformübergreifende Themen und Vorschläge für die Portierung auf nicht-Intel(R) Plattformen. Auf dieser Liste finden nur technische Diskussionen statt. link:{freebsd-ports-url}[freebsd-ports]:: _Diskussion über die Ports-Sammlung_ + Diskussionen über die FreeBSD-Ports-Sammlung und die Infrastruktur der Sammlung. Die Liste dient auch der allgemeinen Koordination der Dinge, welche die Ports-Sammlung betreffen. Auf dieser Liste finden nur technische Diskussionen statt. link:{freebsd-ports-bugs-url}[freebsd-ports-bugs]:: _Diskussion über Fehler in den Ports_ + Diskussion über Fehler in der Ports-Sammlung ([.filename]#/usr/ports#), neue Ports oder Änderungen an bestehenden Ports. Auf dieser Liste finden nur technische Diskussionen statt. link:{freebsd-proliant-url}[freebsd-proliant]:: _Technische Diskussionen zum Einsatz von FreeBSD auf HP ProLiant-Serverplattformen_ + Diese Mailingliste bietet technische Diskussionen zum Einsatz von FreeBSD auf der ProLiant-Serverplattform von HP, darunter Fragen zu ProLiant-spezifischen Treibern, Konfigurationswerkzeugen sowie BIOS-Aktualisierungen. Daher ist sie die erste Anlaufstelle, um die Module hpasmd, hpasmcli, sowie hpacucli zu diskutieren. link:{freebsd-python-url}[freebsd-python]:: _Python unter FreeBSD_ + Diese technische Liste dient der Verbesserung der Python-Unterstützung unter FreeBSD. Sie wird von Personen gelesen, die an der Portierung von Python, von Python-Modulen Dritter und von Zope nach FreeBSD arbeiten. Personen, die diese technischen Diskussion verfolgen wollen, sind ebenfalls willkommen. link:{freebsd-questions-url}[freebsd-questions]:: _Benutzerfragen_ + Auf dieser Mailingliste können Fragen zu FreeBSD gestellt werden. Fragen Sie bitte nicht nach Anleitungen, wenn Sie nicht sicher sind, dass Ihre Frage wirklich technischer Natur ist. link:{freebsd-ruby-url}[freebsd-ruby]:: _Ruby unter FreeBSD_ + Diese technische Liste dient der Verbesserung der Ruby-Unterstützung unter FreeBSD. Sie wird von Personen gelesen, die an der Portierung von Ruby, von Bibliotheken Dritter und Frameworks arbeiten. Personen, die diese technischen Diskussionen verfolgen wollen, sind ebenfalls willkommen. link:{freebsd-scsi-url}[freebsd-scsi]:: _SCSI Subsystem_ + Diese Mailingliste ist für die Entwickler des SCSI Subsystems von FreeBSD. Auf dieser Liste finden nur technische Diskussionen statt. {freebsd-security}:: _Sicherheitsthemen_ + Sicherheitsthemen, die FreeBSD betreffen, wie DES, Kerberos, bekannte Sicherheitslöcher und Fehlerbehebungen. Stellen Sie bitte auf dieser Liste keine allgemeinen Fragen zum Thema Sicherheit. Willkommen sind allerdings Beiträge zur FAQ, das heißt eine Frage mit der passenden Antwort. Auf dieser Liste finden nur technische Diskussionen statt. {freebsd-security-notifications}:: _Ankündigungen zum Thema Sicherheit_ + Ankündigungen über Sicherheitsprobleme von FreeBSD und deren Behebungen. Diese Liste ist kein Diskussionsforum, benutzen Sie {freebsd-security}, um Sicherheitsthemen zu diskutieren. link:{freebsd-snapshots-url}[freebsd-snapshots]:: _Ankündigungen für FreeBSD Entwickler-Snapshots_ + Diese Liste informiert über die Verfügbarkeit von neuen FreeBSD-Snapshots aus den Zweigen head/ und stable/. {freebsd-stable}:: _Gebrauch von FreeBSD-STABLE._ + Diese Mailingliste ist für die Benutzer von FreeBSD-STABLE eingerichtet. -STABLE ist der Zweig, in dem die Entwicklung nach einen RELEASE stattfindet, einschließlich Fehlerkorrekturen und neuer Funktionen. Die ABI wird wegen Binärkompatibilitäten stabil gehalten. Auf der Liste finden sich Ankündigungen über Besonderheiten von -STABLE, von denen Benutzer betroffen sind. Sie enthält weiterhin Anweisungen, wie man ein System auf -STABLE hält. Jeder, der ein -STABLE System besitzt, muss diese Liste lesen. Die Liste ist nur für technische Inhalte bestimmt. link:{freebsd-standards-url}[freebsd-standards]:: _Konformität von FreeBSD mit den C99- und POSIX(R) Standards_ + Dieses Forum ist für technische Diskussionen über die Konformität von FreeBSD mit den C99- und POSIX(R)-Standards. link:{freebsd-teaching-url}[freebsd-teaching]:: _Unterrichten mit FreeBSD_ + Mailingliste, die das Unterrichten mit FreeBSD diskutiert. link:{freebsd-testing-url}[freebsd-testing]:: _Tests unter FreeBSD_ + Technische Liste, auf der Tests unter FreeBSD diskutiert werden, einschließlich ATF/Kyua, der Test/Build-Infrastruktur, und Portierungen von anderen Betriebssystemen (NetBSD, ...) nach FreeBSD. link:{freebsd-tex-url}[freebsd-tex]:: _Portierung von TeX und dessen Anwendungen nach FreeBSD_ + Technische Liste für Diskussionen im Zusammenhang mit TeX und dessen Anwendungen unter FreeBSD. Diese Liste ist für Menschen, die an der Portierung von TeX nach FreeBSD arbeiten. Es werden aber auch Probleme und Lösungen erörtert. Personen, die an technischen Diskussionen interessiert sind, sind ebenfalls willkommen. link:{freebsd-toolchain-url}[freebsd-toolchain]:: _Wartung der FreeBSD-Toolchain_ + Auf dieser Mailingliste werden alle Themen rund um die FreeBSD-Toolchain diskutiert. Dazu gehören der Status von Clang und GCC, aber auch Fragen zu Programmen wie Assemblern, Linkern und Debuggern. link:{freebsd-translators-url}[freebsd-translators]:: _Übersetzung von FreeBSD-Dokumenten und Programmen_ + Auf dieser Liste können Übersetzer von FreeBSD-Dokumenten über die Methoden und Werkzeuge für die Übersetzung diskutieren. Neue Benutzer werden gebeten sich vorzustellen und die Sprache zu erwähnen, an dessen Übersetzung sie interessiert sind. link:{freebsd-transport-url}[freebsd-transport]:: _Diskussion über Transportprotokolle in FreeBSD_ + Diese Liste behandelt die Probleme und das Design von FreeBSDs Netzwerkstack, darunter auch TCP, SCTP und UDP. Andere Netzwerkthemen sollten auf der {freebsd-net} diskutiert werden. link:{freebsd-usb-url}[freebsd-usb]:: _USB-Unterstützung in FreeBSD._ + Auf dieser Liste finden nur technische Diskussionen statt. link:{freebsd-user-groups-url}[freebsd-user-groups]:: _Koordination von Benutzergruppen_ + Diese Liste ist für Koordinatoren lokaler Benutzergruppen und einem ausgesuchten Mitglied des Core Teams eingerichtet worden. Der Inhalt sollte Inhalte von Treffen und die Koordination von Projekten mehrerer Benutzergruppen beschränkt sein. link:{freebsd-virtualization-url}[freebsd-virtualization]:: _Diskussion über verschiedene Virtualisierungsverfahren, die von FreeBSD unterstützt werden_ + Eine Liste, auf der die verschiedenen Virtualisierungsverfahren, die von FreeBSD unterstützt werden, diskutiert werden. Auf der einen Seite liegt der Fokus auf der Implementierung der zugrundeliegenden Funktionalitäten, ebenso wie das Hinzufügen neuer Eigenschaften. Auf der anderen Seite haben die Benutzer ein Forum, um Fragen bei Problemen zu stellen oder um ihre Anwendungsfälle zu besprechen. link:{freebsd-wip-status-url}[freebsd-wip-status]:: _Status von in Arbeit befindlichen FreeBSD-Tätigkeiten_ + Diese Mailingliste kann dazu verwendet werden, eigene Kreationen und deren Fortschritt von FreeBSD-verwandten Tätigkeiten anzukündigen. Die Nachrichten werden moderiert. Es wird empfohlen, die Nachricht "An:" eine mehr themenverwandte FreeBSD-Liste zu senden und diese Liste nur in Blindkopie zu setzen. Auf diese Weise kann ihre in Arbeit befindliche Tätigkeit auch auf der themenverwandten Liste diskutiert werden, da auf dieser Liste keine Diskussionen erlaubt sind. + Sehen Sie sich das Archiv der Liste für passende Nachrichten an. + Redaktionelle Auszüge der Nachrichten an diese Liste werden eventuell alle paar Monate auf die FreeBSD Webseite als Teil der Statusberichte gestellt. Weitere Beispiele und zurückliegende Berichte können Sie auch dort finden. link:{freebsd-wireless-url}[freebsd-wireless]:: _Diskussionen zum 802.11-Stack sowie zur Entwicklung von Tools und Gerätetreibern_ + Die Mailingliste freebsd-wireless diskutiert Themen rund um den 802.11-Stack (sys/net80211). Besprochen werden die Entwicklung von Tools und Gerätetreibern sowie auftretende Probleme, neue Funktionen sowie die Wartung der existierenden Werkzeuge und Treiber. link:{freebsd-xen-url}[freebsd-xen]:: _Diskussionen über die FreeBSD Portierung auf Xen(TM) - Implementierung und Verwendung_ + Eine Liste, welche die FreeBSD Portierung auf Xen(TM) behandelt. Das erwartete Nachrichtenaufkommen ist klein genug, so dass es als Forum für sowohl technische Diskussionen über die Implementierung und Entwurfsdetails, als auch administrative Verteilaspekte ausgelegt ist. link:{freebsd-xfce-url}[freebsd-xfce]:: _XFCE_ + Eine Liste, auf der Fragen zum Einsatz von XFCE unter FreeBSD diskutiert werden. Es handelt sich um eine technische Mailingliste, die sich primär an Entwickler richtet, die aktiv an der Portierung von XFCE nach FreeBSD arbeiten. Aber auch Nutzer, die einfach nur die technischen Diskussionen verfolgen wollen, sind willkommen. Diskutiert werden vor allem bei der Portierung auftretende Probleme und mögliche Lösungswege. link:{freebsd-zope-url}[freebsd-zope]:: _Zope_ + Ein Forum für Diskussionen darüber, wie man die Zope-Umgebung auf FreeBSD portieren kann. Dies ist eine technische Mailingliste. Sie ist für Leute gedacht, die aktiv an der Portierung von Zope auf FreeBSD arbeiten, um aufkommende Probleme oder alternative Lösungsansätze zu besprechen. Personen, die der technischen Diskussion folgen möchten, sind ebenfalls willkommen. [[eresources-mailfiltering]] === Filter der Mailinglisten Um die Verbreitung von Spam, Viren und anderen nicht erwünschten E-Mails zu verhindern, werden auf den FreeBSD-Mailinglisten Filter eingesetzt. Dieser Abschnitt beschreibt nur einen Teil der zum Schutz der Listen eingesetzten Filter. Auf den Mailinglisten sind nur die unten aufgeführten Anhänge erlaubt. Anhänge mit einem anderen MIME-Typ werden entfernt, bevor eine E-Mail an eine Liste verteilt wird. * application/octet-stream * application/pdf * application/pgp-signature * application/x-pkcs7-signature * message/rfc822 * multipart/alternative * multipart/related * multipart/signed * text/html * text/plain * text/x-diff * text/x-patch [NOTE] ==== Einige Mailinglisten erlauben vielleicht Anhänge mit anderem MIME-Typ. Für die meisten Mailinglisten sollte die obige Aufzählung aber richtig sein. ==== Wenn eine E-Mail sowohl aus einer HTML-Version wie auch aus einer Text-Version besteht, wird die HTML-Version entfernt. Wenn eine E-Mail nur im HTML-Format versendet wurde, wird sie in reinen Text umgewandelt. [[eresources-news]] == Usenet-News Neben den Gruppen, die sich ausschließlich mit BSD beschäftigen, gibt es viele weitere in denen über FreeBSD diskutiert wird, oder die für FreeBSD-Benutzer wichtig sind. === BSD spezifische Gruppen * link:news:comp.unix.bsd.freebsd.announce[ comp.unix.bsd.freebsd.announce] * link:news:comp.unix.bsd.freebsd.misc[ comp.unix.bsd.freebsd.misc] * link:news:de.comp.os.unix.bsd[ de.comp.os.unix.bsd] (deutsch) * link:news:fr.comp.os.bsd[ fr.comp.os.bsd] (französisch) === Weitere UNIX Gruppen * link:news:comp.unix[comp.unix] * link:news:comp.unix.questions[ comp.unix.questions] * link:news:comp.unix.admin[ comp.unix.admin] * link:news:comp.unix.programmer[ comp.unix.programmer] * link:news:comp.unix.shell[ comp.unix.shell] * link:news:comp.unix.misc[ comp.unix.misc] * link:news:comp.unix.bsd[ comp.unix.bsd] === X Window System * link:news:comp.windows.x[ comp.windows.x] [[eresources-web]] == Offizielle Spiegel <>, <>, <>, <>, <>, <>, <>, <>, <>, <>, <>, <>, <>, <>, <>, <>, <>, <>, <>, <>, <>, <>, <>, <>, <>. (aktualisiert am: UTC) [[central-mirrors]] *{central}* * {central-www} [[armenia-mirrors]] *{mirrors-armenia}* * {mirrors-armenia-www-httpv6} (IPv6) [[australia-mirrors]] *{mirrors-australia}* * {mirrors-australia-www-http} * {mirrors-australia-www2-http} [[austria-mirrors]] *{mirrors-austria}* * {mirrors-armenia-www-httpv6} (IPv6) [[czech-republic-mirrors]] *{mirrors-czech}* * {mirrors-czech-www-httpv6} (IPv6) [[denmark-mirrors]] *{mirrors-denmark}* * {mirrors-denmark-www-httpv6} (IPv6) [[finland-mirrors]] *{mirrors-finland}* * {mirrors-finland-www-http} [[france-mirrors]] *{mirrors-france}* * {mirrors-france-www-http} [[germany-mirrors]] *{mirrors-germany}* * {mirrors-germany-www-http} [[hong-kong-mirrors]] *{mirrors-hongkong}* * {mirrors-hongkong-www} [[ireland-mirrors]] *{mirrors-ireland}* * {mirrors-ireland-www} [[japan-mirrors]] *{mirrors-japan}* * {mirrors-japan-www-httpv6} (IPv6) [[latvia-mirrors]] *{mirrors-latvia}* * {mirrors-latvia-www} [[lithuania-mirrors]] *{mirrors-lithuania}* * {mirrors-lithuania-www} [[netherlands-mirrors]] *{mirrors-netherlands}* * {mirrors-netherlands-www} [[norway-mirrors]] *{mirrors-norway}* * {mirrors-norway-www} [[russia-mirrors]] *{mirrors-russia}* * {mirrors-russia-www-httpv6} (IPv6) [[slovenia-mirrors]] *{mirrors-slovenia}* * {mirrors-slovenia-www} [[south-africa-mirrors]] *{mirrors-south-africa}* * {mirrors-south-africa-www} [[spain-mirrors]] *{mirrors-spain}* * {mirrors-spain-www} * {mirrors-spain-www2} [[sweden-mirrors]] *{mirrors-sweden}* * {mirrors-sweden-www} [[switzerland-mirrors]] *{mirrors-switzerland}* * {mirrors-switzerland-www-httpv6} (IPv6) * {mirrors-switzerland-www2-httpv6} (IPv6) [[taiwan-mirrors]] *{mirrors-taiwan}* * {mirrors-taiwan-www} * {mirrors-taiwan-www2} * {mirrors-taiwan-www4} * {mirrors-taiwan-www5-httpv6} (IPv6) [[uk-mirrors]] *{mirrors-uk}* * {mirrors-uk-www} * {mirrors-uk-www3} [[usa-mirrors]] *{mirrors-us}* * {mirrors-us-www5-httpv6} (IPv6) :sectnums: :sectnumlevels: 6 diff --git a/documentation/content/el/books/handbook/cutting-edge/_index.adoc b/documentation/content/el/books/handbook/cutting-edge/_index.adoc index 7fe8feacc0..1174367f3d 100644 --- a/documentation/content/el/books/handbook/cutting-edge/_index.adoc +++ b/documentation/content/el/books/handbook/cutting-edge/_index.adoc @@ -1,1549 +1,1549 @@ --- title: Κεφάλαιο 24. Ενημέρωση και Αναβάθμιση του FreeBSD part: Μέρος III. Διαχείριση Συστήματος prev: books/handbook/l10n next: books/handbook/dtrace --- [[updating-upgrading]] = Ενημέρωση και Αναβάθμιση του FreeBSD :doctype: book :toc: macro :toclevels: 1 :icons: font :sectnums: :sectnumlevels: 6 :source-highlighter: rouge :experimental: :skip-front-matter: :toc-title: Πίνακας Περιεχομένων :table-caption: Πίνακας :figure-caption: Σχήμα :example-caption: Παράδειγμα :xrefstyle: basic :relfileprefix: ../ :outfilesuffix: :sectnumoffset: 24 ifeval::["{backend}" == "html5"] :imagesdir: ../../../images/books/handbook/cutting-edge/ endif::[] ifeval::["{backend}" == "pdf"] :imagesdir: ../../../../static/images/books/handbook/cutting-edge/ endif::[] ifeval::["{backend}" == "epub3"] :imagesdir: ../../../../static/images/books/handbook/cutting-edge/ endif::[] include::shared/authors.adoc[] include::shared/releases.adoc[] include::shared/el/mailing-lists.adoc[] include::shared/el/teams.adoc[] include::shared/el/urls.adoc[] toc::[] [[updating-upgrading-synopsis]] == Σύνοψη Το FreeBSD βρίσκεται υπό συνεχή εξέλιξη μεταξύ των επίσημων εκδόσεων του. Μερικοί άνθρωποι προτιμούν να χρησιμοποιούν τις επίσημες εκδόσεις, ενώ άλλοι προτιμούν να κρατούν το σύστημα τους ενημερωμένο με τις τελευταίες εξελίξεις. Ωστόσο, ακόμα και οι επίσημες εκδόσεις ενημερώνονται συχνά με διορθώσεις κρίσιμων σφαλμάτων και ασφαλείας. Όποια έκδοση και να χρησιμοποιήσετε, το FreeBSD παρέχει όλα τα απαραίτητα εργαλεία για να κρατήσετε το σύστημα σας ενημερωμένο, και επίσης σας επιτρέπει να αναβαθμιστείτε εύκολα σε κάποια επόμενη έκδοση. Το κεφάλαιο αυτό θα σας βοηθήσει να αποφασίσετε αν θέλετε να παρακολουθείτε το σύστημα ανάπτυξης, ή αν θα προτιμήσετε να παραμείνετε σε μια από τις παγιωμένες εκδόσεις. Θα παρουσιάσουμε επίσης τα βασικά εργαλεία που απαιτούνται για την ενημέρωση και αναβάθμιση του συστήματος. Αφού διαβάσετε αυτό το κεφάλαιο, θα ξέρετε: * Ποια βοηθητικά προγράμματα μπορείτε να χρησιμοποιήσετε για να ενημερώσετε το σύστημα και την Συλλογή των Ports. * Πως να διατηρείτε το σύστημα σας ενημερωμένο με τα προγράμματα freebsd-updateCVSup, CVS, ή CTM. * Πως να συγκρίνετε την κατάσταση ενός εγκατεστημένου συστήματος, με αναφορά ένα γνωστό και εγγυημένα σωστό σύστημα. * Πως να διατηρήσετε την τεκμηρίωση σας ενημερωμένη μέσω του CVSup ή των ports της τεκμηρίωσης . * Τη διαφορά μεταξύ των δύο κλάδων που βρίσκονται σε εξέλιξη: του FreeBSD-STABLE και του FreeBSD-CURRENT. * Πως να ξαναφτιάξετε και να επανεγκαταστήσετε ολόκληρο το βασικό σύστημα με την `make buildworld` (κλπ). Πριν διαβάσετε αυτό το κεφάλαιο, θα πρέπει: * Να ρυθμίσετε σωστά τη σύνδεση σας στο δίκτυο (crossref:advanced-networking[advanced-networking,Προχωρημένα Θέματα Δικτύωσης]). * Να γνωρίζετε πως να εγκαταστήσετε πρόσθετο λογισμικό τρίτου κατασκευαστή (crossref:ports[ports,Εγκατάσταση Εφαρμογών: Πακέτα και Ports]). [NOTE] ==== Στο κεφάλαιο αυτό γίνεται συχνά χρήση της εντολής `cvsup` για την ανάκτηση ή ενημέρωση των αρχείων πηγαίου κώδικα του FreeBSD. Για να την χρησιμοποιήσετε, θα πρέπει να εγκαταστήσετε ένα πακέτο ή port όπως το package:net/cvsup[] (αν δεν θέλετε να εγκαταστήσετε γραφικό πρόγραμμα `cvsup`, μπορείτε να εγκαταστήσετε το port package:net/cvsup-without-gui[]). Μπορείτε να αντικαταστήσετε αυτή την εντολή με την man:csup[1] η οποία ανήκει στο βασικό σύστημα. ==== [[updating-upgrading-freebsdupdate]] == Ενημερώνοντας το FreeBSD Η εφαρμογή ενημερώσεων ασφαλείας αποτελεί ένα σημαντικό τμήμα της συντήρησης λογισμικού, ειδικά όταν πρόκειται για το λειτουργικό σύστημα. Για μεγάλο διάστημα, η διαδικασία αυτή δεν ήταν εύκολη στο FreeBSD. Έπρεπε να εφαρμοστούν patches στον πηγαίο κώδικα, να γίνει μεταγλώττιση του από την αρχή, και να εγκατασταθούν ξανά τα νέα εκτελέσιμα. Αυτό δεν είναι πλέον αναγκαίο, καθώς το FreeBSD διαθέτει τώρα ένα βοηθητικό πρόγραμμα, το `freebsd-update`. Το πρόγραμμα παρέχει δύο διαφορετικές λειτουργίες. Η πρώτη είναι η δυνατότητα δυαδικής (binary) ενημέρωσης του βασικού συστήματος με τις τελευταίες διορθώσεις ασφάλειας και λαθών, χωρίς να χρειάζεται ξανά μεταγλώττιση και εγκατάσταση. Η δεύτερη είναι η δυνατότητα αναβάθμισης του συστήματος σε μια νέα μικρή ή μεγάλη επίσημη έκδοση (release). [NOTE] ==== Δυαδικές διορθώσεις λαθών και ασφάλειας, διατίθενται για όλες τις αρχιτεκτονικές και εκδόσεις που υποστηρίζονται από την ομάδα ασφάλειας. Πριν προχωρήσετε στην αναβάθμιση σε μια νέα έκδοση, θα πρέπει να διαβάσετε τις σχετικές με αυτήν ανακοινώσεις, καθώς μπορεί να περιέχουν σημαντικές πληροφορίες. Μπορείτε να δείτε τις ανακοινώσεις εκδόσεων στην παρακάτω τοποθεσία: http://www.FreeBSD.org/releases/[http://www.FreeBSD.org/releases/]. ==== Αν υπάρχει κάποιο `crontab` που χρησιμοποιεί τις δυνατότητες του `freebsd-update`, θα πρέπει να απενεργοποιηθεί πριν ξεκινήσει η παρακάτω διαδικασία. Μπορείτε να εγκαταστήσετε την τελευταία έκδοση του `freebsd-update` κατεβάζοντας το συμπιεσμένο πακέτο από το παραπάνω URL και εκτελώντας τις παρακάτω εντολές: [source,shell] .... # gunzip -c freebsd-update-upgrade.tgz | tar xvf - # mv freebsd-update.sh /usr/sbin/freebsd-update # mv freebsd-update.conf /etc .... Δεν απαιτείται να κατεβάσετε την τελευταία έκδοση, αν χρησιμοποιείτε κάποια από τις τρέχουσες εκδόσεις του FreeBSD. [[freebsdupdate-config-file]] === Το Αρχείο Ρυθμίσεων Κάποιοι χρήστες ίσως θέλουν να αλλάξουν το προεπιλεγμένο αρχείο ρυθμίσεων [.filename]#/etc/freebsd-update.conf#, ώστε να έχουν καλύτερο έλεγχο της διαδικασίας. Οι επιλογές είναι γενικά αρκετά καλά τεκμηριωμένες, αλλά οι παρακάτω ίσως να χρειάζονται κάποιες επιπλέον επεξηγήσεις: [.programlisting] .... # Components of the base system which should be kept updated. Components src world kernel .... Αυτή η παράμετρος ελέγχει ποια τμήματα του FreeBSD θα διατηρούνται ενημερωμένα. Η προεπιλογή είναι να ενημερώνεται ο πηγαίος κώδικας, όλο το βασικό σύστημα, και ο πυρήνας. Τα τμήματα είναι τα ίδια που διατίθενται και κατά την εγκατάσταση, για παράδειγμα αν βάλετε την επιλογή `world/games` θα εγκαθίστανται ενημερώσεις για τα παιχνίδια. Αν βάλετε `src/bin` θα επιτρέψετε την ενημέρωση του πηγαίου κώδικα του καταλόγου [.filename]#src/bin#. Η καλύτερη επιλογή είναι να αφήσετε εδώ την προεπιλεγμένη τιμή, καθώς αν την αλλάξετε ώστε να περιέχει συγκεκριμένα μόνο τμήματα, θα αναγκαστείτε να αναφέρετε χωριστά μέσα στο αρχείο ρυθμίσεων κάθε τμήμα που θέλετε να ενημερώνεται. Αυτό ίσως έχει καταστροφικά αποτελέσματα, καθώς είναι πιθανό ο πηγαίος κώδικας και τα εκτελέσιμα προγράμματα να μην είναι πλέον σε συγχρονισμό μεταξύ τους. [.programlisting] .... # Paths which start with anything matching an entry in an IgnorePaths # statement will be ignored. IgnorePaths .... Προσθέστε διαδρομές σε καταλόγους, όπως [.filename]#/bin# ή [.filename]#/sbin# για να αφήσετε απείραχτους τους συγκεκριμένους καταλόγους κατά την διαδικασία ενημέρωσης. Η επιλογή αυτή μπορεί να χρησιμοποιηθεί για να αποτρέψει το `freebsd-update` να γράψει πάνω σε πιθανόν δικές σας τοπικές αλλαγές. [.programlisting] .... # Paths which start with anything matching an entry in an UpdateIfUnmodified # statement will only be updated if the contents of the file have not been # modified by the user (unless changes are merged; see below). UpdateIfUnmodified /etc/ /var/ /root/ /.cshrc /.profile .... Η επιλογή αυτή θα ενημερώσει τα αρχεία ρυθμίσεων στους καταλόγους που καθορίζονται, μόνο αν αυτά δεν έχουν μεταβληθεί από το χρήστη. Αν υπάρχουν τοπικές αλλαγές, δεν θα γίνει ενημέρωση. Υπάρχει μια ακόμα επιλογή, η `KeepModifiedMetadata`, η οποία οδηγεί το `freebsd-update` να αποθηκεύσει τις αλλαγές μεταξύ των δύο εκδόσεων κατά τη διάρκεια της συγχώνευσης (merge). [.programlisting] .... # When upgrading to a new FreeBSD release, files which match MergeChanges # will have any local changes merged into the version from the new release. MergeChanges /etc/ /var/named/etc/ .... Πρόκειται για τη λίστα των καταλόγων που περιέχουν αρχεία ρυθμίσεων, και στα οποία το `freebsd-update` θα επιχειρεί την διαδικασία συγχώνευσης αλλαγών. Η διαδικασία συγχώνευσης γίνεται με μια σειρά από patches τύπου man:diff[1] παρόμοια με το man:mergemaster[8] αλλά με λιγότερες επιλογές. Οι συγχωνεύσεις είτε γίνονται δεκτές, είτε προκαλούν το άνοιγμα κάποιου συντάκτη κειμένου, διαφορετικά η εκτέλεση του `freebsd-update` ακυρώνεται. Αν δεν είστε σίγουρος, κρατήστε αντίγραφο ασφαλείας του καταλόγου [.filename]#/etc# και απλώς δεχθείτε τις αλλαγές. Δείτε το <> για περισσότερες πληροφορίες σχετικά με την εντολή `mergemaster`. [.programlisting] .... # Directory in which to store downloaded updates and temporary # files used by FreeBSD Update. # WorkDir /var/db/freebsd-update .... Στον κατάλογο αυτό φυλάσσονται όλα τα patches και τα προσωρινά αρχεία. Σε περιπτώσεις όπου ο χρήστης εκτελεί αναβάθμιση σε μια νεότερη έκδοση του FreeBSD, θα πρέπει να διαθέτει τουλάχιστον ένα gigabyte ελεύθερου χώρου. [.programlisting] .... # When upgrading between releases, should the list of Components be # read strictly (StrictComponents yes) or merely as a list of components # which *might* be installed of which FreeBSD Update should figure out # which actually are installed and upgrade those (StrictComponents no)? # StrictComponents no .... Αν θέσετε την παραπάνω επιλογή στο `yes`, το `freebsd-update` θα υποθέσει ότι η λίστα `Components` είναι πλήρης και δεν θα επιχειρήσει να προχωρήσει σε αλλαγές εκτός λίστας. Ουσιαστικά, το `freebsd-update` θα προσπαθήσει να ενημερώσει κάθε αρχείο που ανήκει στη λίστα `Components`. [[freebsdupdate-security-patches]] === Patches Σχετικά με την Ασφάλεια Τα patches που σχετίζονται με την ασφάλεια, αποθηκεύονται σε ένα απομακρυσμένο μηχάνημα και μπορούν να μεταφορτωθούν και να εγκατασταθούν με την ακόλουθη εντολή: [source,shell] .... # freebsd-update fetch # freebsd-update install .... Αν με την παραπάνω εντολή εγκατασταθούν ενημερώσεις στον πυρήνα, θα χρειαστεί να επανεκκινήσετε το σύστημα. Αν όλα πάνε καλά, το σύστημα θα είναι πλέον ενημερωμένο και μπορείτε να εκτελείτε το `freebsd-update` αυτόματα με την βοήθεια του man:cron[8]. Μια απλή καταχώριση στο αρχείο [.filename]#/etc/crontab# είναι επαρκής για αυτό το σκοπό: [.programlisting] .... @daily root freebsd-update cron .... Η παραπάνω καταχώριση ορίζει ότι το `freebsd-update` θα εκτελείται μια φορά την ημέρα. Με τον τρόπο αυτό, και όταν η εκτέλεση είναι μέσω της επιλογής `cron`, το `freebsd-update` απλώς θα ελέγχει για ενημερώσεις. Αν υπάρχουν, η εφαρμογή θα τις κατεβάζει, αλλά δεν θα τις εγκαθιστά. Θα στέλνει όμως ένα email στο χρήστη `root` ώστε να τις εγκαταστήσει χειροκίνητα. Αν οτιδήποτε πάει στραβά, το `freebsd-update` έχει την ικανότητα να επιστρέφει στην προηγούμενη σταθερή κατάσταση, αναιρώντας το τελευταίο σετ αλλαγών με την ακόλουθη εντολή: [source,shell] .... # freebsd-update rollback .... Με την ολοκλήρωση της εντολής, θα πρέπει να επανεκκινήσετε το σύστημα αν έχουν γίνει αλλαγές στον πυρήνα ή σε κάποιο από τα αρθρώματα του. Αυτό θα επιτρέψει στο FreeBSD να φορτώσει τα νέα εκτελέσιμα στη μνήμη. Το βοηθητικό πρόγραμμα `freebsd-update` μπορεί να ενημερώσει αυτόματα μόνο τον πυρήνα [.filename]#GENERIC#. Αν χρησιμοποιείται προσαρμοσμένος πυρήνας, θα πρέπει να μεταγλωττιστεί ξανά, όταν το `freebsd-update` τελειώσει με την εγκατάσταση των υπόλοιπων ενημερώσεων. Ωστόσο, το `freebsd-update` θα ανιχνεύσει και θα ενημερώσει τον πυρήνα [.filename]#GENERIC# στο [.filename]#/boot/GENERIC# (αν υπάρχει), ακόμα και αν δεν είναι ο ενεργός πυρήνας του συστήματος (αυτός που εκτελείται τη συγκεκριμένη στιγμή). [NOTE] ==== Είναι γενικά καλή ιδέα να έχετε πάντα ένα αντίγραφο του πυρήνα [.filename]#GENERIC# στον κατάλογο [.filename]#/boot/GENERIC#. Θα σας βοηθήσει στην διάγνωση διάφορων προβλημάτων, καθώς και στην αναβάθμιση σε επόμενες εκδόσεις του FreeBSD, μέσω του `freebsd-update`. Η διαδικασία αυτή περιγράφεται στο <>. ==== Αν δεν έχουν γίνει αλλαγές στις προεπιλεγμένες ρυθμίσεις στο αρχείο [.filename]#/etc/freebsd-update.conf#, το `freebsd-update` θα εγκαταστήσει τα ανανεωμένα αρχεία πηγαίου κώδικα μαζί με τις υπόλοιπες ενημερώσεις. Μπορείτε έπειτα να προχωρήσετε στη μεταγλώττιση και εγκατάσταση νέου προσαρμοσμένου πυρήνα, με το συνήθη τρόπο. [NOTE] ==== Οι ενημερώσεις που διανέμονται μέσω του `freebsd-update` δεν περιλαμβάνουν πάντοτε αλλαγές στον πυρήνα. Δεν είναι απαραίτητο να επαναμεταγλωττίσετε τον προσαρμοσμένο πυρήνα σας, αν η εκτέλεση του `freebsd-update install` δεν επέφερε αλλαγές στα αρχεία πηγαίου κώδικα του πυρήνα. Ωστόσο, το `freebsd-update` ενημερώνει πάντοτε το αρχείο [.filename]#/usr/src/sys/conf/newvers.sh#. Το αρχείο αυτό περιέχει το τρέχον επίπεδο ενημερώσεων (patch level) το οποίο και αναφέρεται ως αριθμός `-p` από εντολές όπως η `uname -r`. Μεταγλωττίζοντας ξανά τον προσαρμοσμένο πυρήνα σας (ακόμα και αν δεν υπάρχουν άλλες αλλαγές) θα δώσετε τη δυνατότητα στην man:uname[1] να αναφέρει με ακρίβεια το επίπεδο ενημερώσεων. Αυτό μπορεί να είναι ιδιαίτερα χρήσιμο όταν συντηρείτε πολλαπλά συστήματα, καθώς σας επιτρέπει να αξιολογήσετε με μια ματιά τι ενημερώσεις έχουν εγκατασταθεί στο καθένα. ==== [[freebsdupdate-upgrade]] === Αναβαθμίσεις σε Μικρές και Μεγάλες Εκδόσεις Η διαδικασία αυτή θα απομακρύνει τα παλιά αρχεία αντικειμενικού κώδικα (object files) καθώς και τις παλιές βιβλιοθήκες, κάνοντας τις περισσότερες εφαρμογές τρίτων κατασκευαστών να μη λειτουργούν. Σας συνιστούμε είτε να απεγκαταστήσετε όλα τα εγκατεστημένα ports και να τα εγκαταστήσετε ξανά, ή να τα αναβαθμίσετε αργότερα, χρησιμοποιώντας το βοηθητικό πρόγραμμα package:ports-mgmt/portupgrade[]. Οι περισσότεροι χρήστες θα θέλουν να κάνουν μια δοκιμαστική μεταγλώττιση χρησιμοποιώντας την ακόλουθη εντολή: [source,shell] .... # portupgrade -af .... Με αυτό τον τρόπο εξασφαλίζεται ότι τα πάντα θα επανεγκατασταθούν σωστά. Σημειώστε ότι αν θέσετε την μεταβλητή περιβάλλοντος `BATCH` στην τιμή `yes`, όλες οι πιθανές ερωτήσεις που θα εμφανιστούν κατά τη διαδικασία, θα απαντηθούν αυτόματα με `yes`. Έτσι δεν υπάρχει πλέον ανάγκη για παρέμβαση του χρήστη κατά τη διάρκεια της διαδικασίας μεταγλώττισης. Αν χρησιμοποιείται προσαρμοσμένος πυρήνας, η διαδικασία αναβάθμισης είναι ελαφρά πιο πολύπλοκη. Θα χρειαστείτε ένα αντίγραφο του πυρήνα [.filename]#GENERIC# στον κατάλογο [.filename]#/boot/GENERIC#. Αν δεν υπάρχει ήδη ο πυρήνας [.filename]#GENERIC# στο σύστημα σας, μπορείτε να τον ανακτήσετε χρησιμοποιώντας μια από τις παρακάτω μεθόδους: * Αν έχετε μεταγλωττίσει προσαρμοσμένο πυρήνα μόνο μια φορά, ο πυρήνας στον κατάλογο [.filename]#/boot/kernel.old# είναι στην πραγματικότητα ο [.filename]#GENERIC#. Απλώς μετονομάστε τον κατάλογο σε [.filename]#/boot/GENERIC#. * Αν έχετε φυσική πρόσβαση στο μηχάνημα, μπορείτε να εγκαταστήσετε ένα αντίγραφο του πυρήνα [.filename]#GENERIC# από το CD-ROM της εγκατάστασης. Τοποθετήστε το CD-ROM στον οδηγό και χρησιμοποιήστε τις παρακάτω εντολές: + [source,shell] .... # mount /cdrom # cd /cdrom/X.Y-RELEASE/kernels # ./install.sh GENERIC .... + Αντικαταστήστε το [.filename]#X.Y-RELEASE# με τους πραγματικούς αριθμούς της έκδοσης που χρησιμοποιείτε. Ο πυρήνας [.filename]#GENERIC# θα εγκατασταθεί από προεπιλογή στον κατάλογο [.filename]#/boot/GENERIC#. * Αν δεν έχετε κάποια από τις παραπάνω επιλογές, μπορείτε να μεταγλωττίσετε και να εγκαταστήσετε τον πυρήνα [.filename]#GENERIC# μέσω του πηγαίου κώδικα: + [source,shell] .... # cd /usr/src/ # env DESTDIR=/boot/GENERIC make kernel # mv /boot/GENERIC/boot/kernel/* /boot/GENERIC # rm -rf /boot/GENERIC/boot .... + Για να αναγνωριστεί αυτός ο πυρήνας ως [.filename]#GENERIC# από το `freebsd-update`, δεν θα πρέπει να έχουν γίνει αλλαγές στο αρχείο ρυθμίσεων του [.filename]#GENERIC#. Συνίσταται επίσης η μεταγλώττιση να γίνει χωρίς άλλες εξειδικευμένες ρυθμίσεις (κατά προτίμηση με κενό το [.filename]#/etc/make.conf#). Δεν χρειάζεται τη δεδομένη στιγμή να επανεκκινήσετε με τον πυρήνα [.filename]#GENERIC#. Είναι δυνατές οι αναβαθμίσεις τόσο σε μικρές όσο και σε μεγάλες εκδόσεις, δίνοντας στην εντολή `freebsd-update` τον επιθυμητό αριθμό έκδοσης. Για παράδειγμα, η ακόλουθη εντολή θα αναβαθμίσει το σύστημα σε FreeBSD 8.1: [source,shell] .... # freebsd-update -r 8.1-RELEASE upgrade .... Μετά τη λήψη της εντολής, το `freebsd-update` θα αξιολογήσει την κατάσταση του συστήματος και του αρχείου ρυθμίσεων του, σε μια απόπειρα να μαζέψει τις απαραίτητες πληροφορίες για την αναβάθμιση του συστήματος. Οι πληροφορίες που ανιχνεύθηκαν θα εμφανιστούν στην οθόνη με τη μορφή μιας λίστας εγκατεστημένων προγραμμάτων. Για παράδειγμα: [source,shell] .... Looking up update.FreeBSD.org mirrors... 1 mirrors found. Fetching metadata signature for 8.0-RELEASE from update1.FreeBSD.org... done. Fetching metadata index... done. Inspecting system... done. The following components of FreeBSD seem to be installed: kernel/smp src/base src/bin src/contrib src/crypto src/etc src/games src/gnu src/include src/krb5 src/lib src/libexec src/release src/rescue src/sbin src/secure src/share src/sys src/tools src/ubin src/usbin world/base world/info world/lib32 world/manpages The following components of FreeBSD do not seem to be installed: kernel/generic world/catpages world/dict world/doc world/games world/proflibs Does this look reasonable (y/n)? y .... Στο σημείο αυτό, το `freebsd-update` θα κατεβάσει όλα τα αρχεία που απαιτούνται για την αναβάθμιση. Σε μερικές περιπτώσεις, ο χρήστης θα κληθεί να απαντήσει σε ερωτήσεις σχετικά με το τι θα εγκατασταθεί ή πως πρέπει να προχωρήσει η διαδικασία. Όταν χρησιμοποιείται προσαρμοσμένος πυρήνας, το παραπάνω βήμα θα προκαλέσει την εμφάνιση της παρακάτω προειδοποίησης: [source,shell] .... WARNING: This system is running a "MYKERNEL" kernel, which is not a kernel configuration distributed as part of FreeBSD 8.0-RELEASE. This kernel will not be updated: you MUST update the kernel manually before running "/usr/sbin/freebsd-update install" .... Μπορείτε να αγνοήσετε αυτή την προειδοποίηση. Θα χρησιμοποιήσουμε τον ενημερωμένο πυρήνα [.filename]#GENERIC# ως ενδιάμεσο βήμα στη διαδικασία αναβάθμισης. Αφού μεταφορτωθούν όλα τα patches στο τοπικό σύστημα, θα γίνει και η εφαρμογή τους. Η διαδικασία αυτή ίσως πάρει λίγο χρόνο, ανάλογα με την ταχύτητα και το φορτίο του μηχανήματος. Έπειτα θα γίνει η συγχώνευση των αρχείων ρυθμίσεων. Αυτό το μέρος της διαδικασίας απαιτεί παρέμβαση του χρήστη, καθώς σε κάποια αρχεία θα χρειαστεί η συγχώνευση να γίνει χειροκίνητα με τη βοήθεια κάποιου συντάκτη κειμένου. Ο χρήστης θα ενημερώνεται για το αποτέλεσμα κάθε επιτυχημένης συγχώνευσης καθώς εξελίσσεται η διαδικασία. Σε περίπτωση αποτυχημένης συγχώνευσης (ή αγνόησης της), η διαδικασία αναβάθμισης θα διακοπεί. Ενδεχομένως να θέλετε να κρατήσετε αντίγραφο ασφαλείας του καταλόγου [.filename]#/etc# και να συγχωνεύσετε αργότερα (χειροκίνητα) κάποια σημαντικά αρχεία, όπως το [.filename]#master.passwd# ή το [.filename]#group#. [NOTE] ==== Στο σημείο αυτό δεν έχει γίνει ακόμα καμιά αλλαγή στο σύστημα, καθώς όλη η διαδικασία της αναβάθμισης και συγχώνευσης γίνεται σε διαφορετικό κατάλογο. Όταν εφαρμοστούν επιτυχώς όλα τα patches και ολοκληρωθεί με επιτυχία η διαδικασία της συγχώνευσης όλων των αρχείων ρύθμισης, ο χρήστης θα πρέπει να επιβεβαιώσει την τελική εγκατάσταση. ==== Με το τέλος αυτής τη διαδικασίας, η αναβάθμιση μπορεί να οριστικοποιηθεί στο δίσκο, με τη χρήση της ακόλουθης εντολής: [source,shell] .... # freebsd-update install .... Στην πρώτη φάση, θα αλλαχθεί ο πυρήνας και τα σχετικά αρθρώματα. Στο σημείο αυτό, θα πρέπει να γίνει επανεκκίνηση του μηχανήματος. Σε μηχάνημα με προσαρμοσμένο πυρήνα, χρησιμοποιήστε την εντολή man:nextboot[8] ώστε να θέσετε τον πυρήνα για την επόμενη εκκίνηση στον [.filename]#/boot/GENERIC# (ο οποίος έχει ήδη αναβαθμιστεί): [source,shell] .... # nextboot -k GENERIC .... [WARNING] ==== Πριν επανεκκινήσετε με τον πυρήνα [.filename]#GENERIC#, βεβαιωθείτε ότι περιέχει όλα τα προγράμματα οδήγησης που απαιτούνται για την επιτυχή εκκίνηση του συστήματος σας (και τη λειτουργία του δικτύου, αν αναβαθμίζετε κάποιο απομακρυσμένο μηχάνημα). Ειδικότερα, αν ο προηγούμενος προσαρμοσμένος πυρήνας περιείχε λειτουργίες που συνήθως παρέχονται από αρθρώματα (modules), βεβαιωθείτε ότι φροντίσατε να φορτωθούν προσωρινά στον πυρήνα [.filename]#GENERIC# χρησιμοποιώντας τις δυνατότητες του αρχείου [.filename]#/boot/loader.conf#. Ίσως επίσης να θέλετε να απενεργοποιήσετε υπηρεσίες, προσαρτήσεις δίσκων και δικτύου κ.λ.π. που δεν είναι απαραίτητες, μέχρι την ολοκλήρωση της διαδικασίας αναβάθμισης. ==== Μπορείτε να χρησιμοποιήσετε την ακόλουθη εντολή για να επανεκκινήσετε το μηχάνημα με τον νέο πυρήνα: [source,shell] .... # shutdown -r now .... Μόλις το σύστημα επανέλθει σε λειτουργία, θα πρέπει να εκτελέσετε ξανά το `freebsd-update`. Η προηγούμενη λειτουργία έχει αποθηκευθεί, και έτσι το `freebsd-update` δεν θα ξεκινήσει από την αρχή, αλλά θα απομακρύνει όλες τις παλιές κοινόχρηστες βιβλιοθήκες και τα αρχεία αντικειμενικού κώδικα. Για να συνεχίσετε σε αυτό το στάδιο, δώστε την ακόλουθη εντολή: [source,shell] .... # freebsd-update install .... [NOTE] ==== Ανάλογα με το αν υπήρξαν αλλαγές στους αριθμούς εκδόσεων των βιβλιοθηκών, ίσως να υπάρχουν μόνο δύο φάσεις εγκατάστασης αντί για τρεις. ==== Όλο το λογισμικό τρίτου κατασκευαστή θα πρέπει τώρα να μεταγλωττιστεί και να επανεγκατασταθεί από την αρχή. Αυτό απαιτείται καθώς το εγκατεστημένο λογισμικό ίσως εξαρτάται από βιβλιοθήκες οι οποίες αφαιρέθηκαν κατά τη διαδικασία της αναβάθμισης. Μπορείτε να χρησιμοποιήσετε την εντολή package:ports-mgmt/portupgrade[] για να αυτοματοποιήσετε αυτή τη διαδικασία. Για να ξεκινήσετε, δώστε τις παρακάτω εντολές: [source,shell] .... # portupgrade -f ruby # rm /var/db/pkg/pkgdb.db # portupgrade -f ruby18-bdb # rm /var/db/pkg/pkgdb.db /usr/ports/INDEX-*.db # portupgrade -af .... Μόλις ολοκληρωθεί το παραπάνω, ολοκληρώστε τη διαδικασία αναβάθμισης με μια τελευταία κλήση της εντολής `freebsd-update`. Δώστε την παρακάτω εντολή για να ολοκληρώσετε οτιδήποτε έχει απομείνει στη διαδικασία αναβάθμισης: [source,shell] .... # freebsd-update install .... Αν χρησιμοποιούσατε προσωρινά τον πυρήνα [.filename]#GENERIC#, αυτή είναι η κατάλληλη στιγμή για να μεταγλωττίσετε και να εγκαταστήσετε νέο προσαρμοσμένο πυρήνα, με το συνήθη τρόπο. Επανεκκινήστε το μηχάνημα σας στην νέα έκδοση του FreeBSD. Η διαδικασία έχει ολοκληρωθεί. [[freebsdupdate-system-comparison]] === Σύγκριση Κατάστασης του Συστήματος Το βοηθητικό πρόγραμμα `freebsd-update` μπορεί να χρησιμοποιηθεί για να ελέγξετε την κατάσταση της εγκατεστημένης έκδοσης του FreeBSD σε σχέση με μια γνωστή και σωστή εγκατάσταση. Η επιλογή αυτή συγκρίνει και αξιολογεί την τρέχουσα έκδοση των προγραμμάτων συστήματος, των βιβλιοθηκών και των αρχείων ρύθμισης. Για να ξεκινήσετε τη σύγκριση, δώστε την ακόλουθη εντολή: [source,shell] .... # freebsd-update IDS >> outfile.ids .... [WARNING] ==== Αν και το όνομα της εντολής είναι IDS, δεν θα πρέπει σε καμιά περίπτωση να θεωρηθεί υποκατάστατο ενός συστήματος ανίχνευσης εισβολέα (intrusion detection system) όπως είναι για παράδειγμα το package:security/snort[]. Καθώς το `freebsd-update` αποθηκεύει τα δεδομένα του στο δίσκο, υπάρχει πάντα η πιθανότητα να έχει γίνει αλλοίωση τους. Αν και η πιθανότητα αυτή μπορεί να μειωθεί χρησιμοποιώντας τη ρύθμιση `kern.securelevel` και αποθηκεύοντας τα δεδομένα της εντολής `freebsd-update` σε ένα σύστημα αρχείων μόνο για ανάγνωση, μια ακόμα καλύτερη λύση θα ήταν να συγκρίνετε το σύστημα με κάποιο δίσκο που θεωρείτε σίγουρα ασφαλή. Μπορείτε να χρησιμοποιήσετε ένα δίσκο DVD ή ένα εξωτερικό δίσκο USB που φυλάσσετε σε ασφαλή τοποθεσία. ==== Θα γίνει τώρα μια επιθεώρηση του συστήματος και θα εκτυπωθεί μια λίστα από αρχεία και τιμές hash του τύπου man:sha256[1], τόσο για το εγκατεστημένο όσο και για το γνωστό σύστημα. Επειδή πρόκειται για μεγάλη λίστα, την ανακατευθύνουμε στο αρχείο [.filename]#outfile.ids#. Στην οθόνη το κείμενο θα κυλούσε πολύ γρήγορα, και σύντομα θα γέμιζε την προσωρινή μνήμη απεικόνισης της κονσόλας. Οι γραμμές αυτές έχουν γενικά μεγάλο μήκος, αλλά είναι εύκολο να επεξεργαστούμε την έξοδο. Για παράδειγμα, για να δείτε μια λίστα όλων των αρχείων που διαφέρουν από αυτά της επίσημης έκδοσης, δώστε την ακόλουθη εντολή: [source,shell] .... # cat outfile.ids | awk '{ print $1 }' | more /etc/master.passwd /etc/motd /etc/passwd /etc/pf.conf .... Τα παραπάνω είναι μόνο ένα μέρος της εξόδου, υπάρχουν ακόμα πολλά διαφορετικά αρχεία. Κάποια από αυτά τα αρχεία είναι φυσιολογικό να έχουν τροποποιηθεί. Για παράδειγμα, το [.filename]#/etc/passwd# έχει τροποποιηθεί, καθώς έχουν προστεθεί χρήστες στο σύστημα. Σε μερικές περιπτώσεις, μπορεί να υπάρχουν και άλλα αρχεία, όπως π.χ. αρθρώματα πυρήνα τα οποία διαφέρουν αφού έχουν ενημερωθεί μέσω της `freebsd-update`. Για να εξαιρέσετε συγκεκριμένα αρχεία ή καταλόγους, προσθέστε τα στην επιλογή `IDSIgnorePaths` στο αρχείο ρυθμίσεων [.filename]#/etc/freebsd-update.conf#. Εκτός από την χρήση που αναφέραμε προηγουμένως, το σύστημα αυτό μπορεί να χρησιμοποιηθεί και ως τμήμα μιας λεπτομερούς διαδικασίας αναβάθμισης. [[updating-upgrading-portsnap]] == Portsnap: Ένα Εργαλείο Ενημέρωσης της Συλλογής των Ports Το βασικό σύστημα του FreeBSD περιλαμβάνει επίσης ένα βοηθητικό πρόγραμμα για την ενημέρωση της Συλλογής των Ports. Πρόκειται για το man:portsnap[8]. Όταν το εκτελέσετε, θα συνδεθεί σε ένα απομακρυσμένο διακομιστή, θα επαληθεύσει το κλειδί του πηγαίου κώδικα, και θα κατεβάσει ένα νέο αντίγραφο της Συλλογής των Ports. Το κλειδί χρησιμοποιείται για να επαληθεύσει την ακεραιότητα όλων των αρχείων που μεταφορτώνονται, εξασφαλίζοντας ότι δεν έχουν αλλοιωθεί κατά την μεταφορά. Για να κατεβάσετε τα τελευταία αρχεία της Συλλογής των Ports, εκτελέστε την ακόλουθη εντολή: [source,shell] .... # portsnap fetch Looking up portsnap.FreeBSD.org mirrors... 9 mirrors found. Fetching snapshot tag from geodns-1.FreeBSD.org... done. Fetching snapshot metadata... done. Updating from Tue May 22 02:12:15 CEST 2012 to Wed May 23 16:28:31 CEST 2012. Fetching 3 metadata patches.. done. Applying metadata patches... done. Fetching 3 metadata files... done. Fetching 90 patches.....10....20....30....40....50....60....70....80....90. done. Applying patches... done. Fetching 133 new ports or files... done. .... Το παραπάνω παράδειγμα δείχνει ότι το man:portsnap[8] βρήκε και επαλήθευσε αρκετά patches τα οποία πρέπει να εφαρμοστούν στο υπάρχον δέντρο των ports. Αυτό δείχνει επίσης ότι το πρόγραμμα έχει εκτελεστεί κατά το παρελθόν. Αν αυτή ήταν η πρώτη φορά που εκτελούνταν, θα γίνονταν απλώς κατέβασμα της συλλογής. Όταν το man:portsnap[8] εκτελέσει επιτυχώς τη λειτουργία `fetch`, η Συλλογή των Ports και τα αντίστοιχα patches έχουν αποθηκευθεί στο τοπικό σύστημα και έχει γίνει η επαλήθευση τους. Την πρώτη φορά που θα εκτελέσετε το `portsnap`, θα πρέπει να χρησιμοποιήσετε το `extract` για να εγκαταστήσετε τα ενημερωμένα αρχεία: [source,shell] .... # portsnap extract /usr/ports/.cvsignore /usr/ports/CHANGES /usr/ports/COPYRIGHT /usr/ports/GIDs /usr/ports/KNOBS /usr/ports/LEGAL /usr/ports/MOVED /usr/ports/Makefile /usr/ports/Mk/bsd.apache.mk /usr/ports/Mk/bsd.autotools.mk /usr/ports/Mk/bsd.cmake.mk ... .... Αν έχετε ήδη εγκατεστημένη την Συλλογή των Ports, χρησιμοποιήστε την εντολή `portsnap update` για να την ενημέρωσετε: [source,shell] .... # portsnap update .... Η διαδικασία έχει πλέον ολοκληρωθεί, και μπορείτε να εγκαταστήσετε ή να αναβαθμίσετε εφαρμογές χρησιμοποιώντας την ενημερωμένη Συλλογή των Ports. Μπορείτε να εκτελέσετε τις διαδικασίες `fetch` και `extract` ή `update` διαδοχικά, όπως φαίνεται στο παρακάτω παράδειγμα: [source,shell] .... # portsnap fetch update .... Η παραπάνω εντολή θα κατεβάσει την τελευταία έκδοση της Συλλογής των Ports και θα ενημερώσει τα τοπικά αρχεία σας στον κατάλογο [.filename]#/usr/ports#. [[updating-upgrading-documentation]] == Ενημερώνοντας την Τεκμηρίωση Εκτός από το βασικό σύστημα και την Συλλογή των Ports, η τεκμηρίωση αποτελεί επίσης βασικό τμήμα ενός συστήματος FreeBSD. Αν και πάντα μπορείτε να βρείτε την πιο πρόσφατη τεκμηρίωση στην http://www.freebsd.org/doc/[δικτυακή τοποθεσία του FreeBSD], ορισμένοι χρήστες ίσως έχουν αργή ή μη σταθερή σύνδεση με το Διαδίκτυο. Ευτυχώς υπάρχουν αρκετοί τρόποι για να ενημερώσετε την τεκμηρίωση η οποία παρέχεται με κάθε επίσημη έκδοση, διατηρώντας το δικό σας τοπικό αντίγραφο της πιο πρόσφατης τεκμηρίωσης του FreeBSD. [[csup-doc]] === Χρησιμοποιώντας το CVSup για την Ενημέρωση της Τεκμηρίωσης Ο πηγαίος κώδικας και το εγκατεστημένο αντίγραφο της τεκμηρίωσης του FreeBSD, μπορούν να ενημερωθούν με την βοήθεια του CVSup, χρησιμοποιώντας ένα μηχανισμό παρόμοιο με αυτόν που χρησιμοποιείται στο βασικό σύστημα (δείτε το <>). Η ενότητα αυτή περιγράφει: * Πως να εγκαταστήσετε τα εργαλεία που απαιτούνται για την τεκμηρίωση, με τα οποία μπορείτε να δημιουργήσετε την τεκμηρίωση του FreeBSD ξεκινώντας από τον πηγαίο της κώδικα. * Πως να κατεβάσετε ένα αντίγραφο του πηγαίου κώδικα της τεκμηρίωσης στον κατάλογο [.filename]#/usr/doc# χρησιμοποιώντας το CVSup. * Πως να αναδημιουργήσετε την τεκμηρίωση του FreeBSD από τον πηγαίο της κώδικα, και να την εγκαταστήσετε στον κατάλογο [.filename]#/usr/shared/doc/#. [[installing-documentation-toolchain]] === Εγκαθιστώντας το CVSup και τη Σειρά Εργαλείων της Τεκμηρίωσης Η αναδημιουργία της τεκμηρίωσης του FreeBSD από τον πηγαίο κώδικα, απαιτεί μια σχετικά μεγάλη συλλογή εργαλείων. Τα εργαλεία αυτά δεν είναι μέρος του βασικού συστήματος του FreeBSD, καθώς χρειάζονται αρκετό χώρο στο δίσκο και δεν είναι χρήσιμα σε όλους τους χρήστες. Είναι χρήσιμα μόνο στους χρήστες που ασχολούνται με τη συγγραφή νέας τεκμηρίωσης για το FreeBSD, ή που ενημερώνουν συχνά την τοπική τους τεκμηρίωση μέσω του πηγαίου κώδικα. Όλα τα απαιτούμενα εργαλεία διατίθενται μέσω της Συλλογής των Ports. Το package:textproc/docproj[] είναι το κύριο port το οποίο έχει αναπτυχθεί από την Ομάδα Τεκμηρίωσης του FreeBSD, για να βοηθήσει στην αρχική εγκατάσταση και τις μελλοντικές αναβαθμίσεις αυτών των εργαλείων. [NOTE] ==== Αν δεν απαιτείται η δημιουργία τεκμηρίωσης σε μορφές PostScript(R) ή PDF, μπορείτε να εγκαταστήσετε το port package:textproc/docproj-nojadetex[]. Αυτή η έκδοση των εργαλείων περιέχει τα πάντα εκτός από την μηχανή στοιχειοθεσίας teTeX. Το teTeX είναι μια αρκετά μεγάλη συλλογή εργαλείων, και δεν έχει νόημα να το εγκαταστήσετε αν δεν σας είναι απαραίτητη η παραγωγή της τεκμηρίωσης σε μορφή PDF. ==== Για περισσότερες πληροφορίες σχετικά με την εγκατάσταση και χρήση του CVSup, δείτε την ενότητα crossref:mirrors[cvsup,Χρησιμοποιώντας το CVSup]. [[updating-documentation-sources]] === Ενημερώνοντας τον Πηγαίο Κώδικα της Τεκμηρίωσης Το βοηθητικό πρόγραμμα CVSup μπορεί να κατεβάσει ένα καθαρό αντίγραφο του πηγαίου κώδικα της τεκμηρίωσης, χρησιμοποιώντας το [.filename]#/usr/shared/examples/cvsup/doc-supfile# ως πρότυπο αρχείο ρυθμίσεων. Ο προεπιλεγμένος υπολογιστής ενημερώσεων στο παραπάνω αρχείο είναι ρυθμισμένος σε πλασματική τιμή. Ωστόσο, η man:cvsup[1] δέχεται όνομα υπολογιστή μέσω της γραμμής εντολών, έτσι μπορείτε να ανακτήσετε τον πηγαίο κώδικα της τεκμηρίωσης μέσω κάποιου εξυπηρετητή CVSup γράφοντας: [source,shell] .... # cvsup -h cvsup.FreeBSD.org -g -L 2 /usr/shared/examples/cvsup/doc-supfile .... Αλλάξτε το _cvsup.FreeBSD.org_ με τον κοντινότερο σας εξυπηρετητή CVSup. Δείτε το crossref:mirrors[cvsup-mirrors,Τοποθεσίες CVSup] για μια πλήρη λίστα των mirror sites. Το αρχικό κατέβασμα του πηγαίου κώδικα της τεκμηρίωσης μπορεί να διαρκέσει αρκετή ώρα. Αφήστε το να εκτελείται μέχρι να ολοκληρωθεί. Μπορείτε να συνεχίσετε να ενημερώνετε τον πηγαίο κώδικα της τεκμηρίωσης χρησιμοποιώντας την ίδια εντολή. Το βοηθητικό πρόγραμμα CVSup κατεβάζει και αντιγράφει μόνο τις ενημερώσεις σε σχέση με την τελευταία εκτέλεση του, έτσι κάθε εκτέλεση του CVSup μετά την πρώτη θα πρέπει να είναι αρκετά γρήγορη. Μετά την αρχική ανάκτηση του πηγαίου κώδικα, ένας εναλλακτικός τρόπος ενημέρωσης της τεκμηρίωσης είναι μέσω του αρχείου [.filename]#Makefile# στον κατάλογο [.filename]#/usr/doc#. Θέτοντας τις μεταβλητές `SUP_UPDATE`, `SUPHOST` και `DOCSUPFILE` στο αρχείο [.filename]#/etc/make.conf#, μπορείτε να εκτελέσετε: [source,shell] .... # cd /usr/doc # make update .... Τυπικές τιμές για τις παραπάνω επιλογές του man:make[1] στο αρχείο [.filename]#/etc/make.conf# είναι: [.programlisting] .... SUP_UPDATE= yes SUPHOST?= cvsup.freebsd.org DOCSUPFILE?= /usr/shared/examples/cvsup/doc-supfile .... [NOTE] ==== Αν θέσετε τις τιμές των `SUPHOST` και `DOCSUPFILE` σε `?=`, θα μπορείτε να ορίσετε άλλες τιμές για αυτές στη γραμμή εντολής του make. Αυτός είναι και ο συνιστώμενος τρόπος να προσθέσετε επιλογές στο [.filename]#make.conf#, ώστε να αποφεύγετε να τροποποιείτε συνέχεια το αρχείο κάθε φορά που θέλετε να δοκιμάσετε μια νέα τιμή σε μια επιλογή. ==== [[updating-documentation-options]] === Προσαρμογή Επιλογών στον Πηγαίο Κώδικα της Τεκμηρίωσης Το σύστημα ενημέρωσης και μεταγλώττισης της τεκμηρίωσης του FreeBSD, υποστηρίζει μερικές επιλογές που διευκολύνουν τη διαδικασία ενημέρωσης ενός μόνο μέρους της τεκμηρίωσης, ή την μεταγλώττιση της τεκμηρίωσης κάποιων συγκεκριμένων μεταφράσεων. Αν θέλετε οι επιλογές αυτές να ισχύουν μόνιμα, μπορείτε να τις ορίσετε μέσα στο αρχείο [.filename]#/etc/make.conf#, διαφορετικά μπορείτε να τις ορίζετε κάθε φορά στη γραμμή εντολής της man:make[1]. Κάποιες από τις επιλογές αυτές φαίνονται παρακάτω: `DOC_LANG`:: Λίστα των γλωσσών και κωδικοποιήσεων που θα μεταγλωττιστούν και θα εγκατασταθούν, π.χ. `en_US.ISO8859-1` αν είναι επιθυμητή μόνο η Αγγλική τεκμηρίωση. `FORMATS`:: Η μορφή (ή μια λίστα από μορφές) στην οποία θα παραχθεί η μεταγλωττισμένη τεκμηρίωση. Τη δεδομένη στιγμή υποστηρίζονται οι μορφές `html`, `html-split`, `txt`, `ps`, `pdf` και `rtf`. `SUPHOST`:: Το όνομα του εξυπηρετητή CVSup που θα χρησιμοποιηθεί κατά την ενημέρωση. `DOCDIR`:: Ο κατάλογος στον οποίο θα εγκατασταθεί η τεκμηρίωση. Από προεπιλογή είναι ο [.filename]#/usr/shared/doc#. Για περισσότερες πληροφορίες σχετικά με τις μεταβλητές του make που υποστηρίζονται ως επιλογές συστήματος στο FreeBSD, δείτε την σελίδα manual του man:make.conf[5]. Για περισσότερες πληροφορίες και μεταβλητές make που υποστηρίζονται από το σύστημα μεταγλώττισης της τεκμηρίωσης του FreeBSD, παρακαλούμε δείτε τις link:/books/fdp-primer[Οδηγίες της Ομάδας Τεκμηρίωσης του FreeBSD για Νέους Συγγραφείς]. [[updating-installed-documentation]] === Εγκατάσταση της Τεκμηρίωσης του FreeBSD από τον Πηγαίο Κώδικα Έχοντας ενημερώσει το τοπικό αντίγραφο του πηγαίου κώδικα της τεκμηρίωσης στον κατάλογο [.filename]#/usr/doc#, είμαστε έτοιμοι για την ενημέρωση της εγκατεστημένης τεκμηρίωσης. Μπορείτε να προχωρήσετε σε πλήρη ενημέρωση όλων των γλωσσών που ορίζονται στην επιλογή `DOC_LANG` του Makefile, γράφοντας: [source,shell] .... # cd /usr/doc # make install clean .... Αν έχετε ρυθμίσει το [.filename]#make.conf# με τις σωστές τιμές για τις επιλογές `DOCSUPFILE`, `SUPHOST` και `SUP_UPDATE`, μπορείτε να συνδυάσετε τα βήματα ενημέρωσης και εγκατάστασης του πηγαίου κώδικα σε ένα, γράφοντας: [source,shell] .... # cd /usr/doc # make update install clean .... Αν επιθυμείτε την ενημέρωση μιας μόνο συγκεκριμένης γλώσσας, μπορείτε να καλέσετε την man:make[1] σε ένα συγκεκριμένο υποκατάλογο του [.filename]#/usr/doc#, π.χ.: [source,shell] .... # cd /usr/doc/en_US.ISO8859-1 # make update install clean .... Μπορείτε να καθορίσετε τη μορφή της τεκμηρίωσης που θα εγκατασταθεί, ρυθμίζοντας τη μεταβλητή `FORMATS` του make, π.χ.: [source,shell] .... # cd /usr/doc # make FORMATS='html html-split' install clean .... [[doc-ports]] === Χρησιμοποιώντας τα Ports της Τεκμηρίωσης Στην προηγούμενη ενότητα, παρουσιάσαμε μια μέθοδο για την ενημέρωση της τεκμηρίωσης του FreeBSD μέσω του πηγαίου κώδικα. Ωστόσο, οι ενημερώσεις που βασίζονται στον πηγαίο κώδικα μπορεί να μην είναι δυνατές ή πρακτικές για κάθε σύστημα FreeBSD. Η διαδικασία μεταγλώττισης του πηγαίου κώδικα της τεκμηρίωσης απαιτεί σχετικά μεγάλο αριθμό εργαλείων και βοηθητικών προγραμμάτων, γνωστά ως _εργαλεία τεκμηρίωσης_. Απαιτεί επίσης και μια σχετική εξοικείωση με το CVS και τη διαδικασία ανάκτησης των αρχείων από αυτό, καθώς και μια σειρά από βήματα για τη μεταγλώττιση του κώδικα. Στην ενότητα αυτή περιγράφουμε ένα εναλλακτικό τρόπο ενημέρωσης της τεκμηρίωσης που εγκαθίσταται μαζί με το FreeBSD. Η μέθοδος αυτή χρησιμοποιεί την Συλλογή των Ports και δίνει τις παρακάτω δυνατότητες: * Κατέβασμα και εγκατάσταση προ-μεταγλωττισμένων στιγμιότυπων της τεκμηρίωσης, χωρίς να απαιτείται καμιά τοπική μεταγλώττιση (εξαλείφοντας έτσι και την ανάγκη εγκατάστασης όλων των εργαλείων τεκμηρίωσης). * Κατέβασμα του πηγαίου κώδικα της τεκμηρίωσης και μεταγλώττιση του μέσω των δυνατοτήτων που παρέχουν τα εργαλεία των ports (απλοποιώντας με αυτό τον τρόπο τη χειροκίνητη διαδικασία ανάκτησης και μεταγλώττισης). Αυτές οι δύο μέθοδοι ενημέρωσης της τεκμηρίωσης του FreeBSD υποστηρίζονται από μια σειρά από _ports τεκμηρίωσης_ τα οποία ενημερώνονται κάθε μήνα από την {doceng}. Στη Συλλογή των Ports, θα τα βρείτε κάτω από την κατηγορία http://www.freshports.org/docs/[docs]. [[doc-ports-install-make]] ==== Μεταγλώττιση και Εγκατάσταση των Ports της Τεκμηρίωσης Τα ports της τεκμηρίωσης χρησιμοποιούν τις δυνατότητες μεταγλώττισης που παρέχει το σύστημα των ports ώστε να διευκολύνουν τη διαδικασία δημιουργίας της τεκμηρίωσης. Με αυτό τον τρόπο η ανάκτηση του πηγαίου κώδικα της τεκμηρίωσης γίνεται αυτόματα με την εκτέλεση της man:make[1] και τις κατάλληλες ρυθμίσεις στο περιβάλλον. Η εγκατάσταση και απεγκατάσταση της τεκμηρίωσης είναι το ίδιο εύκολη με την εγκατάσταση οποιουδήποτε άλλου port ή πακέτου στο FreeBSD. [NOTE] ==== Σε περίπτωση τοπικής μεταγλώττισης των ports της τεκμηρίωσης, απαιτείται και η εγκατάσταση των _εργαλείων τεκμηρίωσης_. Τα εργαλεία αυτά ωστόσο θα εγκατασταθούν αυτόματα. ==== Η οργάνωση των ports τεκμηρίωσης φαίνεται παρακάτω: * Υπάρχει ένα κεντρικό "master port", το package:misc/freebsd-doc-en[] το οποίο διαθέτει τα απαραίτητα αρχεία και αποτελεί την βάση όλων των άλλων ports τεκμηρίωσης. Από προεπιλογή, το port αυτό μεταγλωττίζει μόνο την Αγγλική τεκμηρίωση. * Υπάρχει ένα port "όλα σε ένα", το package:misc/freebsd-doc-all[] το οποίο μεταγλωττίζει και εγκαθιστά όλη την τεκμηρίωση σε όλες τις διαθέσιμες γλώσσες. * Τέλος, υπάρχει ένα "εξαρτώμενο port" για κάθε μετάφραση, π.χ.: package:misc/freebsd-doc-el[] για την Ελληνική τεκμηρίωση. Όλα αυτά τα ports εξαρτώνται από το master port και εγκαθιστούν την τεκμηρίωση που έχει μεταφραστεί στην αντίστοιχη γλώσσα. Για να εγκαταστήσετε ένα port τεκμηρίωσης από τον πηγαίο κώδικα, εκτελέστε τις παρακάτω εντολές (ως `root`): [source,shell] .... # cd /usr/ports/misc/freebsd-doc-en # make install clean .... Το παραπάνω θα μεταγλωττίσει και θα εγκαταστήσει την Αγγλική τεκμηρίωση σε μορφή τμηματικών HTML κειμένων (όπως χρησιμοποιούνται και στο http://www.FreeBSD.org[http://www.FreeBSD.org]), στον κατάλογο [.filename]#/usr/local/shared/doc/freebsd#. [[doc-ports-options]] ===== Συνηθισμένες Επιλογές και Παράμετροι Μεταγλώττισης Μπορείτε να χρησιμοποιήσετε αρκετές επιλογές για την τροποποίηση της προεπιλεγμένης συμπεριφοράς των ports τεκμηρίωσης. Παρακάτω δείχνουμε μερικές μόνο από αυτές: `WITH_HTML`:: Επιτρέπει τη δημιουργία της τεκμηρίωσης σε μορφή HTML. Θα δημιουργηθεί ένα αρχείο HTML για κάθε κείμενο. Η μορφοποιημένη τεκμηρίωση θα αποθηκευθεί, ανάλογα με την περίπτωση, σε ένα αρχείο με όνομα [.filename]#article.html# ή [.filename]#book.html#. Θα γίνει επίσης και αποθήκευση των αντίστοιχων εικόνων. `WITH_PDF`:: Επιτρέπει τη δημιουργία εγγράφου σε μορφή Adobe(R) Portable Document Format (PDF) για χρήση με τον Adobe(R) Acrobat Reader(R), το Ghostscript, ή άλλα προγράμματα προβολής εγγράφων PDF. Η μορφοποιημένη τεκμηρίωση θα αποθηκευθεί, ανάλογα με την περίπτωση, σε ένα αρχείο [.filename]#article.pdf# ή [.filename]#book.pdf#. `DOCBASE`:: Πρόκειται για την θέση στην οποία θα εγκατασταθεί η τεκμηρίωση. Από προεπιλογή, είναι ο κατάλογος [.filename]#/usr/local/shared/doc/freebsd#. + [NOTE] ==== Παρατηρήστε ότι ο προεπιλεγμένος κατάλογος διαφέρει από αυτόν που χρησιμοποιείται στη μέθοδο CVSup. Αυτό συμβαίνει επειδή γίνεται εγκατάσταση port, τα οποία από προεπιλογή χρησιμοποιούν τον κατάλογο [.filename]#/usr/local#. Μπορείτε να παρακάμψετε αυτή την προεπιλογή, αλλάζοντας την τιμή της μεταβλητής `PREFIX`. ==== Παρακάτω θα βρείτε ένα σύντομο παράδειγμα σχετικό με τη χρήση των μεταβλητών για την εγκατάσταση της Αγγλικής τεκμηρίωσης σε μορφή PDF: [source,shell] .... # cd /usr/ports/misc/freebsd-doc-en # make -DWITH_PDF DOCBASE=share/doc/freebsd/en install clean .... [[doc-ports-install-package]] ==== Χρήση Έτοιμων Πακέτων Τεκμηρίωσης Η μεταγλώττιση των ports τεκμηρίωσης από τον πηγαίο κώδικα (όπως είδαμε στην προηγούμενη ενότητα), απαιτεί τοπική εγκατάσταση των αντίστοιχων εργαλείων τεκμηρίωσης και επάρκεια χώρου στο δίσκο για την διαδικασία. Όταν δεν διατίθενται οι απαραίτητοι πόροι για την εγκατάσταση των εργαλείων τεκμηρίωσης (ή επειδή η μεταγλώττιση από τα ports θα χρησιμοποιούσε πολύ χώρο), η εγκατάσταση μπορεί να γίνει μέσω έτοιμων πακέτων τεκμηρίωσης. H {doceng} προετοιμάζει μηνιαία στιγμιότυπα πακέτων τεκμηρίωσης του FreeBSD. Τα έτοιμα αυτά πακέτα μπορούν να χρησιμοποιηθούν με την βοήθεια οποιουδήποτε εργαλείου διαχείρισης πακέτων που διατίθεται με το FreeBSD, όπως για παράδειγμα τα man:pkg_add[1], man:pkg_delete[1] κ.λ.π. [NOTE] ==== Όταν χρησιμοποιείτε έτοιμα πακέτα, η εγκατάσταση της τεκμηρίωσης της επιλεγμένης γλώσσας θα γίνεται σε όλες τις διαθέσιμες μορφές. ==== Για παράδειγμα, η παρακάτω εντολή θα εγκαταστήσει την τελευταία έκδοση του έτοιμου πακέτου της Ελληνικής τεκμηρίωσης: [source,shell] .... # pkg_add -r el-freebsd-doc .... [NOTE] ==== Τα πακέτα χρησιμοποιούν τη μορφή `lang-freebsd-doc` στο όνομα τους, η οποία διαφέρει από την αντίστοιχη μορφή του port. Το _lang_ είναι η σύντομη μορφή της γλώσσας, π.χ. `el` για Ελληνικά ή `zh_cn` για Απλοποιημένα Κινέζικα. ==== [[doc-ports-update]] ==== Ενημερώνοντας τα Ports της Τεκμηρίωσης Για να ενημερώσετε ένα ήδη εγκατεστημένο port τεκμηρίωσης, μπορείτε να χρησιμοποιήσετε οποιοδήποτε εργαλείο αναβάθμισης ports. Για παράδειγμα, η παρακάτω εντολή ενημερώνει την εγκατεστημένη Ελληνική τεκμηρίωση μέσω του εργαλείου package:ports-mgmt/portupgrade[] με τη χρήση μόνο έτοιμων πακέτων: [source,shell] .... # portupgrade -PP el-freebsd-doc .... [[current-stable]] == Παρακολούθηση Ενός Κλάδου Ανάπτυξης Υπάρχουν δύο κλάδοι ανάπτυξης στο FreeBSD, το FreeBSD-CURRENT και το FreeBSD-STABLE. Στην ενότητα αυτή, θα εξηγήσουμε κάποια πράγματα σχετικά με αυτούς τους κλάδους, και θα περιγράψουμε πως μπορείτε να διατηρήσετε το σύστημα σας ενημερωμένο σε κάποιον από αυτούς. Θα μιλήσουμε αρχικά για το FreeBSD-CURRENT και έπειτα για το FreeBSD-STABLE. [[current]] === Παρακολουθώντας το FreeBSD-CURRENT Καθώς διαβάζετε αυτό το κείμενο, να έχετε υπόψιν σας ότι το FreeBSD-CURRENT είναι πράγματι η "κόψη του ξυραφιού" στην ανάπτυξη του FreeBSD. Οι χρήστες του FreeBSD-CURRENT αναμένεται να έχουν αυξημένες τεχνικές γνώσεις, και να είναι ικανοί να επιλύουν δύσκολα προβλήματα του συστήματος τους, χωρίς βοήθεια. Αν είστε καινούριος στο FreeBSD, μάλλον θα πρέπει να το ξανασκεφτείτε πριν το εγκαταστήσετε. ==== Τι Είναι το FreeBSD-CURRENT; Το FreeBSD-CURRENT αποτελείται από τον πλέον πρόσφατο λειτουργικό πηγαίο κώδικα του FreeBSD. Περιλαμβάνει αλλαγές που βρίσκονται σε εξέλιξη, πειραματικές αλλαγές, και μηχανισμούς μετάβασης οι οποίοι δεν είναι σίγουρο ότι θα περιλαμβάνονται στην επόμενη επίσημη έκδοση του λογισμικού. Αν και πολλά μέλη της ομάδας ανάπτυξης του FreeBSD μεταγλωττίζουν καθημερινά τον πηγαίο κώδικα του FreeBSD-CURRENT, υπάρχουν χρονικές περίοδοι που η μεταγλώττιση του είναι αδύνατη. Τα προβλήματα αυτά γενικά επιλύονται όσο πιο γρήγορα γίνεται, αλλά το αν το FreeBSD-CURRENT θα σας φέρει την καταστροφή ή κάποιο πολυπόθητο χαρακτηριστικό, είναι περισσότερο θέμα της χρονικής στιγμής που θα επιλέξετε να ανακτήσετε τον πηγαίο κώδικα! ==== Ποιος Χρειάζεται το FreeBSD-CURRENT; Το FreeBSD-CURRENT διατίθεται και ενδιαφέρει κυρίως τις παρακάτω τρεις ομάδες: . Μέλη της κοινότητας του FreeBSD που δουλεύουν ενεργά σε κάποιο τμήμα του πηγαίου κώδικα, και για τους οποίους η παρακολούθηση του FreeBSD-CURRENT είναι απόλυτα απαραίτητη. . Μέλη της κοινότητας του FreeBSD που είναι ενεργοί testers και είναι πρόθυμοι να αναλώσουν το χρόνο τους για να λύσουν προβλήματα, ώστε να εξασφαλίσουν ότι το FreeBSD-CURRENT θα παραμείνει όσο το δυνατόν πιο σωστό. Συνήθως, τα μέλη αυτά κάνουν προτάσεις για τοπικές αλλαγές και για την γενική κατεύθυνση του FreeBSD, και στέλνουν patches για την πραγματοποίηση τους. . Αυτοί που απλώς θέλουν να βλέπουν τις τελευταίες ενημερώσεις, ή να χρησιμοποιούν τον τελευταίο πηγαίο κώδικα ως αναφορά (π.χ. για _μελέτη_ και όχι για εκτέλεση). Μέλη αυτής της ομάδας μπορεί επίσης περιστασιακά να συνεισφέρουν σχόλια ή κώδικα. ==== Τι _Δεν_ Είναι το FreeBSD-CURRENT; . Δεν είναι ένας γρήγορος τρόπος να πάρετε κώδικα ο οποίος δεν έχει κυκλοφορήσει ακόμα σε κάποια έκδοση, με την ελπίδα ότι περιέχει κάποια νέα εκπληκτική δυνατότητα και θέλετε να είστε ο πρώτος που τη χρησιμοποιεί. Αν είστε πράγματι ο πρώτος που την χρησιμοποιεί, θα είστε επίσης και ο πρώτος που θα συναντήσετε τα νέα προβλήματα και bugs. . Δεν είναι ένας γρήγορος τρόπος για να ανακτήσετε διορθώσεις προβλημάτων. Κάθε νέα έκδοση του FreeBSD-CURRENT μπορεί να εισάγει τόσα νέα bugs όσα και αυτά που διορθώνει. . Το FreeBSD-CURRENT δεν αποτελεί "επίσημα υποστηριζόμενο" κώδικα. Αν και καταβάλλουμε κάθε δυνατή προσπάθεια να βοηθήσουμε όσους ανήκουν "πραγματικά" σε κάποια από τις τρεις ομάδες που αναφέραμε, ωστόσο _δεν έχουμε το χρόνο_ να παρέχουμε τεχνική υποστήριξη. Αυτό δεν συμβαίνει επειδή είμαστε κακοήθεις και δύσκολοι και δεν θέλουμε να βοηθάμε τους ανθρώπους (δεν θα είχαμε καν δημιουργήσει το FreeBSD αν σκεφτόμασταν έτσι). Πολύ απλά, δεν μπορούμε να απαντάμε εκατοντάδες μηνύματα την ημέρα και _ταυτόχρονα_ να δουλεύουμε στο FreeBSD! Αν δώσετε σε οποιοδήποτε μέλος της ομάδας ανάπτυξης την επιλογή να απαντάει σε πολλές ερωτήσεις σχετικά με πειραματικό κώδικα ή να δουλεύει για τη βελτίωση του FreeBSD, θα επιλέξει σίγουρα το δεύτερο. ==== Χρησιμοποιώντας το FreeBSD-CURRENT . Γραφτείτε στις λίστες {freebsd-current} και {svn-src-head}. Δεν είναι απλώς καλή ιδέα, είναι _βασικό_ να το κάνετε. Αν δεν είστε γραμμένος στη λίστα _{freebsd-current}_, δεν θα βλέπετε τα σχόλια σχετικά με την τρέχουσα κατάσταση του συστήματος από όσους το χρησιμοποιούν, και έτσι πιθανώς θα καταλήξετε να αντιμετωπίζετε πολλά προβλήματα που άλλοι έχουν ήδη ανακαλύψει και λύσει. Ακόμα πιο σημαντικό είναι ότι θα χάνετε σημαντικές ανακοινώσεις, οι οποίες μπορεί να είναι κρίσιμες για την διατήρηση του συστήματος σας σε υγιή κατάσταση. + Η λίστα {svn-src-head} θα σας επιτρέψει να βλέπετε τις καταχωρήσεις στο commit log για κάθε αλλαγή που γίνεται, καθώς και πληροφορίες για πιθανές παρενέργειες που μπορεί να έχει. + -Για να γραφτείτε σε αυτές, ή σε οποιεσδήποτε από τις υπάρχουσες λίστες, επισκεφθείτε την τοποθεσία {mailman-lists-url} και επιλέξτε τη λίστα στην οποία θέλετε να γίνετε συνδρομητής. Οδηγίες για την υπόλοιπη διαδικασία θα βρείτε επιτόπου. Αν σας ενδιαφέρει να παρακολουθείτε τις αλλαγές σε όλο το δέντρο πηγαίου κώδικα, σας συνιστούμε να εγγραφείτε στη λίστα {svn-src-all}. +Για να γραφτείτε σε αυτές, ή σε οποιεσδήποτε από τις υπάρχουσες λίστες, επισκεφθείτε την τοποθεσία {mailing-lists-url} και επιλέξτε τη λίστα στην οποία θέλετε να γίνετε συνδρομητής. Οδηγίες για την υπόλοιπη διαδικασία θα βρείτε επιτόπου. Αν σας ενδιαφέρει να παρακολουθείτε τις αλλαγές σε όλο το δέντρο πηγαίου κώδικα, σας συνιστούμε να εγγραφείτε στη λίστα {svn-src-all}. . Ανακτήστε τον πηγαίο κώδικα από ένα crossref:mirrors[mirrors,mirror site] του FreeBSD. Αυτό μπορεί να γίνει με δύο τρόπους: .. Χρησιμοποιήστε το πρόγραμμα crossref:mirrors[cvsup,cvsup] σε συνδυασμό με το [.filename]#supfile# με την ονομασία [.filename]#standard-supfile# το οποίο θα βρείτε στον κατάλογο [.filename]#/usr/shared/examples/cvsup#. Αυτή είναι και η πλέον συνιστώμενη μέθοδος, καθώς σας επιτρέπει να ανακτήσετε όλη τη συλλογή με μια κίνηση, και στις επόμενες ανανεώσεις θα παίρνετε μόνο τις αλλαγές. Πολλοί χρήστες εκτελούν το `cvsup` μέσω του `cron` ώστε να κρατάνε τον πηγαίο κώδικα του συστήματος τους πάντα ανανεωμένο αυτόματα. Θα πρέπει να προσαρμόσετε το υπόδειγμα του [.filename]#supfile# που δίνουμε παραπάνω, και να ρυθμίσετε το crossref:mirrors[cvsup,cvsup] για το περιβάλλον σας. + [NOTE] ==== Το υπόδειγμα του αρχείου [.filename]#standard-supfile# προορίζεται για χρήση με κάποιο συγκεκριμένο κλάδο ασφάλειας (security branch) του FreeBSD, και όχι με το FreeBSD-CURRENT. Θα πρέπει να επεξεργαστείτε το αρχείο και να αντικαταστήσετε την παρακάτω γραμμή: [.programlisting] .... *default release=cvs tag=RELENG_X_Y .... με την ακόλουθη: [.programlisting] .... *default release=cvs tag=. .... Για περισσότερες πληροφορίες σχετικά με τα tags που μπορείτε να χρησιμοποιήσετε, παρακαλούμε διαβάστε στο Εγχειρίδιο την ενότητα crossref:mirrors[cvs-tags,Ετικέτες (Tags) για το CVS]. ==== .. Χρησιμοποιήστε την υπηρεσία CTM. Αν έχετε πολύ κακή συνδεσιμότητα (υψηλό κόστος σύνδεσης ή πρόσβαση μόνο μέσω email) το CTM αποτελεί για σας μια εναλλακτική λύση. Μπορεί ωστόσο να σας δημιουργήσει διάφορα προβλήματα και να καταλήξετε με χαλασμένα αρχεία. Για το λόγο αυτό, το CTM χρησιμοποιείται σπάνια, κάτι το οποίο αυξάνει ακόμα περισσότερο την πιθανότητα να μη δουλεύει σωστά για μεγάλα χρονικά διαστήματα. Σας συνιστούμε να χρησιμοποιήσετε το CVSup αν διαθέτετε modem 9600 bps ή ταχύτερο. . Αν σκοπεύετε να ανακτήσετε τον πηγαίο κώδικα για κανονική χρήση (εκτέλεση) και όχι απλώς για να τον δείτε, τότε ανακτήστε _ολόκληρο_ το FreeBSD-CURRENT και όχι κάποια επιλεγμένα τμήματα. Σε διαφορετική περίπτωση, είναι αρκετά πιθανό να συναντήσετε προβλήματα, καθώς πολλά κομμάτια του κώδικα εξαρτώνται από ανανεώσεις σε άλλα, και δεν μπορούν να μεταγλωττιστούν αυτόνομα. + Πριν μεταγλωττίσετε το FreeBSD-CURRENT, διαβάστε προσεκτικά το [.filename]#Makefile# στον κατάλογο [.filename]#/usr/src#. Θα πρέπει να <> την πρώτη φορά, ως μέρος της διαδικασίας αναβάθμισης. Διαβάζοντας την {freebsd-current} και το [.filename]#/usr/src/UPDATING# θα είστε ενημερωμένοι για νέες διαδικασίες όσο αφορά την εκκίνηση στο νέο σας σύστημα. Οι διαδικασίες αυτές είναι συχνά απαραίτητες όσο πλησιάζουμε σε μια νέα επίσημη έκδοση. . Γίνετε ενεργό μέλος! Αν χρησιμοποιείτε το FreeBSD-CURRENT, θέλουμε να ξέρουμε τη γνώμη σας για αυτό, ειδικά αν έχετε προτάσεις για βελτιώσεις ή διορθώσεις λαθών. Προτάσεις που συνοδεύονται και από κώδικα γίνονται δεκτές με ενθουσιασμό! [[stable]] === Χρησιμοποιώντας το FreeBSD-STABLE ==== Τι Είναι το FreeBSD-STABLE; Το FreeBSD-STABLE είναι ένας κλάδος ανάπτυξης από τον οποίο προκύπτουν οι "μεγάλες" (major) εκδόσεις. Οι αλλαγές εισάγονται σε αυτό τον κλάδο με διαφορετικό ρυθμό, και με τη γενική παραδοχή ότι έχουν πρώτα περάσει από το FreeBSD-CURRENT για δοκιμή. Ωστόσο, _δεν παύει_ να είναι ένας κλάδος ανάπτυξης, και αυτό σημαίνει ότι ο κώδικας του FreeBSD-STABLE μπορεί μια δεδομένη χρονική στιγμή να είναι ακατάλληλος για συγκεκριμένες εφαρμογές. Πρόκειται για μια ακόμα γραμμή ανάπτυξης για τους προγραμματιστές, και δεν είναι απαραίτητα κατάλληλη για τους τελικούς χρήστες. ==== Ποιος Χρειάζεται το FreeBSD-STABLE; Αν σας ενδιαφέρει να παρακολουθείτε ή να συμβάλλετε στην ανάπτυξη του FreeBSD, και ειδικά όσο αφορά την επόμενη επίσημη έκδοση του από τον ίδιο κλάδο (point release), είναι καλή ιδέα να παρακολουθείτε το FreeBSD-STABLE. Αν και είναι αλήθεια ότι οι διορθώσεις ασφάλειας γίνονται και στον κλάδο FreeBSD-STABLE, ωστόσο _δεν χρειάζεται_ να παρακολουθείτε το FreeBSD-STABLE μόνο για αυτό το λόγο. Κάθε αναφορά προβλήματος ασφάλειας του FreeBSD εξηγεί πως να διορθώσετε το πρόβλημα για κάθε επίσημη έκδοση η οποία επηρεάζεται από αυτό , και η παρακολούθηση ενός κλάδου ανάπτυξης μόνο για λόγους ασφαλείας, πιθανόν να φέρει επίσης και άλλες ανεπιθύμητες αλλαγές μαζί της. Αν και καταβάλλουμε κάθε δυνατή προσπάθεια ώστε να εξασφαλίσουμε ότι ο κλάδος FreeBSD-STABLE μπορεί να μεταγλωττιστεί και να εκτελεστεί σε κάθε δεδομένη χρονική στιγμή, δεν μπορούμε ωστόσο να το εγγυηθούμε. Επιπρόσθετα, αν και ο κώδικας αναπτύσσεται στο FreeBSD-CURRENT πριν περάσει στο FreeBSD-STABLE, ο κόσμος που εκτελεί το FreeBSD-STABLE είναι περισσότερος, και έτσι είναι αναπόφευκτο να ανακαλύπτονται πιο πολλά σφάλματα και ακραίες περιπτώσεις στο FreeBSD-STABLE τα οποία δεν έχουν γίνει εμφανή στο FreeBSD-CURRENT. Για τους λόγους αυτούς, _δεν_ συνιστούμε να παρακολουθείτε τυφλά το FreeBSD-STABLE, και ειδικότερα είναι σημαντικό να μην αναβαθμίζετε σε αυτό εξυπηρετητές σε περιβάλλοντα παραγωγής, χωρίς να έχετε πρώτα ελέγξει αναλυτικά τον κώδικα στο δικό σας περιβάλλον ανάπτυξης. Αν δεν διαθέτετε τους πόρους για να το κάνετε αυτό, σας συνιστούμε να χρησιμοποιείτε την τελευταία επίσημη έκδοση του FreeBSD, και να αναβαθμίζεστε από τη μια έκδοση στην επόμενη μέσω του μηχανισμού δυαδικών ενημερώσεων. ==== Χρησιμοποιώντας το FreeBSD-STABLE . Γραφτείτε συνδρομητής στη λίστα {freebsd-stable}. Θα είστε έτσι ενημερωμένοι για εξαρτήσεις μεταγλώττισης που ίσως εμφανιστούν στο FreeBSD-STABLE, ή για άλλα προβλήματα που χρήζουν ειδικής προσοχής. Στη λίστα αυτή θα βρίσκετε επίσης ανακοινώσεις από μέλη της ομάδας ανάπτυξης, όταν πρόκειται να συμπεριληφθεί κάποια αμφιλεγόμενη ανανέωση ή διόρθωση, δίνοντας έτσι στους χρήστες την ευκαιρία να εκφέρουν γνώμη σχετικά με τα προβλήματα που θα προκαλέσει η προτεινόμενη αλλαγή. + Θα πρέπει να εγγραφείτε στην κατάλληλη λίστα SVN ανάλογα με τον κλάδο που παρακολουθείτε. Για παράδειγμα, αν παρακολουθείτε τον κλάδο 7-STABLE, η κατάλληλη λίστα είναι η link:{svn-src-stable-7-url}[svn-src-stable-7]. Αυτό θα σας επιτρέψει να βλέπετε τις καταχωρήσεις στο commit log για κάθε αλλαγή που γίνεται, καθώς και πληροφορίες για πιθανές παρενέργειες που μπορεί να έχει. + -Για να γραφτείτε σε αυτές, ή σε οποιεσδήποτε από τις υπάρχουσες λίστες, επισκεφθείτε την τοποθεσία {mailman-lists-url} και επιλέξτε τη λίστα στην οποία θέλετε να γίνετε συνδρομητής. Οδηγίες για την υπόλοιπη διαδικασία θα βρείτε επιτόπου. Αν σας ενδιαφέρει να παρακολουθείτε τις αλλαγές σε όλο το δέντρο πηγαίου κώδικα, σας συνιστούμε να εγγραφείτε στη λίστα {svn-src-all}. +Για να γραφτείτε σε αυτές, ή σε οποιεσδήποτε από τις υπάρχουσες λίστες, επισκεφθείτε την τοποθεσία {mailing-lists-url} και επιλέξτε τη λίστα στην οποία θέλετε να γίνετε συνδρομητής. Οδηγίες για την υπόλοιπη διαδικασία θα βρείτε επιτόπου. Αν σας ενδιαφέρει να παρακολουθείτε τις αλλαγές σε όλο το δέντρο πηγαίου κώδικα, σας συνιστούμε να εγγραφείτε στη λίστα {svn-src-all}. . Αν πρόκειται να εγκαταστήσετε ένα νέο σύστημα με σκοπό να εκτελείτε τα μηνιαία snapshot του FreeBSD-STABLE, παρακαλούμε να ελέγξετε την τοποθεσία link:https://www.FreeBSD.org/snapshots/[Snapshots] για περισσότερες πληροφορίες. Εναλλακτικά, είναι δυνατόν να εγκαταστήσετε το πιο πρόσφατο FreeBSD-STABLE από κάποιο crossref:mirrors[mirrors,mirror site] ακολουθώντας τις παρακάτω οδηγίες ώστε να αναβαθμίσετε το σύστημα σας στην πλέον πρόσφατη έκδοση πηγαίου κώδικα του FreeBSD-STABLE. + Αν διαθέτετε ήδη κάποια προηγούμενη έκδοση του FreeBSD και επιθυμείτε να αναβαθμιστείτε μέσω του πηγαίου κώδικα, μπορείτε εύκολα να χρησιμοποιήσετε κάποιο crossref:mirrors[mirrors,mirror site] του FreeBSD. Υπάρχουν δύο τρόποι για να γίνει αυτό: .. Χρησιμοποιήστε το πρόγραμμα crossref:mirrors[cvsup,cvsup] σε συνδυασμό με το [.filename]#supfile# με την ονομασία [.filename]#stable-supfile# το οποίο θα βρείτε στον κατάλογο [.filename]#/usr/shared/examples/cvsup#. Αυτή είναι και η πλέον συνιστώμενη μέθοδος, καθώς σας επιτρέπει να ανακτήσετε όλη τη συλλογή με μια κίνηση, και στις επόμενες ανανεώσεις θα παίρνετε μόνο τις αλλαγές. Πολλοί χρήστες εκτελούν το `cvsup` μέσω του `cron` ώστε να κρατάνε τον πηγαίο κώδικα του συστήματος τους πάντα ανανεωμένο αυτόματα. Θα πρέπει να προσαρμόσετε το υπόδειγμα του [.filename]#supfile# που δίνουμε παραπάνω, και να ρυθμίσετε το crossref:mirrors[cvsup,cvsup] για το περιβάλλον σας. .. Χρησιμοποιήστε την υπηρεσία CTM. Αν δεν έχετε γρήγορη και φτηνή σύνδεση με το Internet, αυτή είναι η συνιστώμενη μέθοδος. . Ουσιαστικά, αν χρειάζεστε γρήγορη και κατά απαίτηση πρόσβαση στον πηγαίο κώδικα, και το εύρος ζώνης της σύνδεσης δεν αποτελεί πρόβλημα, χρησιμοποιήστε το `cvsup` ή το `ftp`. Διαφορετικά, χρησιμοποιήστε το CTM. . Πριν μεταγλωττίσετε το FreeBSD-STABLE, διαβάστε προσεκτικά το [.filename]#Makefile# στον κατάλογο [.filename]#/usr/src#. Θα πρέπει να <> την πρώτη φορά, ως μέρος της διαδικασίας αναβάθμισης. Διαβάζοντας την {freebsd-stable} και το [.filename]#/usr/src/UPDATING# θα είστε ενημερωμένοι για νέες διαδικασίες όσο αφορά την εκκίνηση στο νέο σας σύστημα. Οι διαδικασίες αυτές είναι συχνά απαραίτητες όσο πλησιάζουμε σε μια νέα επίσημη έκδοση. [[synching]] == Συγχρονίζοντας τον Πηγαίο σας Κώδικα Υπάρχουν διάφοροι τρόποι να χρησιμοποιήσετε μια σύνδεση Internet (ή email) για να ενημερώνετε οποιοδήποτε τμήμα πηγαίου κώδικα του FreeBSD Project σας ενδιαφέρει, ή και όλα αν το επιθυμείτε. Οι βασικές υπηρεσίες που προσφέρουμε είναι το crossref:mirrors[anoncvs,Ανώνυμο CVS], το crossref:mirrors[cvsup,CVSup], και το crossref:mirrors[ctm,CTM]. [WARNING] ==== Αν και είναι δυνατόν να ενημερώσετε μόνο κάποια τμήματα του δέντρου πηγαίου κώδικα, η μόνη διαδικασία ενημέρωσης που υποστηρίζεται αφορά την ενημέρωση ολόκληρου του δέντρου. Μετά την ενημέρωση, θα πρέπει να μεταγλωττίσετε ξανά τόσο το userland (δηλ. τα προγράμματα που εκτελούνται στην περιοχή χρήστη, όπως αυτά που βρίσκονται στους καταλόγους [.filename]#/bin# και [.filename]#/sbin#) όσο και τον πηγαίο κώδικα του πυρήνα. Αν ενημερώσετε μόνο ένα τμήμα του πηγαίου κώδικα, μόνο τον πυρήνα ή μόνο το userland, θα αντιμετωπίσετε προβλήματα. Τα προβλήματα αυτά μπορεί να κυμαίνονται από σφάλματα μεταγλώττισης μέχρι kernel panic και καταστροφή δεδομένων. ==== Το Ανώνυμο CVS και το CVSup χρησιμοποιούν τη μέθοδο _pull_ για την ενημέρωση του πηγαίου κώδικα. Στην περίπτωση του CVSup, ο χρήστης (η κάποιο script που εκτελείται μέσω `cron`) εκτελεί το πρόγραμμα `cvsup` το οποίο αλληλεπιδρά με ένα αντίστοιχο εξυπηρετητή `cvsupd` ώστε να ενημερώσει τα σχετικά αρχεία. Οι ενημερώσεις που λαμβάνετε είναι πάντοτε οι τελευταίες διαθέσιμες, και θα τις λάβετε μόνο όταν τις ζητήσετε. Μπορείτε εύκολα να περιορίσετε τις ενημερώσεις σε συγκεκριμένα αρχεία ή καταλόγους τα οποία σας ενδιαφέρουν. Οι ενημερώσεις δημιουργούνται δυναμικά από τον εξυπηρετητή, ανάλογα με το τι έχετε εγκατεστημένο και τι επιθυμείτε να λάβετε. Το Ανώνυμο CVS είναι κάπως πιο απλοϊκό από το CVSup, δεδομένου ότι είναι απλώς μια επέκταση του CVS που επιτρέπει την ανάκτηση αλλαγών απευθείας από κάποιο απομακρυσμένο CVS repository. Το CVSup είναι αρκετά πιο αποτελεσματικό σε αυτόν το τομέα, αλλά το Ανώνυμο CVS είναι απλούστερο στη χρήση. Από την άλλη μεριά, το CTM δεν συγκρίνει άμεσα τον πηγαίο κώδικα που έχετε με αυτόν που υπάρχει στον κεντρικό εξυπηρετητή ώστε να ανακτήσει μόνο τις αλλαγές. Αντίθετα, στο κεντρικό μηχάνημα CTM, εκτελείται αρκετές φορές την ημέρα ένα script. Το script αυτό αναγνωρίζει τις αλλαγές στα αρχεία σε σχέση με την προηγούμενη εκτέλεση του, και έπειτα πακετάρει και συμπιέζει τις αλλαγές με τρόπο κατάλληλο για αποστολή μέσω email (μόνο εκτυπώσιμοι ASCII χαρακτήρες). Σε κάθε τέτοιο πακέτο αλλαγών αντιστοιχίζεται ένας μοναδιαίος αριθμός ακολουθίας (sequence number) που το αναγνωρίζει. Μετά τη λήψη τους, μπορείτε να δώσετε αυτά τα αρχεία διαφορών του CTM ("CTM deltas") στο βοηθητικό πρόγραμμα man:ctm_rmail[1] το οποίο αυτόματα θα τα αποκωδικοποιήσει, θα τα επαληθεύσει, και θα εφαρμόσει τις αλλαγές στο αντίγραφο πηγαίου κώδικα του χρήστη. Η διαδικασία αυτή είναι πολύ πιο αποδοτική από το CVSup, και επιβαρύνει λιγότερο τους εξυπηρετητές μας, καθώς είναι μια διαδικασία τύπου _push_ αντί για _pull_. Υπάρχουν φυσικά κάποια σημεία που υστερεί. Αν από λάθος διαγράψετε κάποια τμήματα του πηγαίου σας κώδικα, το CVSup θα ανιχνεύσει και θα διορθώσει αυτόματα τη βλάβη για σας. Το CTM δεν θα το κάνει αυτό, και αν σβήσετε κάποιο τμήμα του δέντρου σας (και δεν έχετε αντίγραφο ασφαλείας) θα πρέπει να ξεκινήσετε από την αρχή (από το πιο πρόσφατο CVS "base delta") και να το ξανακτίσετε από την αρχή με το CTM. Με το Ανώνυμο CVS, μπορείτε απλώς να διαγράψετε τα προβληματικά αρχεία και να συγχρονίσετε ξανά τον πηγαίο σας κώδικα. [[makeworld]] == Μεταγλωττίζοντας το Βασικό Σύστημα ("world") Έχοντας συγχρονίσει το τοπικό σας δέντρο πηγαίου κώδικα σε κάποια συγκεκριμένη έκδοση του FreeBSD (FreeBSD-STABLE, FreeBSD-CURRENT, κ.ο.κ.), μπορείτε έπειτα να το χρησιμοποιήσετε για να μεταγλωττίσετε το σύστημα σας από την αρχή. [WARNING] .Δημιουργήστε Ένα Αντίγραφο Ασφαλείας ==== Δεν μπορούμε παρά να τονίσουμε πόσο σημαντικό είναι να δημιουργήσετε ένα αντίγραφο ασφαλείας του συστήματος σας _πριν_ ξεκινήσετε αυτή τη διαδικασία. Αν και η μεταγλώττιση του βασικού συστήματος είναι (όσο τουλάχιστον ακολουθείτε αυτές τις οδηγίες) μια σχετικά απλή διαδικασία, αναμφίβολα θα υπάρξουν και περιπτώσεις που λάθη δικά σας, ή άλλων (στο δέντρο πηγαίου κώδικα), θα σας οδηγήσουν σε ένα σύστημα που δεν θα μπορεί να εκκινήσει. Βεβαιωθείτε ότι έχετε ενημερωμένο αντίγραφο ασφαλείας. Καλό θα είναι να έχετε επίσης πρόχειρη μια δισκέτα fixit ή ένα CD εκκίνησης. Ίσως να μην χρειαστεί ποτέ να τα χρησιμοποιήσετε, αλλά καλύτερα να είστε ασφαλής παρά να το μετανοιώνετε αργότερα! ==== [WARNING] .Γίνετε Συνδρομητής στη Σωστή Λίστα Ηλ. Ταχυδρομείου ==== Από τη φύση τους, οι κλάδοι FreeBSD-STABLE και FreeBSD-CURRENT βρίσκονται σε συνεχή _ανάπτυξη_. Όσοι συνεισφέρουν στο FreeBSD είναι απλώς άνθρωποι, και περιστασιακά λάθη απλώς συμβαίνουν. Ορισμένες φορές τα λάθη αυτά είναι μάλλον ακίνδυνα, και το μόνο που κάνουν είναι να εμφανίζουν μερικές διαγνωστικές προειδοποιήσεις στο σύστημα σας. Ή μπορεί η αλλαγή να είναι καταστροφική, και να οδηγήσει το σύστημα σας σε αδυναμία εκκίνησης ή ακόμα και να καταστρέψει τα συστήματα αρχείων σας (ή και ακόμα χειρότερες συνέπειες). Αν συμβούν τέτοια προβλήματα, σύντομα θα εμφανιστεί ένα μήνυμα τύπου "heads up" στις σχετικές λίστες ταχυδρομείου, το οποίο θα εξηγεί το πρόβλημα και ποια συστήματα επηρεάζει. Όταν το πρόβλημα λυθεί, θα γίνει μια αντίστοιχη "all clear" ανακοίνωση. Αν προσπαθείτε να ακολουθήσετε το FreeBSD-STABLE ή το FreeBSD-CURRENT, και δεν διαβάζετε τις αντίστοιχες λίστες {freebsd-stable} και {freebsd-current}, ψάχνετε για μπελάδες. ==== [WARNING] .Μην Χρησιμοποιήσετε την εντολή `make world` ==== Μεγάλο μέρος της παλαιότερης τεκμηρίωσης, συνιστά τη χρήση της εντολής `make world`. Αν την χρησιμοποιήσετε, θα παραλειφθούν ορισμένα σημαντικά βήματα της διαδικασίας. Χρησιμοποιήστε τη μόνο αν είστε απόλυτα σίγουροι για αυτό που κάνετε. Για τις περισσότερες περιπτώσεις, η εντολή `make world` είναι λανθασμένη, και αντί για αυτή θα πρέπει να ακολουθήσετε τη διαδικασία που περιγράφουμε παρακάτω. ==== [[canonical-build]] === Ο Κανονικός Τρόπος να Ενημερώσετε το Σύστημα σας Πριν ενημερώσετε το σύστημα σας, θα πρέπει να ελέγξετε το [.filename]#/usr/src/UPDATING# για τυχόν βήματα που θα πρέπει να εκτελέσετε πριν την εκκίνηση της μεταγλώττισης. Τα βήματα αυτά εξαρτώνται από την έκδοση του πηγαίου κώδικα που πρόκειται να χρησιμοποιήσετε. Έπειτα, ακολουθήστε τη διαδικασία που περιγράφεται στις επόμενες παραγράφους. Η διαδικασία αναβάθμισης η οποία περιγράφεται εδώ βασίζεται στην υπόθεση ότι έχετε ήδη εγκαταστήσει μια παλιότερη έκδοση του FreeBSD, με μια παλιά έκδοση του μεταγλωττιστή, ένα παλιό πυρήνα, παλιά "εργαλεία χρήστη" και αρχεία ρυθμίσεων. Εργαλεία χρήστη θεωρούνται τα βασικά εκτελέσιμα, οι βιβλιοθήκες και τα αρχεία προγραμματισμού. Ο μεταγλωττιστής είναι κι αυτός μέρος των "εργαλείων χρήστη" στο FreeBSD, αλλά χρειάζεται ειδική μεταχείριση κατά τη διαδικασία αναβάθμισης. Υποθέτουμε, επίσης, ότι έχετε ήδη κατεβάσει μια ενημερωμένη έκδοση από τον πηγαίο κώδικα του συστήματος. Αν ο πηγαίος κώδικας στο συγκεκριμένο σύστημα είναι από παλιότερη έκδοση, δείτε το <> για λεπτομερείς οδηγίες σχετικά με το πως να συγχρονίσετε τον πηγαίο κώδικα σε μια νεότερη έκδοση. Η αναβάθμιση του FreeBSD από τον πηγαίο κώδικά του φαίνεται να είναι πολύ απλή διαδικασία. Στην πραγματικότητα, έχει κάποιες ιδιαιτερότητες. Με τα χρόνια, καθώς οι εξαρτήσεις μεταξύ των βημάτων της αναβάθμισης ανακαλύπτονται ή αναλύονται καλύτερα, οι προγραμματιστές του FreeBSD αλλάζουν σιγά-σιγά αυτή τη διαδικασία. Οι παρακάτω παράγραφοι περιγράφουν τη λογική με την οποία έχει σχεδιασθεί η προτεινόμενη διαδικασία αναβάθμισης. Μια επιτυχής διαδικασία αναβάθμισης πρέπει να καλύψει τουλάχιστον τις δύο πιο βασικές ιδιαιτερότητες μιας αναβάθμισης από πηγαίο κώδικα: * Ο παλιός μεταγλωττιστής συστήματος μπορεί να είναι ακατάλληλος για μεταγλώττιση του νέου πυρήνα. (Και οι μεταγλωττιστές έχουν ορισμένες φορές προβλήματα, όπως κάθε άλλο λογισμικό.) Οπότε ο νέος πυρήνας πρέπει να μεταγλωττιστεί με το νέο μεταγλωττιστή. Πιο συγκεκριμένα, ο νέος μεταγλωττιστής πρέπει να αναβαθμιστεί πριν από το νέο πυρήνα. Αυτό δε σημαίνει βέβαια ότι αυτός ο νέος μεταγλωττιστής πρέπει να _εγκατασταθεί_ πριν μεταγλωττιστεί ο νέος πυρήνας. * Τα νέα εργαλεία χρήστη από το βασικό σύστημα του FreeBSD μπορεί να εξαρτώνται από τον τρόπο λειτουργίας του νέου πυρήνα. Οπότε ο νέος πυρήνας πρέπει να εγκατασταθεί πριν από το νέο βασικό σύστημα. Αυτά τα δύο σημεία είναι οι βασικοί λόγοι για τους οποίους προτείνονται τα κεντρικά βήματα μιας αναβάθμισης, τα βήματα `buildworld`, `buildkernel`, `installkernel`, και `installworld`. Στις επόμενες παραγράφους θα περιγράψουμε πιο αναλυτικά αυτά τα βήματα. Υπάρχουν κι άλλοι λόγοι όμως για τους οποίους χρειάζεται προσοχή όταν κάνετε μια τέτοια αναβάθμιση. Μερικοί από αυτούς είναι οι εξής: * Τα παλιά εργαλεία του βασικού συστήματος μπορεί να μην τρέχουν σωστά με το νέο πυρήνα. Γι αυτό πρέπει να εγκατασταθεί το ενημερωμένο βασικό σύστημα αμέσως μετά την εγκατάσταση του νέου πυρήνα. * Μερικές φορές χρειάζονται αλλαγές στα αρχεία ρυθμίσεων πριν εγκατασταθεί το νέο βασικό σύστημα. Άλλες φορές η εγκατάσταση όλων των αρχείων ρυθμίσεων μπορεί να δημιουργήσει προβλήματα στην εγκατάσταση. Γι αυτό έχουμε χωρίσει την ενημέρωση των αρχείων ρυθμίσεων σε δύο ξεχωριστά βήματα. * Στην πλειοψηφία των περιπτώσεων η διαδικασία εγκατάστασης αντικαθιστά ή προσθέτει αρχεία του συστήματος· δε σβήνει κανένα υπάρχον αρχείο. Σε μερικές περιπτώσεις αυτό μπορεί να δημιουργήσει προβλήματα. Όταν υπάρχει τέτοια περίπτωση, η διαδικασία εγκατάστασης τυπώνει ενημερωτικά μηνύματα για τα αρχεία τα οποία πρέπει να σβηστούν χειροκίνητα. Αυτό το βήμα μπορεί να αυτοματοποιηθεί στο μέλλον. Έχοντας όλες αυτές τις ιδιαιτερότητες μιας αναβάθμισης από πηγαίο κώδικα, καταλήξαμε στην παρακάτω διαδικασία αναβάθμισης. Ορισμένες φορές μπορεί να χρειάζεται να προσθέσετε κάποια βήματα σε αυτή τη διαδικασία. Τα βασικά βήματα όμως παραμένουν τα ίδια, κι είναι τα εξής: . `make buildworld` + Αυτό το βήμα μεταγλωττίζει πρώτα μια ενημερωμένη έκδοση του ίδιου του μεταγλωττιστή συστήματος και μερικών απαραίτητων εργαλείων. Ύστερα, χρησιμοποιώντας το νέο μεταγλωττιστή, προετοιμάζει μια νέα έκδοση όλου του βασικού συστήματος του FreeBSD. Τα ενημερωμένα εκτελέσιμα, βιβλιοθήκες και αρχεία προγραμματισμού καταλήγουν στον κατάλογο [.filename]#/usr/obj#. . `make buildkernel` + Σε αντίθεση με παλιότερες διαδικασίες αναβάθμισης (οι οποίες καλούσαν χειροκίνητα το man:config[8] και το man:make[1]) αυτό το βήμα μεταγλωττίζει τον πυρήνα του FreeBSD χρησιμοποιώντας τον ενημερωμένο μεταγλωττιστή συστήματος από τον κατάλογο [.filename]#/usr/obj#. Αυτό σας προστατεύει από προβλήματα ασυμβατότητας μεταξύ του μεταγλωττιστή και του πυρήνα. . `make installkernel` + Εγκατάσταση του νέου πυρήνα και των αρθρωμάτων του στο δίσκο του συστήματος. Έτσι μπορεί πλέον το σύστημα να ξεκινήσει με το νέο, ενημερωμένο πυρήνα. . Εκκίνηση σε λειτουργία single user. + Η λειτουργία single user ελαχιστοποιεί την πιθανότητα να έχετε προβλήματα επειδή αναβαθμίσατε κάποιο πρόγραμμα που τρέχει ήδη. Είναι επίσης πιο ασφαλής, αφού δε χρειάζεται να τρέξετε τις εφαρμογές του παλιού βασικού συστήματος με το νέο πυρήνα. . `mergemaster -p` + Αυτό το βήμα ενημερώνει τα απολύτως βασικά αρχεία ρυθμίσεων του FreeBSD, για να μπορέσετε να εγκαταστήσετε σωστά το νέο βασικό σύστημα. Ενημερώνει, για παράδειγμα, τη βάση χρηστών και ομάδων χρηστών του FreeBSD. Κάθε φορά που προστίθεται ένας νέος χρήστης συστήματος ή μια νέα ομάδα χρηστών, το βήμα `installworld` της αναβάθμισης θεωρεί ότι έχετε ήδη ρυθμίσει τους νέους χρήστες ή τις νέες ομάδες. Αυτό ακριβώς κάνει σε αυτό το σημείο το εργαλείο man:mergemaster[8]. . `make installworld` + Το επόμενο βήμα είναι να εγκαταστήσετε το ενημερωμένο βασικό σύστημα από τον κατάλογο [.filename]#/usr/obj#. Μετά από αυτό έχετε πλέον ένα νέο πυρήνα και ένα ενημερωμένο βασικό σύστημα, το οποίο ταιριάζει με τον νέο πυρήνα. . `mergemaster` + Ένα από τα τελευταία βήματα είναι η αναβάθμιση των αρχείων ρυθμίσεων του συστήματος. Το εργαλείο man:mergemaster[8] μπορεί να σας βοηθήσει σε αυτό το βήμα, αφού ενημερώνει τα αρχεία ρυθμίσεων κρατώντας και οποιεσδήποτε τοπικές αλλαγές έχετε κάνει στο σύστημά σας. . Επανεκκινήστε το σύστημα. + Μια τελευταία επανεκκίνηση του συστήματος σας εξασφαλίζει ότι το σύστημα ξεκινάει με το νέο πυρήνα, το ενημερωμένο βασικό σύστημα και τα καινούρια αρχεία ρυθμίσεων. Αν η αναβάθμιση που κάνετε είναι από μια έκδοση του FreeBSD σε μια πιο καινούρια έκδοση του ίδιου κλάδου ανάπτυξης, π.χ. από 7.0 σε 7.1, τότε μερικά από τα βήματα αυτή της διαδικασίας μπορεί να μη χρειάζονται αφού είναι λιγότερο πιθανό να συναντήσετε ασυμβατότητες μεταξύ του μεταγλωττιστή συστήματος, του πυρήνα, του βασικού συστήματος και των αρχείων ρυθμίσεων. Η αναβάθμιση σε τέτοιες περιπτώσεις, μεταξύ δύο minor εκδόσεων του FreeBSD, ίσως μπορεί να γίνει και με την παλιότερη διαδικασία: τρέχοντας `make world` και ύστερα μεταγλωττίζοντας και στήνοντας ένα νέο πυρήνα. Όταν όμως αναβαθμίσετε το FreeBSD μεταξύ major εκδόσεων, καλύτερα να χρησιμοποιήσετε τη διαδικασία που περιγράφουμε εδώ. Αλλιώς μπορεί να αντιμετωπίσετε προβλήματα είτε κατά τη διάρκεια της αναβάθμισης ή αφού έχει πλέον ολοκληρωθεί. Κάποιες από τις αναβαθμίσεις (π.χ. από μια έκδοση 4._X_ σε 5.0) μπορεί να απαιτούν μερικά χειροκίνητα βήματα (όπως το να μετακινήσετε ή να σβήσετε συγκεκριμένα αρχεία πριν το βήμα `installworld`). Πριν από κάθε αναβάθμιση διαβάστε προσεκτικά τις οδηγίες στο αρχείο [.filename]#/usr/src/UPDATING#· ειδικά τις οδηγίες στο τέλος του αρχείου, οι οποίες περιγράφουν αναλυτικά την προτεινόμενη διαδικασία αναβάθμισης. Αυτή η διαδικασία αναβάθμισης εξελίσσεται και διορθώνεται καθώς οι προγραμματιστές του FreeBSD ανακαλύπτουν καινούριες εξαρτήσεις μεταξύ των συστατικών του συστήματος ή κάνουν διορθώσεις για να αποφύγουν ασυμβατότητες μεταξύ των διαφορετικών υποσυστημάτων. Ελπίζουμε ότι τα κεντρικά βήματα της διαδικασίας που περιγράφεται εδώ δε θα αλλάξουν πολύ για αρκετό καιρό πλέον. Ανακεφαλαιώνοντας όλα τα βήματα τα οποία περιγράψαμε παραπάνω, η προτεινόμενη διαδικασία αναβάθμισης του FreeBSD από τον πηγαίο κώδικα του συστήματος είναι: [source,shell] .... # cd /usr/src # make buildworld # make buildkernel # make installkernel # shutdown -r now .... [NOTE] ==== Υπάρχουν κάποιες μάλλον σπάνιες περιπτώσεις, που απαιτείται μια επιπλέον εκτέλεση του `mergemaster -p` πριν το βήμα `buildworld`. Οι περιπτώσεις αυτές περιγράφονται στο [.filename]#UPDATING#. Σε γενικές γραμμές πάντως, μπορείτε με ασφάλεια να παραλείψετε αυτό το βήμα, αν δεν αναβαθμίζετε το σύστημα σας μεταξύ πολλαπλών εκδόσεων του FreeBSD. ==== Μετά την επιτυχή ολοκλήρωση του `installkernel`, θα πρέπει να επανεκκινήσετε σε κατάσταση ενός χρήστη (π.χ. χρησιμοποιώντας την εντολή `boot -s` στην προτροπή του φορτωτή εκκίνησης). Έπειτα εκτελέστε: [source,shell] .... # mount -u / # mount -a -t ufs # adjkerntz -i # mergemaster -p # cd /usr/src # make installworld # mergemaster # reboot .... .Διαβάστε τις Επιπλέον Εξηγήσεις [WARNING] ==== Η διαδικασία που περιγράψαμε παραπάνω είναι μια απλή περίληψη για να σας βοηθήσει να ξεκινήσετε. Θα πρέπει ωστόσο να διαβάσετε τις παρακάτω ενότητες για να κατανοήσετε πλήρως κάθε βήμα, ειδικά αν θέλετε να χρησιμοποιήσετε δικό σας προσαρμοσμένο πυρήνα. ==== [[src-updating]] === Διαβάστε το [.filename]#/usr/src/UPDATING# Πριν κάνετε οτιδήποτε άλλο, διαβάστε το [.filename]#/usr/src/UPDATING# (ή το αντίστοιχο αρχείο, αν έχετε αποθηκεύσει τον πηγαίο κώδικα σε άλλο κατάλογο). Το αρχείο αυτό περιέχει σημαντικές πληροφορίες σχετικά με προβλήματα που μπορεί να συναντήσετε ή ίσως να καθορίζει τη σειρά με την οποία πρέπει να εκτελεστούν κάποιες εντολές. Αν το αρχείο [.filename]#UPDATING# έρχεται σε σύγκρουση με κάτι που διαβάσατε εδώ, προτεραιότητα έχει το αρχείο [.filename]#UPDATING#. [IMPORTANT] ==== Η ανάγνωση του αρχείου [.filename]#UPDATING# δεν είναι αποδεκτό υποκατάστατο της συνδρομής στη σωστή λίστα ηλεκτρονικού ταχυδρομείου, όπως περιγράψαμε προηγουμένως. Οι δύο απαιτήσεις είναι συμπληρωματικές, δεν αλληλοαναιρούνται. ==== [[make-conf]] === Ελέγξτε το [.filename]#/etc/make.conf# Εξετάστε τα αρχεία [.filename]#/usr/shared/examples/etc/make.conf# και [.filename]#/etc/make.conf#. Το πρώτο περιέχει κάποιες προεπιλεγμένες μεταβλητές (defines), οι περισσότερες από τις οποίες είναι ως σχόλια. Για να τα χρησιμοποιήσετε όταν μεταγλωττίζετε το σύστημα σας, προσθέστε τα στο [.filename]#/etc/make.conf#. Να έχετε υπόψη σας, πως οτιδήποτε προσθέτετε στο αρχείο [.filename]#/etc/make.conf# χρησιμοποιείτε επίσης κάθε φορά που εκτελείτε την εντολή `make`, έτσι είναι γενικά καλή ιδέα να βάλετε τιμές που είναι λογικές για το σύστημα σας. Ένας τυπικός χρήστης θα θέλει πιθανώς να αντιγράψει τις γραμμές `CFLAGS` και `NO_PROFILE` από το αρχείο [.filename]#/usr/shared/examples/etc/make.conf# στο [.filename]#/etc/make.conf# αφαιρώντας ταυτόχρονα και το σύμβολο του σχολίου. Εξετάστε και τις άλλες μεταβλητές (`COPTFLAGS`, `NOPORTDOCS` κ.ο.κ.) και αποφασίστε αν σχετίζονται με το επιθυμητό για σας αποτέλεσμα. [[updating-etc]] === Ενημερώστε τα Αρχεία στο [.filename]#/etc# Ο κατάλογος [.filename]#/etc# περιέχει μεγάλο μέρος των πληροφοριών ρύθμισης του συστήματος σας, όπως επίσης και scripts που εκτελούνται κατά την εκκίνηση του συστήματος. Μερικά από τα scripts αυτά αλλάζουν από έκδοση σε έκδοση του FreeBSD. Ορισμένα από τα αρχεία ρυθμίσεων χρησιμοποιούνται επίσης κατά την καθημερινή χρήση του συστήματος. Το [.filename]#/etc/group# είναι ένα από αυτά. Έχουν υπάρξει περιπτώσεις στο παρελθόν, όπου το `make installworld` ανέμενε από πριν την ύπαρξη συγκεκριμένων ονομάτων χρηστών (usernames) ή ομάδων (groups). Κατά τη διαδικασία της αναβάθμισης ήταν αρκετά πιθανό αυτοί οι χρήστες ή ομάδες να μην υπήρχαν. Αυτό δημιουργούσε προβλήματα στην διαδικασία. Σε κάποιες περιπτώσεις, το `make buildworld` θα ελέγξει αν υπάρχουν αυτοί οι χρήστες ή ομάδες. Μια τέτοια περίπτωση παρουσιάστηκε όταν προστέθηκε ο χρήστης `smmsp`. Η διαδικασία αναβάθμισης αποτύγχανε σε πολλούς χρήστες, τη στιγμή που το man:mtree[8] προσπαθούσε να δημιουργήσει τον κατάλογο [.filename]#/var/spool/clientmqueue#. Η λύση είναι να εκτελέσετε το man:mergemaster[8] σε κατάσταση προ-εγκατάστασης, δίνοντας την επιλογή `-p`. Αυτή θα συγκρίνει μόνο τα αρχεία που είναι απαραίτητα για την επιτυχία εκτέλεσης του `buildworld` ή του `installworld`. [source,shell] .... # cd /usr/src/usr.sbin/mergemaster # ./mergemaster.sh -p .... [TIP] ==== Αν αισθάνεστε ιδιαίτερα παρανοϊκός, μπορείτε να ελέγξετε το σύστημα σας για να δείτε ποια αρχεία ανήκουν στην ομάδα που μετονομάζετε ή διαγράφετε: [source,shell] .... # find / -group GID -print .... Η παραπάνω εντολή θα σας δείξει όλα τα αρχεία τα οποία ανήκουν στην ομάδα _GID_ (μπορείτε να δώσετε όνομα ή αριθμητικό αναγνωριστικό της ομάδας). ==== [[makeworld-singleuser]] === Μεταβείτε σε Κατάσταση Ενός Χρήστη Ίσως προτιμάτε να μεταγλωττίσετε το σύστημα σε κατάσταση ενός χρήστη. Εκτός από το προφανές πλεονέκτημα της ελαφρά μεγαλύτερης ταχύτητας, η επανεγκατάσταση του συστήματος θα επηρεάσει πολλά σημαντικά αρχεία του συστήματος, όλα τα εκτελέσιμα αρχεία του βασικού συστήματος, τις βιβλιοθήκες, τα αρχεία include κ.α. Αν τα αλλάξετε αυτά σε ένα σύστημα που βρίσκεται σε κανονική λειτουργία (και ειδικά αν υπάρχουν ενεργοί χρήστες την δεδομένη στιγμή), ψάχνετε για μπελάδες. Μια άλλη μέθοδος είναι να μεταγλωττίσετε το σύστημα σε κατάσταση κανονικής λειτουργίας, αλλά να μεταβείτε σε κατάσταση ενός χρήστη για την εγκατάσταση. Αν θέλετε να το κάνετε με αυτό τον τρόπο, απλώς μην εκτελέσετε τα ακόλουθα βήματα μέχρι το τέλος της μεταγλώττισης. Μπορείτε να αναβάλλετε τη μετάβαση σε κατάσταση ενός χρήστη μέχρι να είστε έτοιμοι για το `installkernel` ή `installworld`. Ως υπερχρήστης μπορείτε να εκτελέσετε: [source,shell] .... # shutdown now .... σε ένα σύστημα σε κανονική λειτουργία για να μεταβείτε σε κατάσταση ενός χρήστη. Εναλλακτικά, επανεκκινήστε το σύστημα και στην προτροπή του φορτωτή εκκίνησης, επιλέξτε "single user". Το σύστημα θα ξεκινήσει σε κατάσταση ενός χρήστη. Στην προτροπή της γραμμής εντολών θα πρέπει να γράψετε: [source,shell] .... # fsck -p # mount -u / # mount -a -t ufs # swapon -a .... Θα γίνει έλεγχος στα συστήματα αρχείων, και προσάρτηση του [.filename]#/# με δυνατότητα ανάγνωσης/εγγραφής. Έπειτα θα προσαρτηθούν όλα τα άλλα συστήματα αρχείων UFS τα οποία αναφέρονται στο [.filename]#/etc/fstab#, και θα ενεργοποιηθεί το swap. [NOTE] ==== Αν το CMOS ρολόι του υπολογιστή σας είναι ρυθμισμένο σε τοπική ώρα και όχι σε GMT (αυτό είναι αλήθεια αν η έξοδος της εντολής man:date[1] δεν δείχνει σωστή ημερομηνία και ώρα), ίσως χρειαστεί να εκτελέσετε επίσης την παρακάτω εντολή: [source,shell] .... # adjkerntz -i .... Με αυτό τον τρόπο θα βεβαιωθείτε ότι οι τοπικές σας ρυθμίσεις ώρας έχουν ρυθμιστεί σωστά. Διαφορετικά, μπορεί να συναντήσετε προβλήματα αργότερα. ==== [[cleaning-usr-obj]] === Διαγράψτε το [.filename]#/usr/obj# Καθώς γίνεται η επαναμεταγλώττιση, τμήματα του συστήματος τοποθετούνται από προεπιλογή σε υποκαταλόγους του [.filename]#/usr/obj#. Οι υποκατάλογοι αυτοί αντιγράφουν τη δομή που ακολουθείται στο [.filename]#/usr/src#. Μπορείτε να επιταχύνετε τη διαδικασία του `make buildworld` και επίσης να γλυτώσετε από κάποια πιθανά προβλήματα, αν διαγράψετε και αυτό τον κατάλογο. Κάποια αρχεία σε υποκαταλόγους του [.filename]#/usr/obj# μπορεί να έχουν χαρακτηριστεί ως immutable μέσω του αντίστοιχου flag (για περισσότερες λεπτομέρειες δείτε το man:chflags[1]). Πριν διαγράψετε αυτά τα αρχεία, θα πρέπει πρώτα να καταργήσετε αυτό το flag. [source,shell] .... # cd /usr/obj # chflags -R noschg * # rm -rf * .... [[updating-upgrading-compilebase]] === Επαναμεταγλωττίστε το Βασικό Σύστημα ==== Αποθηκεύστε την Έξοδο Καθώς εκτελείται η man:make[1], είναι καλή ιδέα η έξοδος της να αποθηκεύεται σε κάποιο άλλο αρχείο. Αν κάτι πάει στραβά, θα έχετε ένα αντίγραφο του μηνύματος λάθους. Αν και αυτό ίσως δεν σας βοηθήσει να βρείτε τι πήγε στραβά, μπορεί να διευκολύνει άλλους αν στείλετε το μήνυμα σας σε μια από τις λίστες ηλεκτρονικού ταχυδρομείου του FreeBSD. Ο ευκολότερος τρόπος για να γίνει αυτό, είναι χρησιμοποιώντας την εντολή man:script[1] με μια παράμετρο που να καθορίζει το όνομα του αρχείου στο οποίο θα αποθηκευτεί η έξοδος. Θα πρέπει να το εκτελέσετε αμέσως πριν ξεκινήσετε την μεταγλώττιση του βασικού συστήματος, και να γράψετε `exit` μόλις η διαδικασία ολοκληρωθεί. [source,shell] .... # script /var/tmp/mw.out Script started, output file is /var/tmp/mw.out # make TARGET ... μεταγλώττιση, μεταγλώττιση, μεταγλώττιση ... # exit Script done, ... .... Αν αποφασίσετε να αποθηκεύσετε την έξοδο, _μη χρησιμοποιήσετε_ για αυτό το σκοπό τον κατάλογο [.filename]#/tmp#. Τα περιεχόμενα αυτού του καταλόγου πιθανώς να διαγραφούν την επόμενη φορά που θα εκκινήσετε το σύστημα σας. Ένας καλύτερος κατάλογος για την αποθήκευση του είναι ο [.filename]#/var/tmp# (όπως στο προηγούμενο παράδειγμα) ή ο προσωπικός κατάλογος του `root`. [[make-buildworld]] ==== Μεταγλωττίστε το Βασικό Σύστημα Θα πρέπει να βρίσκεστε στον κατάλογο [.filename]#/usr/src#: [source,shell] .... # cd /usr/src .... (εκτός αν φυσικά έχετε αποθηκεύσει τον πηγαίο κώδικα σε κάποιο άλλο κατάλογο, οπότε απλώς μετακινηθείτε σε αυτόν). Για να επαναμεταγλωττίσετε το βασικό σύστημα, χρησιμοποιήστε την εντολή man:make[1]. Η εντολή αυτή διαβάζει τις σχετικές οδηγίες από το αρχείο [.filename]#Makefile#, το οποίο περιγράφει με ποιο τρόπο πρέπει να μεταγλωττιστούν τα προγράμματα από τα οποία αποτελείται το FreeBSD, τη σειρά με την οποία πρέπει να γίνει η μεταγλώττιση κ.ο.κ. Η γενική μορφή της εντολής που θα πληκτρολογήσετε είναι η παρακάτω: [source,shell] .... # make -x -DVARIABLE target .... Στο παράδειγμα αυτό, το `-_x_` αντιπροσωπεύει μια επιλογή που θέλετε να δώσετε στην man:make[1]. Δείτε την σελίδα manual του man:make[1] για παραδείγματα δυνατών επιλογών. Η επιλογή `-D__VARIABLE__` περνάει μια μεταβλητή στο [.filename]#Makefile#. Η συμπεριφορά του [.filename]#Makefile# ελέγχεται από τέτοιου είδους μεταβλητές. Πρόκειται για τις ίδιες μεταβλητές που καθορίζονται και στο [.filename]#/etc/make.conf#, και αυτός είναι ένας ακόμα τρόπος καθορισμού τους. [source,shell] .... # make -DNO_PROFILE target .... Το παραπάνω δείχνει ένα επιπλέον τρόπο να καθορίσετε ότι δεν θέλετε να μεταγλωττιστούν οι βιβλιοθήκες με πληροφορίες profiling, και αντιστοιχεί με την παρακάτω γραμμή στο [.filename]#/etc/make.conf#: [.programlisting] .... NO_PROFILE= true # Avoid compiling profiled libraries .... Το _target_ δηλώνει στο man:make[1] τι θέλετε να κάνετε. Σε κάθε [.filename]#Makefile# ορίζεται ένας αριθμός διαφορετικών "targets", και η επιλογή που θα κάνετε, καθορίζει τι ακριβώς θα γίνει. Κάποια από τα targets που καθορίζονται στο [.filename]#Makefile#, δεν προορίζονται για άμεση εκτέλεση από το χρήστη. Αντί για αυτό, χρησιμοποιούνται από τη διαδικασία μεταγλώττισης για να μοιραστεί ο αριθμός των βημάτων που απαιτούνται για τη μεταγλώττιση του συστήματος, σε ένα αριθμό υπo-βημάτων. Στις περισσότερες περιπτώσεις δεν θα χρειαστεί να δώσετε καμία παράμετρο στο man:make[1], και έτσι η εντολή σας θα μοιάζει με την παρακάτω: [source,shell] .... # make target .... Όπου το _target_ θα είναι μια από τις πολλές επιλογές μεταγλώττισης. Το πρώτο target θα πρέπει πάντα να είναι το `buildworld`. Όπως εννοείται και από το όνομα, το `buildworld` μεταγλωττίζει ένα πλήρες δέντρο μέσα στον κατάλογο [.filename]#/usr/obj#, ενώ το `installworld`, εγκαθιστά αυτό το δέντρο στο τρέχον μηχάνημα. Η ύπαρξη διαφορετικών επιλογών, είναι χρήσιμη για δύο λόγους. Πρώτα από όλα, σας επιτρέπει να εκτελέσετε τη διαδικασία μεταγλώττισης με ασφάλεια, γνωρίζοντας ότι δεν πρόκειται να επηρεαστεί κανένα τμήμα του τρέχοντος συστήματος σας. Η διαδικασία μεταγλώττισης είναι "self hosted", απομονωμένη από την υπόλοιπη λειτουργία του μηχανήματος. Μπορείτε έτσι να εκτελέσετε το `buildworld` σε ένα μηχάνημα που βρίσκεται σε κανονική λειτουργία (πολλαπλών χρηστών) χωρίς να υπάρχει φόβος παρενεργειών. Ωστόσο, συνίσταται να εκτελέσετε το `installworld` σε κατάσταση λειτουργίας ενός χρήστη. Ο δεύτερος λόγος είναι ότι σας επιτρέπει να χρησιμοποιήσετε προσαρτήσεις NFS για να αναβαθμίσετε πολλά μηχανήματα του δικτύου σας. Αν έχετε τρία μηχανήματα, τα `A`, `B` και `C` τα οποία θέλετε να αναβαθμίσετε, εκτελέστε το `make buildworld` και το `make installworld` στο μηχάνημα `A`. Το `B` και το `C` μπορούν να προσαρτήσουν τον κατάλογο [.filename]#/usr/src# και τον [.filename]#/usr/obj# από τον `A` μέσω NFS, και έπειτα μπορείτε να εκτελέσετε το `make installworld` για να εγκαταστήσετε το έτοιμο πλέον σύστημα στον `B` και `C`. Αν και υπάρχει ακόμα το target `world`, δεν συνίσταται πλέον η χρήση του. Εκτελέστε την εντολή: [source,shell] .... # make buildworld .... Μπορείτε να καθορίσετε την επιλογή `-j` στην `make` ώστε να εκτελεστεί σε πολλαπλές διεργασίες. Αυτό είναι περισσότερο χρήσιμο σε μηχανήματα με πολλούς επεξεργαστές, ωστόσο καθώς το μεγαλύτερο μέρος της διαδικασίας μεταγλώττισης καθυστερεί εξαιτίας του σκληρού δίσκου (IO bound) και όχι της CPU, μπορεί να σας φανεί χρήσιμο ακόμα και σε μηχανήματα με ένα επεξεργαστή. Σε ένα τυπικό μηχάνημα με μια CPU, θα μπορούσατε να δώσετε: [source,shell] .... # make -j4 buildworld .... Με την παραπάνω εντολή, το man:make[1] θα χρησιμοποιεί μέχρι 4 διεργασίες κάθε χρονική στιγμή. Από την εμπειρία που έχουμε και από ότι αναφέρουν οι χρήστες στις λίστες, φαίνεται ότι η ρύθμιση αυτή δίνει γενικά την καλύτερη απόδοση. Αν έχετε μηχάνημα με πολλούς επεξεργαστές, και χρησιμοποιείτε πυρήνα με δυνατότητα SMP, δοκιμάστε τιμές μεταξύ του 6 και του 10 για να δείτε ποια επιταχύνει καλύτερα το αποτέλεσμα. ==== Χρόνος Μεταγλώττισης Ο χρόνος που απαιτείται για την μεταγλώττιση επηρεάζεται από πολλούς παράγοντες. Ωστόσο, σε σύγχρονα μηχανήματα η διαδικασία δεν κρατάει συνήθως παραπάνω από μία ή δύο ώρες, όταν γίνεται μεταγλώττιση του δέντρου FreeBSD-STABLE, και μάλιστα χωρίς να χρειάζεται να γίνουν ειδικές ρυθμίσεις ή κόλπα. Το δέντρο FreeBSD-CURRENT χρειάζεται γενικά λίγο περισσότερο χρόνο για να μεταγλωττιστεί. [[new-kernel]] === Μεταγλωττίστε και Εγκαταστήστε Νέο Πυρήνα Για να εκμεταλλευθείτε πλήρως το νέο σας σύστημα, θα πρέπει να επαναμεταγλωττίσετε τον πυρήνα. Αυτό είναι πρακτικά αναγκαίο, καθώς κάποιες δομές στη μνήμη πιθανώς να έχουν αλλάξει, και έτσι προγράμματα όπως τα man:ps[1] και man:top[1] δεν θα λειτουργούν σωστά μέχρι να συγχρονίσετε τον πυρήνα με την έκδοση πηγαίου κώδικα του βασικού συστήματος. Ο απλούστερος και πλέον ασφαλής τρόπος, είναι να μεταγλωττίσετε και να εγκαταστήσετε ένα πυρήνα βασισμένο στον [.filename]#GENERIC#. Αν και ο [.filename]#GENERIC# μπορεί να μην περιέχει όλες τις απαραίτητες συσκευές για το σύστημα σας, θα πρέπει να περιέχει ότι χρειάζεται ώστε να ξεκινήσετε ξανά το σύστημα σας σε κατάσταση λειτουργίας ενός χρήστη. Αυτό είναι ένα καλό τεστ σωστής λειτουργίας του συστήματος. Μετά την εκκίνηση με τον [.filename]#GENERIC#, και αφού επαληθεύσετε τη σωστή λειτουργία του συστήματος, μπορείτε να μεταγλωττίσετε ένα νέο πυρήνα βασισμένο στο δικό σας προσαρμοσμένο αρχείο ρυθμίσεων. Στο FreeBSD είναι σημαντικό να εκτελέσετε το <> πριν μεταγλωττίσετε νέο πυρήνα. [NOTE] ==== Αν θέλετε να μεταγλωττίσετε νέο πυρήνα, και έχετε ήδη ένα αρχείο με προσαρμοσμένες ρυθμίσεις, χρησιμοποιήστε απλώς την επιλογή `KERNCONF=MYKERNEL` με τον τρόπο που φαίνεται παρακάτω: [source,shell] .... # cd /usr/src # make buildkernel KERNCONF=MYKERNEL # make installkernel KERNCONF=MYKERNEL .... ==== Σημειώστε ότι αν έχετε ανεβάσει την τιμή του `kern.securelevel` πάνω από το 1, _και_ έχετε θέσει το flag `noschg` ή κάποιο αντίστοιχο στο εκτελέσιμο αρχείο του πυρήνα, μάλλον θα χρειαστεί να μεταβείτε σε κατάσταση λειτουργίας ενός χρήστη για να χρησιμοποιήσετε το `installkernel`. Διαφορετικά, μπορείτε να εκτελέσετε και τις δύο αυτές εντολές από την κανονική κατάσταση λειτουργίας (πολλών χρηστών) χωρίς να δημιουργηθούν προβλήματα. Δείτε τη σελίδα manual του man:init[8] για λεπτομέρειες σχετικά με τη ρύθμιση `kern.securelevel` και τη σελίδα του man:chflags[1] για λεπτομέρειες σχετικά με τα διάφορα flags που χρησιμοποιούνται σε αρχεία. [[new-kernel-singleuser]] === Επανεκκινήστε σε Κατάσταση Λειτουργίας Ενός Χρήστη Θα πρέπει να επανεκκινήσετε σε κατάσταση λειτουργίας ενός χρήστη για να επαληθεύσετε τη λειτουργία του νέου πυρήνα. Για το σκοπό αυτό, χρησιμοποιήστε τις οδηγίες που είδαμε στο <>. [[make-installworld]] === Εγκαταστήστε τα Νέα Εκτελέσιμα του Συστήματος Θα πρέπει τώρα να χρησιμοποιήσετε το `installworld` για να εγκαταστήσετε τα νέα εκτελέσιμα του συστήματος. Εκτελέστε τις παρακάτω εντολές: [source,shell] .... # cd /usr/src # make installworld .... [NOTE] ==== Αν έχετε καθορίσει μεταβλητές στη γραμμή εντολών του `make buildworld` θα πρέπει να καθορίσετε τις ίδιες μεταβλητές και στην γραμμή εντολών του `make installworld`. Αυτό δεν είναι απαραίτητα αλήθεια για άλλες επιλογές. Για παράδειγμα, η επιλογή `-j` δεν πρέπει ποτέ να χρησιμοποιείτε με το `installworld`. Για παράδειγμα αν εκτελέσετε: [source,shell] .... # make -DNO_PROFILE buildworld .... Θα πρέπει να εγκαταστήσετε το αποτέλεσμα χρησιμοποιώντας: [source,shell] .... # make -DNO_PROFILE installworld .... διαφορετικά το man:make[1] θα προσπαθήσει να εγκαταστήσει βιβλιοθήκες με profiling, τις οποίες όμως δεν μεταγλωττίσατε κατά τη διάρκεια της φάσης `make buildworld`. ==== [[post-installworld-updates]] === Ενημερώστε Όσα Αρχεία δεν Ενημερώθηκαν από το `make installworld` Η επαναμεταγλώττιση του βασικού συστήματος δεν θα ενημερώσει ορισμένους καταλόγους (ειδικότερα τους [.filename]#/etc#, [.filename]#/var# και [.filename]#/usr#) με τα νέα ή αλλαγμένα αρχεία ρυθμίσεων. Ο απλούστερος τρόπος για να ενημερώσετε τα αρχεία αυτά είναι να χρησιμοποιήσετε το man:mergemaster[8], αν και μπορείτε να το κάνετε και χειροκίνητα αν προτιμάτε. Άσχετα από τον τρόπο που θα προτιμήσετε, βεβαιωθείτε ότι έχετε πάρει αντίγραφο ασφαλείας του [.filename]#/etc# σε περίπτωση που κάτι πάει στραβά. [[mergemaster]] ==== `mergemaster` Το βοηθητικό πρόγραμμα man:mergemaster[8] είναι ένα Bourne script το οποίο θα σας βοηθήσει να καθορίσετε τις διαφορές μεταξύ των εγκατεστημένων στο [.filename]#/etc# αρχείων ρυθμίσεων, και των αντίστοιχων στο δέντρο πηγαίου κώδικα στο [.filename]#/usr/src/etc#. Αυτή είναι και η συνιστώμενη λύση για να ενημερώσετε τα αρχεία ρυθμίσεων του συστήματος με τυχόν αλλαγές που έχουν γίνει στον νέο πηγαίο κώδικα. Για να ξεκινήσετε, απλώς γράψτε `mergemaster` στην προτροπή της γραμμής εντολών και παρακολουθήστε την καθώς λειτουργεί. Το `mergemaster` θα δημιουργήσει ένα προσωρινό περιβάλλον root, από το [.filename]#/# και κάτω, και θα το γεμίσει με διάφορα αρχεία ρυθμίσεων του συστήματος. Έπειτα θα γίνει σύγκριση αυτών των αρχείων με τα αντίστοιχα που βρίσκονται ήδη εγκατεστημένα στο σύστημα σας. Στο σημείο αυτό, θα σας δείξει τα αρχεία που διαφέρουν με μορφή man:diff[1], όπου οι γραμμές που έχουν τροποποιηθεί ή είναι νέες θα φαίνονται με ένα `+`, ενώ με το `-` θα φαίνονται οι γραμμές που είτε αφαιρούνται εντελώς ή που αντικαθίστανται από μια νέα γραμμή. Δείτε τη σελίδα manual του man:diff[1] για περισσότερες πληροφορίες σχετικά με τη σύνταξη του man:diff[1] και για τον τρόπο με τον οποίο φαίνονται οι διαφορές μεταξύ των αρχείων. Το man:mergemaster[8] θα σας δείξει έπειτα κάθε αρχείο που παρουσιάζει διαφορές, και στο σημείο αυτό θα έχετε την δυνατότητα είτε να διαγράψετε το νέο αρχείο (το οποίο αναφέρεται ως προσωρινό αρχείο), είτε να εγκαταστήσετε το προσωρινό αρχείο χωρίς να κάνετε σε αυτό καμιά αλλαγή, είτε να συγχωνεύσετε τις αλλαγές των δύο αρχείων, ή τέλος να ξαναδείτε τις διαφορές μέσω της man:diff[1]. Αν επιλέξετε να διαγράψετε το προσωρινό αρχείο, το man:mergemaster[8] θα καταλάβει ότι επιθυμείτε να διατηρήσετε το τρέχον αρχείο σας χωρίς αλλαγές, και να διαγράψετε τη νέα έκδοση. Η επιλογή αυτή γενικά δεν συνίσταται, εκτός αν δεν βλέπετε κανένα λόγο να αλλάξετε το τρέχον αρχείο. Μπορείτε να δείτε βοήθεια οποιαδήποτε στιγμή κατά τη διάρκεια της διαδικασίας, πληκτρολογώντας kbd:[?] στην προτροπή του man:mergemaster[8]. Αν αποφασίσετε να παραλείψετε κάποιο αρχείο, αυτό θα εμφανιστεί ξανά μετά το τέλος όλων των άλλων αρχείων. Αν επιλέξετε να εγκαταστήσετε το προσωρινό αρχείο χωρίς αλλαγές, αυτό θα αντικαταστήσει το ήδη εγκατεστημένο σας αρχείο. Αυτή είναι και η καλύτερη επιλογή για τα αρχεία τα οποία δεν έχετε αλλάξει εσείς χειροκίνητα. Αν επιλέξετε να συγχωνεύσετε τα δύο αρχεία, θα εμφανιστεί ένας επεξεργαστής κειμένου με τα περιεχόμενα και των δύο αρχείων. Μπορείτε τώρα να τα συγχωνεύσετε παρατηρώντας ταυτόχρονα και τα δύο αρχεία δίπλα-δίπλα, και επιλέγοντας τμήματα και από τα δύο για να δημιουργήσετε την τελική έκδοση. Κατά τη σύγκριση αυτή, μπορείτε να χρησιμοποιήσετε το πλήκτρο kbd:[l] για να επιλέξετε τα περιεχόμενα που φαίνονται στην αριστερή πλευρά, ή το kbd:[r] για τα αντίστοιχα περιεχόμενα στη δεξιά. Το τελικό αποτέλεσμα θα είναι ένα αρχείο που θα αποτελείται από τμήματα και των δύο αρχείων, και το οποίο μπορείτε να εγκαταστήσετε. Η επιλογή αυτή χρησιμοποιείται συνήθως για αρχεία των οποίων το περιεχόμενο έχει μεταβληθεί από το χρήστη. Αν επιλέξετε να δείτε ξανά τις διαφορές μέσω της man:diff[1], αυτές θα εμφανιστούν ακριβώς όπως έγινε και πριν σας ρωτήσει το man:mergemaster[8] να επιλέξετε τι θέλετε να κάνετε με το αρχείο. Μόλις ολοκληρωθεί η λειτουργία του man:mergemaster[8] στα αρχεία συστήματος, θα σας ρωτήσει για άλλες επιλογές. Το man:mergemaster[8] ίσως σας ρωτήσει αν θέλετε να αναδημιουργήσετε το αρχείο των κωδικών (password file), και θα τελειώσει δίνοντας σας την επιλογή να διαγράψετε τυχόν προσωρινά αρχεία που δημιουργήθηκαν κατά την διαδικασία. ==== Χειροκίνητη Ενημέρωση Αν επιθυμείτε να κάνετε την ενημέρωση χειροκίνητα, δεν μπορείτε απλώς να αντιγράψετε τα αρχεία από τον κατάλογο [.filename]#/usr/src/etc# στον [.filename]#/etc# και να περιμένετε ότι το σύστημα σας θα λειτουργήσει σωστά. Κάποια από αυτά τα αρχεία θα πρέπει να "εγκατασταθούν" πρώτα. Αυτό συμβαίνει επειδή ο κατάλογος [.filename]#/usr/src/etc#_δεν είναι_ κανονικό αντίγραφο του [.filename]#/etc#. Επιπρόσθετα, υπάρχουν αρχεία τα οποία πρέπει να βρίσκονται στον κατάλογο [.filename]#/etc#, αλλά δεν υπάρχουν στον [.filename]#/usr/src/etc#. Αν χρησιμοποιείτε το man:mergemaster[8] (όπως και συνίσταται), μπορείτε να διαβάσετε κατευθείαν την <>. Ο απλούστερος τρόπος να το κάνετε αυτό χειροκίνητα, είναι να εγκαταστήσετε τα αρχεία σε ένα νέο κατάλογο, και έπειτα να τα εξετάσετε ένα-ένα ψάχνοντας για τις αλλαγές. [WARNING] .Κρατήστε Ένα Αντίγραφο Ασφαλείας του Καταλόγου [.filename]#/etc# ==== Αν και θεωρητικά, τίποτα δεν πρόκειται να πειράξει αυτό τον κατάλογο αυτόματα, είναι πάντα καλύτερα να είμαστε σίγουροι. Για το λόγο αυτό, αντιγράψτε τον υπάρχοντα κατάλογο [.filename]#/etc# σε κάποιο ασφαλές μέρος. Χρησιμοποιήστε μια εντολή όπως η παρακάτω: [source,shell] .... # cp -Rp /etc /etc.old .... Η επιλογή `-R` πραγματοποιεί αναδρομική αντιγραφή, ενώ η `-p` διατηρεί τα δικαιώματα, την ιδιοκτησία, τις ημερομηνίες των αρχείων, κ.ο.κ. ==== θα πρέπει να δημιουργήσετε μια ψευτο-δομή καταλόγων για να εγκαταστήσετε το νέο κατάλογο [.filename]#/etc# και άλλα αρχεία. Μια λογική επιλογή είναι ο κατάλογος [.filename]#/var/tmp/root#, και κάτω από αυτόν, θα πρέπει επίσης να δημιουργήσετε και μια ολόκληρη σειρά από τους υποκαταλόγους που απαιτούνται. [source,shell] .... # mkdir /var/tmp/root # cd /usr/src/etc # make DESTDIR=/var/tmp/root distrib-dirs distribution .... Οι παραπάνω εντολές θα δημιουργήσουν την απαιτούμενη δομή καταλόγων και θα εγκαταστήσουν τα αρχεία. Μεγάλο μέρος των υποκαταλόγων που έχουν δημιουργηθεί κάτω από τον [.filename]#/var/tmp/root# είναι άδειοι, και πρέπει να διαγραφούν. Ο απλούστερος τρόπος για να γίνει αυτό, φαίνεται παρακάτω: [source,shell] .... # cd /var/tmp/root # find -d . -type d | xargs rmdir 2/dev/null .... Αυτό θα διαγράψει όλους τους άδειους υποκαταλόγους. (Η έξοδος σφάλματος ανακατευθύνεται στο [.filename]#/dev/null# ώστε να μην εμφανίζονται στην οθόνη προειδοποιήσεις για καταλόγους που δεν είναι άδειοι.) Τώρα, ο [.filename]#/var/tmp/root# περιέχει όλα τα αρχεία που θα πρέπει να τοποθετηθούν σε κατάλληλες θέσεις κάτω από τον [.filename]#/#. Θα πρέπει τώρα να διατρέξετε καθένα από αυτά τα αρχεία, και να καθορίσετε πως καθένα από αυτά διαφέρει από το αντίστοιχο υπάρχον (εγκατεστημένο) αρχείο. Σημειώστε ότι κάποια από τα αρχεία τα οποία έχουν εγκατασταθεί στον [.filename]#/var/tmp/root# έχουν μια αρχική ".". Τη στιγμή που γράφονται αυτές οι γραμμές, τα μόνα αρχεία στα οποία συμβαίνει αυτό είναι τα αρχεία εκκίνησης του κελύφους στον κατάλογο [.filename]#/var/tmp/root/# και [.filename]#/var/tmp/root/root/#, αν και μπορεί να υπάρχουν και άλλα (ανάλογα με το πότε διαβάζετε το κείμενο). Βεβαιωθείτε ότι χρησιμοποιείτε την εντολή `ls -a` για να τα δείτε όλα. Ο απλούστερος τρόπος για να συγκρίνετε δύο αρχεία, είναι να χρησιμοποιήσετε την εντολή man:diff[1]: [source,shell] .... # diff /etc/shells /var/tmp/root/etc/shells .... Η παραπάνω εντολή θα σας δείξει τις διαφορές μεταξύ του αρχείου [.filename]#/etc/shells# και του νέου αρχείου [.filename]#/var/tmp/root/etc/shells#. Χρησιμοποιήστε τις διαφορές αυτές για να αποφασίσετε αν θα πρέπει να συγχωνεύσετε τις αλλαγές που έχετε κάνει, ή απλώς να αντιγράψετε το παλιό σας αρχείο πάνω από το νέο. [TIP] .Προσθέστε την Ημερομηνία στο Όνομα του Νέου Root Καταλόγου, ([.filename]#/var/tmp/root#) Ώστε να Μπορείτε Εύκολα να Συγκρίνετε Διαφορετικές Εκδόσεις Μεταξύ τους ==== Αν μεταγλωττίζετε συχνά το βασικό σύστημα, θα πρέπει επίσης να ενημερώνετε συχνά τον κατάλογο [.filename]#/etc#, το οποίο μπορεί να είναι ενοχλητικό. Μπορείτε να επιταχύνετε αυτή τη διαδικασία, τηρώντας ένα αντίγραφο του τελευταίου σετ αλλαγμένων αρχείων τα οποία συγχωνεύσατε στον κατάλογο [.filename]#/etc#. Η παρακάτω διαδικασία θα σας δώσει μια ιδέα για το πως μπορεί να γίνει αυτό: [.procedure] . Μεταγλωττίστε το βασικό σύστημα όπως κάνετε συνήθως. Όταν θέλετε να ενημερώσετε τον [.filename]#/etc# και τους άλλους καταλόγους, δώστε στον κατάλογο προορισμού ένα όνομα βασισμένο στην τρέχουσα ημερομηνία. Αν το κάνατε αυτό στις 14 Φεβρουαρίου 1998, θα γράφατε κάτι σαν το παρακάτω: + [source,shell] .... # mkdir /var/tmp/root-19980214 # cd /usr/src/etc # make DESTDIR=/var/tmp/root-19980214 \ distrib-dirs distribution .... . Συγχωνεύστε τις αλλαγές από αυτό τον κατάλογο, με τον τρόπο που περιγράψαμε παραπάνω. + _Μην διαγράψετε_ τον κατάλογο [.filename]#/var/tmp/root-19980214# όταν τελειώσετε με την παραπάνω διαδικασία. . Όταν κατεβάσετε την τελευταία έκδοση του πηγαίου κώδικα και τον μεταγλωττίσετε ξανά, ακολουθήστε το βήμα 1. Αυτό θα σας δώσει ένα κατάλογο που μπορεί να ονομάζεται [.filename]#/var/tmp/root-19980221# (αν ανάμεσα στις δύο μεταγλωττίσεις παρεμβάλλεται διάστημα μιας εβδομάδας). . Μπορείτε τώρα να δείτε τις διαφορές που υπάρχουν ανάμεσα στις δύο εβδομάδες, χρησιμοποιώντας την εντολή man:diff[1] σε αναδρομική λειτουργία για να δημιουργήσετε τις διαφορές μεταξύ των δύο καταλόγων: + [source,shell] .... # cd /var/tmp # diff -r root-19980214 root-19980221 .... + Τυπικά, αυτό το σετ αλλαγών θα είναι πολύ μικρότερο από αυτό μεταξύ του [.filename]#/var/tmp/root-19980221/etc# και του [.filename]#/etc#. Καθώς αυτό το σετ αλλαγών είναι μικρότερο, είναι και πιο εύκολο να εφαρμόσετε αυτές τις αλλαγές στον κατάλογο [.filename]#/etc#. . Μπορείτε τώρα να διαγράψετε τον παλιότερο από τους δύο καταλόγους [.filename]#/var/tmp/root-*#: + [source,shell] .... # rm -rf /var/tmp/root-19980214 .... . Επαναλάβετε αυτή τη διαδικασία κάθε φορά που θέλετε να συγχωνεύσετε τις αλλαγές στον κατάλογο [.filename]#/etc#. Μπορείτε επίσης να χρησιμοποιήσετε την εντολή man:date[1] για να αυτοματοποιήσετε την δημιουργία των ονομάτων καταλόγων: [source,shell] .... # mkdir /var/tmp/root-`date "+%Y%m%d"` .... ==== [[updating-upgrading-rebooting]] === Επανεκκίνηση Η διαδικασία έχει πλέον ολοκληρωθεί. Αφού επαληθεύσετε ότι όλα βρίσκονται στις σωστές θέσεις, μπορείτε να επανεκκινήσετε το σύστημα. Μια απλή εντολή man:shutdown[8] είναι επαρκής: [source,shell] .... # shutdown -r now .... === Ολοκλήρωση Έχετε πλέον αναβαθμίσει το FreeBSD σύστημα σας. Συγχαρητήρια. Αν τα πράγματα δεν πήγαν εντελώς σωστά, είναι εύκολο να μεταγλωττίσετε ξανά οποιοδήποτε τμήμα του συστήματος. Για παράδειγμα, αν διαγράψετε κατά λάθος το [.filename]#/etc/magic# ως μέρος μιας αναβάθμισης ή συγχώνευσης του [.filename]#/etc#, η εντολή man:file[1] θα σταματήσει να λειτουργεί. Στην περίπτωση αυτή, η διόρθωση είναι να εκτελέσετε: [source,shell] .... # cd /usr/src/usr.bin/file # make all install .... [[updating-questions]] === Ερωτήσεις ==== Πρέπει να μεταγλωττίσω ξανά ολόκληρο το βασικό σύστημα σε κάθε αλλαγή; Δεν υπάρχει εύκολη απάντηση σε αυτό το ερώτημα, καθώς εξαρτάται από τη φύση της αλλαγής. Για παράδειγμα, αν εκτελέσετε το CVSup, και δείτε ότι ενημερώθηκαν τα παρακάτω αρχεία: [source,shell] .... src/games/cribbage/instr.c src/games/sail/pl_main.c src/release/sysinstall/config.c src/release/sysinstall/media.c src/shared/mk/bsd.port.mk .... Το πιθανότερο είναι ότι δεν χρειάζεται να μεταγλωττίσετε ξανά όλο το βασικό σύστημα. Μπορείτε απλώς να μεταβείτε στους σχετικούς υποκαταλόγους και να εκτελέσετε το `make all install`, και θα έχετε τελειώσει. Αν όμως υπάρχει κάποια σημαντική αλλαγή, για παράδειγμα το [.filename]#src/lib/libc/stdlib#, θα πρέπει είτε να επαναμεταγλωττίσετε το βασικό σύστημα, ή τουλάχιστον αυτά τα κομμάτια τα οποία είναι στατικά συνδεδεμένα (όπως και οτιδήποτε άλλο έχετε προσθέσει εσείς και το οποίο είναι στατικά συνδεδεμένο). Τελικά, η απόφαση είναι δική σας. Μπορεί να είστε ικανοποιημένος αν μεταγλωττίζετε το βασικό σύστημα κάθε δύο βδομάδες, αφήνοντας τις αλλαγές να συγκεντρωθούν στη διάρκεια αυτού του διαστήματος. Ή μπορεί να θέλετε να μεταγλωττίσετε μόνο τις αλλαγές, αν έχετε την πεποίθηση ότι μπορείτε να εντοπίσετε όλες τις εξαρτήσεις τους. Και φυσικά, όλα αυτά εξαρτώνται από το πόσο συχνά θέλετε να ενημερώνετε το σύστημα σας, και από το αν ακολουθείτε το FreeBSD-STABLE ή το FreeBSD-CURRENT. ==== Η μεταγλώττιση μου απέτυχε με πλήθος μηνυμάτων signal 11signal 11 (ή λάθη με άλλα σήματα). Τι έχει συμβεί; Αυτό συνήθως δείχνει προβλήματα υλικού. Η διαδικασία μεταγλώττισης του βασικού συστήματος είναι ένας αποτελεσματικός τρόπος να δοκιμάσετε το υλικό σας στα όρια του, και συχνά θα δείξει προβλήματα που σχετίζονται με τη μνήμη. Το πιο σύνηθες σύμπτωμα, είναι η απότομη διακοπή της μεταγλώττισης, με τον μεταγλωττιστή να φαίνεται ότι έχει λάβει κάποιο μυστηριώδες σήμα. Ένα σίγουρο σημάδι για το παραπάνω, είναι να επανεκκινήσετε τη διαδικασία, και αυτή να σταματήσει σε διαφορετικό σημείο. Στην περίπτωση αυτή, δεν υπάρχουν και πολλά που μπορείτε να κάνετε, εκτός από το να αρχίσετε να αλλάζετε εξαρτήματα στο μηχάνημα σας μέχρι να βρείτε αυτό που είναι υπαίτιο. ==== Μπορώ να διαγράψω το /usr/obj όταν τελειώσω; Η σύντομη απάντηση είναι ναι. Το [.filename]#/usr/obj# περιέχει όλα τα αντικειμενικά αρχεία που παράγονται κατά τη διάρκεια της μεταγλώττισης. Συνήθως, ένα από τα πρώτα βήματα στην διαδικασία `make buildworld` είναι η διαγραφή αυτού του καταλόγου και η αναδημιουργία του. Στην περίπτωση αυτή, το να κρατήσετε τον κατάλογο [.filename]#/usr/obj# αφού έχετε τελειώσει, δεν έχει και πολύ νόημα, ενώ αν τον σβήσετε θα κερδίσετε ένα μεγάλο κομμάτι ελεύθερου χώρου (την παρούσα στιγμή περίπου 2 GB). Όμως, αν ξέρετε τι κάνετε, μπορείτε να οδηγήσετε το `make buildworld` να παραλείψει αυτό το βήμα. Αυτό θα επιταχύνει ιδιαίτερα τις νέες μεταγλωττίσεις, καθώς τα περισσότερα τμήματα του πηγαίου κώδικα δεν θα χρειάζονται ξανά μεταγλώττιση. Το μειονέκτημα είναι ότι ορισμένες φορές εμφανίζονται προβλήματα που έχουν σχέση με όχι και τόσο εμφανείς εξαρτήσεις, και μπορεί να οδηγήσουν σε μυστηριώδη αποτυχία της μεταγλώττισης. Τέτοια προβλήματα συχνά δημιουργούν "θόρυβο" στις λίστες του FreeBSD, όταν κάποιος χρήστης παραπονιέται ότι η μεταγλώττιση του αποτυγχάνει, χωρίς να αντιλαμβάνεται ότι αυτό οφείλεται στην προσπάθεια του να συντομεύσει την διαδικασία. ==== Μπορώ να συνεχίσω μια μεταγλώττιση που διέκοψα; Αυτό εξαρτάται από το πόσο έχετε προχωρήσει στη διαδικασία μέχρι τη στιγμή που βρήκατε το πρόβλημα. _Σε γενικές γραμμές_ (και αυτός δεν είναι κανόνας που ισχύει πάντα), η διεργασία του `make buildworld` μεταγλωττίζει νέα αντίγραφα βασικών εργαλείων (όπως τα man:gcc[1], και man:make[1]) καθώς και των βιβλιοθηκών συστήματος. Έπειτα εγκαθιστώνται αυτά τα εργαλεία και οι βιβλιοθήκες. Τα νέα εργαλεία και βιβλιοθήκες χρησιμοποιούνται έπειτα για να επαναμεταγλωττίσουν τους εαυτούς τους, και εγκαθίστανται ξανά. Ολόκληρο το σύστημα (το οποίο τώρα περιλαμβάνει και τα συνηθισμένα προγράμματα χρήστη όπως το man:ls[1] ή το man:grep[1]) επαναμεταγλωττίζεται χρησιμοποιώντας τα νέα αρχεία του συστήματος. Αν βρίσκεστε στο τελευταίο στάδιο, το οποίο θα το γνωρίζετε κοιτάζοντας την έξοδο που έχετε αποθηκεύσει, είναι σχετικά ασφαλές να κάνετε: [source,shell] .... ... fix the problem ... # cd /usr/src # make -DNO_CLEAN all .... Με τον τρόπο αυτό δεν θα αναιρέσετε την εργασία που έχει γίνει από το προηγούμενο `make buildworld`. Αν δείτε το μήνυμα: [source,shell] .... -------------------------------------------------------------- Building everything.. -------------------------------------------------------------- .... στην έξοδο της εντολής `make buildworld`, τότε είναι μάλλον ασφαλές να προχωρήσετε με αυτό τον τρόπο. Αν δεν δείτε αυτό το μήνυμα, ή αν δεν είστε σίγουρος, τότε είναι καλύτερα να κάνετε πλήρη μεταγλώττιση παρά να μετανιώνετε αργότερα. ==== Πως μπορώ να επιταχύνω τη μεταγλώττιση του βασικού συστήματος; * Εκτελέστε την σε κατάσταση ενός χρήστη. * Βάλτε τους καταλόγους [.filename]#/usr/src# και [.filename]#/usr/obj# σε διαφορετικά συστήματα αρχείων τα οποία βρίσκονται και σε διαφορετικούς φυσικούς δίσκους. Αν είναι δυνατόν, βάλτε αυτούς τους δίσκους σε χωριστούς ελεγκτές. * Ακόμα καλύτερα, μοιράστε αυτά τα συστήματα αρχείων σε πολλαπλούς δίσκους, χρησιμοποιώντας το πρόγραμμα οδήγησης man:ccd[4] (concatenated disk driver, οδήγησης συνενωμένων δίσκων). * Απενεργοποιήστε το profiling (θέστε την μεταβλητή "NO_PROFILE=true" στο [.filename]#/etc/make.conf#). Είναι σχεδόν σίγουρο ότι δεν το χρειάζεστε. * Στο αρχείο [.filename]#/etc/make.conf#, θέστε το `CFLAGS` σε κάτι όπως `-O -pipe`. Η βελτιστοποίηση `-O2` χρειάζεται αρκετά περισσότερο χρόνο, και η διαφορά απόδοσης μεταξύ `-O` και `-O2` είναι συνήθως αμελητέα. Το `-pipe` επιτρέπει στον μεταγλωττιστή να χρησιμοποιήσει pipes για επικοινωνία αντί για προσωρινά αρχεία. Αυτό καταναλώνει περισσότερη μνήμη, αλλά χρησιμοποιεί λιγότερο το σκληρό δίσκο. * Χρησιμοποιήστε την επιλογή `-j__n__` στο man:make[1] ώστε να εκτελούνται παράλληλα πολλαπλές διεργασίες μεταγλώττισης. Αυτό συνήθως βοηθάει ακόμα και σε περίπτωση που έχετε μηχάνημα με ένα επεξεργαστή. * Μπορείτε να προσαρτήσετε (ή να επαναπροσαρτήσετε) το σύστημα αρχείων στο οποίο είναι αποθηκευμένο το [.filename]#/usr/src# με την επιλογή `noatime`. Αυτό αποτρέπει την καταγραφή ημερομηνίας / ώρας πρόσβασης στο σύστημα αρχείων. Κατά πάσα πιθανότητα, δεν χρειάζεστε αυτή την πληροφορία έτσι και αλλιώς. + [source,shell] .... # mount -u -o noatime /usr/src .... + [WARNING] ==== Το παράδειγμα προϋποθέτει ότι έχετε το [.filename]#/usr/src# στο δικό του σύστημα αρχείων. Αν αυτό δεν συμβαίνει (αν είναι μέρος του [.filename]#/usr# για παράδειγμα) θα χρειαστεί να χρησιμοποιήσετε αυτό το σημείο προσάρτησης, και όχι το [.filename]#/usr/src#. ==== * Μπορείτε να προσαρτήσετε (ή να επαναπροσαρτήσετε) το σύστημα αρχείων που περιέχει το [.filename]#/usr/obj# με την επιλογή `async`. Με τον τρόπο αυτό, οι εγγραφές στο δίσκο θα γίνονται ασύγχρονα. Με άλλα λόγια, οι εγγραφές φαίνεται ότι ολοκληρώνονται άμεσα, ενώ η πραγματική εγγραφή στο δίσκο γίνεται λίγα δευτερόλεπτα αργότερα. Αυτό επιτρέπει την ομαδοποίηση των εγγραφών, το οποίο μπορεί να προσφέρει δραματική βελτίωση απόδοσης. + [WARNING] ==== Να έχετε υπόψιν σας ότι αυτή η επιλογή μπορεί να κάνει το σύστημα αρχείων σας πολύ πιο ευαίσθητο. Με την επιλογή αυτή, υπάρχει αυξημένη πιθανότητα το σύστημα αρχείων να βρεθεί σε μη επισκευάσιμη κατάσταση αν υπάρξει διακοπή ρεύματος. Αν το σύστημα αρχείων περιέχει μόνο το [.filename]#/usr/obj#, το παραπάνω δεν είναι πρόβλημα. Αν ωστόσο έχετε και άλλα πολύτιμα δεδομένα στο ίδιο σύστημα αρχείων, σιγουρευτείτε ότι έχετε ενημερωμένα αντίγραφα ασφαλείας πριν ενεργοποιήσετε αυτή την επιλογή. ==== + [source,shell] .... # mount -u -o async /usr/obj .... + [WARNING] ==== Όπως και προηγουμένως, αν το [.filename]#/usr/obj# δεν είναι σύστημα αρχείων από μόνο του, αντικαταστήστε το στο παράδειγμα με το όνομα του πραγματικού σημείου προσάρτησης. ==== ==== Τι να κάνω αν κάτι πάει στραβά; Σιγουρευτείτε ότι το περιβάλλον σας δεν έχει υπολείμματα από προηγούμενες μεταγλωττίσεις. Αυτό είναι αρκετά απλό. [source,shell] .... # chflags -R noschg /usr/obj/usr # rm -rf /usr/obj/usr # cd /usr/src # make cleandir # make cleandir .... Ναι, θα πρέπει να εκτελέσετε το `make cleandir` δύο φορές. Επανεκκινήστε έπειτα όλη τη διαδικασία, ξεκινώντας με το `make buildworld`. Αν έχετε ακόμα προβλήματα, στείλτε το μήνυμα λάθους και την έξοδο του `uname -a` στην {freebsd-questions}. Να είστε προετοιμασμένοι να απαντήσετε επιπλέον ερωτήσεις σχετικά με την εγκατάσταση σας! [[make-delete-old]] == Διαγραφή Παρωχημένων Αρχείων, Καταλόγων και Βιβλιοθηκών Κατά την συνεχή ανάπτυξη του FreeBSD είναι φυσιολογικό κάποια αρχεία κατά καιρούς να χαρακτηρίζονται ως παρωχημένα. Αυτό μπορεί να συμβεί αν οι λειτουργίες που παρείχαν υλοποιούνται πλέον διαφορετικά, αν ο ο αριθμός έκδοσης της βιβλιοθήκης έχει αλλάξει ή ακόμα και αν έχει διαγραφεί οριστικά από το σύστημα. Στα αρχεία αυτά περιλαμβάνονται επίσης βιβλιοθήκες κατάλογοι που πρέπει να διαγραφούν όταν γίνεται αναβάθμιση του συστήματος. Το όφελος για το χρήστη είναι ότι το σύστημα του δεν γεμίζει από παλιά αρχεία τα οποία καταλαμβάνουν άχρηστο χώρο στο μέσο αποθήκευσης και στο backup. Επιπρόσθετα, αν κάποια παλιά βιβλιοθήκη είχε προβλήματα σταθερότητας ή ασφάλειας θα πρέπει να την αναβαθμίσετε για να κρατήσετε το σύστημα σας σταθτερό και ασφαλές. Τα αρχεία, οι κατάλογοι και οι βιβλιοθήκες που θεωρούνται παρωχημένες φαίνονται στο [.filename]#/usr/src/ObsoleteFiles.inc#. Οι παρακάτω οδηγίες θα σας βοηθήσουν να διαγράψετε αυτά τα αρχεία κατά τη διαδικασία αναβάθμισης του συστήματος. Υποθέτουμε ότι χρησιμοποιείτε τα βήματα που περιγράφονται στο <>. Μετά την επιτυχή εκτέλση της εντολής `make installworld` και του `mergemaster` που ακολουθεί, θα πρέπει να ελέγξετε για παρωχημένα αρχεία και βιβλιοθήκες όπως φαίνεται παρακάτω: [source,shell] .... # cd /usr/src # make check-old .... Αν βρεθούν παρωχημένα αρχεία, μπορείτε να τα διαγράψετε με τις παρακάτω εντολές: [source,shell] .... # make delete-old .... [TIP] ==== Δείτε το [.filename]#/usr/src/Makefile# για περισσότερες ενδιαφέρουσες επιλογές της `make`. ==== Για κάθε αρχείο που θα διαγραφεί, θα σας ζητηθεί να επιβεβαιώσετε την ενέργεια. Μπορείτε να παραλείψετε την ερώτηση και να αφήσετε το σύστημα να διαγράψει αυτά τα αρχεία αυτόματα χρησιμοποιώντας την μεταβλητή του make `BATCH_DELETE_OLD_FILES` με τον τρόπο που φαίνεται παρακάτω: [source,shell] .... # make -DBATCH_DELETE_OLD_FILES delete-old .... [WARNING] ==== Η διαγραφή παρωχημένων αρχείων, θα προκαλέσει δυσλειτουργία των εφαρμογών που εξακολουθούν να βασίζονται σε αυτά. Αυτό συμβαίνει ιδιαίτερα σε παλιές βιβλιοθήκες. Στις περισσότερες περιπτώσεις, θα πρέπει να επαναμεταγλωττίσετε τα προγράμματα, ports ή βιβλιοθήκες που χρησιμοποιούσαν την παλιά βιβλιοθήκη πριν εκτελέσετε την εντολή `make delete-old-libs`. ==== Μπορείτε να βρείτε προγράμματα που ελέγχουν τις εξαρτήσεις των κοινόχρηστων βιβλιοθηκών στη Συλλογή των Ports, στο package:sysutils/libchk[] ή package:sysuilts/bsdadminscripts[]. Οι παρωχημένες κοινόχρηστες βιβλιοθήκες μπορούν να δημιουργήσουν προβλήματα λόγω συγκρούσεων με νεώτερες εκδόσεις. Σε αυτές τις περιπτώσεις, θα δείτει μηνύματα όπως τα παρακάτω: [source,shell] .... /usr/bin/ld: warning libz.so.4, needed by /usr/local/lib/libtiff.so, may conflict with libz.so.5 /usr/bin/ld: warning: librpcsvc.so.4, needed by /usr/local/lib/libXext.so may conflict with librpcsvc.so.5 .... Για να επιλύσετε τέτοιου είδους προβλήματα, βρείτε ποιο port εγκατέστησε την βιβλιοθήκη: [source,shell] .... # pkg_info -W /usr/local/lib/libtiff.so /usr/local/lib/libtiff.so was installed by package tiff-3.9.4 # pkg_info -W /usr/local/lib/libXext.so /usr/local/lib/libXext.so was installed by package libXext-1.1.1,1 .... Έπειτα, απεγκαταστήστε, επαναμεταγλωττίστε και επανεγκατασήστε το port. Για να αυτοματοποιήσετε αυτή τη διαδικασία μπορείτε να χρησιμοποιήσετε τα βοηθητικά προγράμματα package:ports-mgmt/portmaster[] και package:ports-mgmt/portupgrade[]. Αφού βεβαιωθείτε ότι οι παλιές βιβλιοθήκες δεν χρησιμοποιούνται πλέον από κανένα πρόγραμμα, μπορείτε να τις διαγράψετε με την παρακάτω εντολή: [source,shell] .... # make delete-old-libs .... [[small-lan]] == Διαδικασία για Πολλαπλά Μηχανήματα Αν έχετε πολλαπλά μηχανήματα στα οποία πρόκειται να χρησιμοποιήσετε το ίδιο δέντρο πηγαίου κώδικα, είναι σπατάλη πόρων (δίσκου, δικτύου και επεξεργαστή) να επαναλαμβάνετε σε όλα τη διαδικασία ανάκτησης και μεταγλώττισης. Η λύση είναι να ορίσετε ένα μηχάνημα να εκτελεί το μεγαλύτερο μέρος της εργασίας, ενώ τα υπόλοιπα θα μπορούν να την ανακτούν μέσω NFS. Στην ενότητα αυτή θα παρουσιάσουμε ένα τρόπο με τον οποίο μπορεί να γίνει αυτό. [[small-lan-preliminaries]] === Προκαταρκτικά Πρώτα από όλα, αναγνωρίστε το σετ των μηχανημάτων στα οποία σκοπεύετε να χρησιμοποιήσετε τα ίδια εκτελέσιμα. Θα ονομάσουμε αυτή την ομάδα _σετ μεταγλώττισης_. Κάθε μηχάνημα μπορεί να έχει δικό του προσαρμοσμένο πυρήνα, αλλά θα έχουν όλα τα ίδια εκτελέσιμα userland. Από το σετ αυτό, επιλέξτε ένα μηχάνημα το οποίο θα γίνει το _μηχάνημα μεταγλώττισης_. Θα είναι το μηχάνημα στο οποίο θα μεταγλωττίζεται το βασικό σύστημα και ο πυρήνας. Το ιδανικό είναι να επιλέξετε ένα γρήγορο μηχάνημα, στο οποίο να υπάρχει αρκετός ελεύθερος χρόνος στον επεξεργαστή για να εκτελεί τα `make buildworld` και `make buildkernel`. Θα πρέπει επίσης να επιλέξετε ένα _μηχάνημα δοκιμών_ στο οποίο θα δοκιμάζετε τις ενημερώσεις λογισμικού πριν τις μεταφέρετε στην παραγωγή. Μπορεί να είναι και το ίδιο το μηχάνημα μεταγλώττισης, αλλά αυτό δεν είναι απαραίτητο. Όλα τα μηχανήματα στο σετ μεταγλώττισης χρειάζεται να προσαρτήσουν το [.filename]#/usr/obj# και το [.filename]#/usr/src# από το ίδιο μηχάνημα, και στο ίδιο σημείο προσάρτησης. Το ιδανικό είναι αυτά τα δύο συστήματα αρχείων να βρίσκονται σε διαφορετικό φυσικό δίσκο στο μηχάνημα μεταγλώττισης, αλλά μπορείτε να τα προσαρτήσετε μέσω NFS ακόμα και σε αυτό το μηχάνημα. Αν έχετε πολλαπλά σετ μεταγλώττισης, το [.filename]#/usr/src# θα πρέπει να βρίσκεται σε ένα από τα μηχανήματα μεταγλώττισης, και να προσαρτάται στα υπόλοιπα μέσω NFS. Τέλος, βεβαιωθείτε ότι τα αρχεία [.filename]#/etc/make.conf# και [.filename]#/etc/src.conf# σε όλα τα μηχανήματα του σετ μεταγλώττισης, είναι ίδια με τα αντίστοιχα στο μηχάνημα μεταγλώττισης. Αυτό σημαίνει ότι το μηχάνημα μεταγλώττισης θα πρέπει να μεταγλωττίζει όλα τα τμήματα του βασικού συστήματος τα οποία θα εγκατασταθούν σε κάθε μηχάνημα του σετ. Επίσης, σε κάθε μηχάνημα στο σετ μεταγλώττισης θα πρέπει να οριστεί το όνομα του δικού του προσαρμοσμένου πυρήνα μέσω της μεταβλητής `KERNCONF` στο [.filename]#/etc/make.conf#, ενώ και το μηχάνημα μεταγλώττισης θα πρέπει να έχει μια λίστα όλων των άλλων στο `KERNCONF`, ξεκινώντας από το δικό του. Το μηχάνημα μεταγλώττισης, θα πρέπει να έχει τα αρχεία ρύθμισης του πυρήνα όλων των άλλων μηχανημάτων στον κατάλογο [.filename]#/usr/src/sys/arch/conf# αν πρόκειται να μεταγλωττίζει τους πυρήνες τους. [[small-lan-base-system]] === Το Βασικό Σύστημα Έχοντας πραγματοποιήσει όλα τα παραπάνω, είστε έτοιμος να μεταγλωττίσετε τα πάντα. Μεταγλωττίστε τον πυρήνα και το βασικό σύστημα όπως περιγράψαμε στο <> χρησιμοποιώντας το μηχάνημα μεταγλώττισης, αλλά μην εγκαταστήσετε τίποτα. Μετά το τέλος της μεταγλώττισης, χρησιμοποιήστε το μηχάνημα δοκιμών και εγκαταστήστε τον πυρήνα που μόλις δημιουργήσατε. Αν το μηχάνημα αυτό προσαρτά το [.filename]#/usr/src# και το [.filename]#/usr/obj# μέσω NFS, όταν το επανεκκινήσετε σε κατάσταση ενός χρήστη, θα χρειαστεί να ενεργοποιήσετε το δίκτυο και να τα προσαρτήσετε. Ο ευκολότερος τρόπος για αυτό, είναι να εκκινήσετε σε κατάσταση πολλαπλών χρηστών και έπειτα να εκτελέσετε `shutdown now` για να μεταβείτε σε κατάσταση ενός χρήστη. Μόλις γίνει αυτό, μπορείτε να εγκαταστήσετε τον νέο πυρήνα και το βασικό σύστημα, και να εκτελέσετε το `mergemaster` όπως θα κάνατε συνήθως. Όταν τελειώσετε, επανεκκινήστε αυτό το μηχάνημα στην κανονική λειτουργία πολλαπλών χρηστών. Όταν βεβαιωθείτε ότι όλα λειτουργούν σωστά στο μηχάνημα δοκιμών, χρησιμοποιήστε την ίδια διαδικασία για να εγκαταστήσετε το νέο λογισμικό σε κάθε ένα από τα υπόλοιπα μηχανήματα του σετ μεταγλώττισης. [[small-lan-ports]] === Ports Μπορείτε να χρησιμοποιήσετε τις ίδιες ιδέες και για το δέντρο των ports. Το πρώτο κρίσιμο βήμα είναι να προσαρτήσετε το [.filename]#/usr/ports# από το ίδιο μηχάνημα, σε όλα τα μηχανήματα του σετ μεταγλώττισης. Μπορείτε έπειτα να ρυθμίσετε το [.filename]#/etc/make.conf# ώστε να διαμοιράζονται τα distfiles. Θα πρέπει να θέσετε το `DISTDIR` σε ένα κοινόχρηστο κατάλογο, στον οποίο θα δώσετε δικαιώματα εγγραφής σε οποιοδήποτε χρήστη έχετε δηλώσει ως `root` στο NFS. Σε κάθε μηχάνημα θα πρέπει επίσης να οριστεί η μεταβλητή `WRKDIRPREFIX` ώστε να δείχνει σε ένα τοπικό κατάλογο. Τέλος, αν σκοπεύετε να μεταγλωττίζετε και να διανέμετε έτοιμα πακέτα, θα πρέπει να θέσετε την μεταβλητή `PACKAGES` σε ένα κατάλογο, όπως κάνατε και με την `DISTDIR`. diff --git a/documentation/content/el/books/handbook/eresources/_index.adoc b/documentation/content/el/books/handbook/eresources/_index.adoc index c41d4aeeae..39eba3df83 100644 --- a/documentation/content/el/books/handbook/eresources/_index.adoc +++ b/documentation/content/el/books/handbook/eresources/_index.adoc @@ -1,1063 +1,1063 @@ --- title: Παράρτημα C. Πηγές Πληροφόρησης στο Διαδίκτυο part: Μέρος V. Παραρτήματα prev: books/handbook/bibliography next: books/handbook/pgpkeys --- [appendix] [[eresources]] = Πηγές Πληροφόρησης στο Διαδίκτυο :doctype: book :icons: font :sectnums: :sectnumlevels: 6 :source-highlighter: rouge :experimental: :skip-front-matter: :toc-title: Πίνακας Περιεχομένων :table-caption: Πίνακας :figure-caption: Σχήμα :example-caption: Παράδειγμα :xrefstyle: basic :relfileprefix: ../ :outfilesuffix: :sectnumoffset: C include::shared/mirrors.adoc[] include::shared/authors.adoc[] include::shared/releases.adoc[] include::shared/el/mailing-lists.adoc[] include::shared/el/teams.adoc[] include::shared/el/urls.adoc[] Η ραγδαία εξέλιξη του FreeBSD καθιστά τα έντυπα μέσα ανίκανα να ακολουθήσουν τις τελευταίες εξελίξεις. Οι ηλεκτρονικές πηγές είναι ο καλύτερος (αν όχι ο μόνος) τρόπος για να παραμείνετε ενήμερος για τις τελευταίες εξελίξεις. Καθώς το FreeBSD είναι μια εθελοντική προσπάθεια, η κοινότητα των χρηστών λειτουργεί και ως "τμήμα τεχνικής υποστήριξης", με το ηλεκτρονικό ταχυδρομείο, τα web forums, και τα USENET news να είναι οι πλέον αποτελεσματικοί τρόποι για να έλθετε σε επαφή με αυτή την κοινότητα. Στις παρακάτω ενότητες, θα βρείτε τα σημαντικότερα σημεία επικοινωνίας με την κοινότητα χρηστών του FreeBSD. Αν γνωρίζετε και άλλες πηγές, οι οποίες δεν αναφέρονται εδώ, παρακαλούμε να τις στείλετε στην {freebsd-doc} ώστε να ενταχθούν και αυτές. [[eresources-mail]] == Λίστες Ηλεκτρονικού Ταχυδρομείου Οι λίστες ηλεκτρονικού ταχυδρομείου είναι ο πιο άμεσος τρόπος για να απευθύνετε τις ερωτήσεις σας ή να ανοίξετε μια τεχνική συζήτηση που να απευθύνεται σε κοινό ειδικευμένο στο FreeBSD. Υπάρχει μεγάλη ποικιλία από λίστες, οι οποίες καλύπτουν ευρύ φάσμα θεμάτων του FreeBSD. Κατευθύνοντας τις ερωτήσεις σας στη σωστή λίστα, θα εξασφαλίσετε ταχύτερη και ακριβέστερη απόκριση. Στο τέλος αυτού του κειμένου θα βρείτε ένα πίνακα με τη θεματολογία της κάθε λίστας. _Παρακαλούμε να τον διαβάσετε πριν αρχίσετε να συμμετέχετε ή να στέλνετε μηνύματα σε οποιαδήποτε λίστα_. Οι περισσότεροι από τους συνδρομητές μας δέχονται καθημερινά εκατοντάδες μηνύματα σχετικά με το FreeBSD. Οι κανόνες που έχουμε καθιερώσει, βοηθάνε να γίνεται σωστή χρήση και να διατηρείται σε υψηλό επίπεδο η αναλογία σήματος προς θόρυβο της κάθε λίστας. Εάν ήμασταν πιο χαλαροί, οι λίστες μας θα έχαναν την αποτελεσματικότητα τους ως μέσο επικοινωνίας για το Project. [NOTE] ==== _Αν θέλετε να δοκιμάσετε την ικανότητα σας να στέλνετε μηνύματα στις λίστες του FreeBSD, στείλτε ένα δοκιμαστικό μήνυμα στην λίστα {freebsd-test}._ Παρακαλούμε μη στέλνετε δοκιμαστικά μηνύματα σε οποιαδήποτε άλλη λίστα. ==== Αν βρίσκεστε σε δίλημμα σχετικά με το ποια λίστα να στείλετε μια ερώτηση, δείτε το link:{freebsd-questions-article}[Πως να χρησιμοποιείτε με επιτυχία την λίστα ηλεκτρονικού ταχυδρομείου FreeBSD-questions]. Πριν στείλετε κάτι σε οποιαδήποτε λίστα, μάθετε πως να χρησιμοποιείτε καλύτερα τις λίστες ηλεκτρονικού ταχυδρομείου. Για παράδειγμα, δείτε πως μπορείτε να βοηθήσετε ώστε να αποφεύγονται συχνά επαναλαμβανόμενες συζητήσεις, διαβάζοντας το κείμενο link:{mailing-list-faq}[Συχνές Ερωτήσεις Σχετικά με τις Λίστες Ταχυδρομείου] (FAQ). Για όλες τις λίστες ηλεκτρονικού ταχυδρομείου διατηρείται αρχείο με τις παλιές δημοσιεύσεις, στο οποίο μπορεί να γίνει αναζήτηση χρησιμοποιώντας την link:https://www.FreeBSD.org/search/[Δικτυακή Τοποθεσία του FreeBSD]. Είναι δυνατή η αναζήτηση στο αρχείο μέσω λέξεων-κλειδιών, το οποίο αποτελεί ένα άριστο τρόπο για να βρείτε απαντήσεις σε συχνές ερωτήσεις. Πριν στείλετε μια ερώτηση, καλό θα είναι να πραγματοποιήσετε μια τέτοια αναζήτηση. Σημειώστε επίσης ότι τα μηνύματα που στέλνονται σε αυτές τις λίστες αποθηκεύονται για πάντα. Αν σας προβληματίζει η προστασία των προσωπικών σας δεδομένων, σας συνιστούμε να χρησιμοποιήσετε μια δευτερεύουσα διεύθυνση email, και να μην γράφετε ποτέ προσωπικές σας πληροφορίες. [[eresources-summary]] === Σύνοψη Λιστών _Γενικές λίστες:_ Οι ακόλουθες είναι γενικές λίστες όπου ο καθένας είναι ελεύθερος (και ενθαρρύνεται) να συμμετέχει: [.informaltable] [cols="1,1", frame="none", options="header"] |=== | Λίστα | Σκοπός |link:{freebsd-advocacy-url}[freebsd-advocacy] |Διαφήμιση και προώθηση του FreeBSD |{freebsd-announce} |Σημαντικά γεγονότα και ανακοινώσεις |link:{freebsd-arch-url}[freebsd-arch] |Συζητήσεις αρχιτεκτονικής και σχεδιασμού |link:{freebsd-bugbusters-url}[freebsd-bugbusters] |Συζητήσεις που αναφέρονται στην συντήρηση της βάσης δεδομένων αναφοράς προβλημάτων του FreeBSD, και των σχετικών εργαλείων της |link:{freebsd-bugs-url}[freebsd-bugs] |Αναφορές σφαλμάτων |link:{freebsd-chat-url}[freebsd-chat] |Μη-τεχνικά θέματα που σχετίζονται με την κοινότητα του FreeBSD |link:{freebsd-chromium-url}[freebsd-chromium] |Θέματα σχετικά με το Chromium στο FreeBSD |{freebsd-current} |Συζητήσεις που σχετίζονται με τη χρήση FreeBSD-CURRENT |link:{freebsd-isp-url}[freebsd-isp] |Θέματα για Παροχείς Υπηρεσιών Διαδικτύου που χρησιμοποιούν το FreeBSD |link:{freebsd-jobs-url}[freebsd-jobs] |Συμβουλευτικές υπηρεσίες και θέσεις εργασίας σχετικές με FreeBSD |link:{freebsd-questions-url}[freebsd-questions] |Απορίες χρηστών και τεχνική υποστήριξη |{freebsd-security-notifications} |Ειδοποιήσεις ασφαλείας |{freebsd-stable} |Συζητήσεις που σχετίζονται με την χρήση του FreeBSD-STABLE |{freebsd-test} |Στείλτε εδώ τα δοκιμαστικά σας μηνύματα αντί για μια από τις πραγματικές λίστες |=== _Τεχνικές λίστες:_ Οι ακόλουθες λίστες είναι για τεχνικές συζητήσεις. Πριν αρχίσετε να συμμετέχετε και να στέλνετε μηνύματα σε αυτές, θα πρέπει να διαβάσετε προσεκτικά την περιγραφή τους. Υπάρχουν αυστηρές οδηγίες για τη χρήση και το περιεχόμενο τους. [.informaltable] [cols="1,1", frame="none", options="header"] |=== | Λίστα | Σκοπός |{freebsd-acpi} |Ανάπτυξη της διαχείρισης ενέργειας και του ACPI |link:{freebsd-afs-url}[freebsd-afs] |Μεταφορά του AFS στο FreeBSD |link:{freebsd-aic7xxx-url}[freebsd-aic7xxx] |Ανάπτυξη οδηγών για κάρτες Adaptec(R) AIC 7xxx |link:{freebsd-amd64-url}[freebsd-amd64] |Μεταφορά του FreeBSD σε συστήματα AMD64 |link:{freebsd-apache-url}[freebsd-apache] |Συζήτηση για ports σχετικά με τον Apache |link:{freebsd-arm-url}[freebsd-arm] |Μεταφορά του FreeBSD σε επεξεργαστές ARM(R) |link:{freebsd-atm-url}[freebsd-atm] |Χρήση δικτύωσης ATM στο FreeBSD |link:{freebsd-binup-url}[freebsd-binup] |Σχεδίαση και ανάπτυξη του συστήματος έτοιμων ενημερώσεων (binary updates) |link:{freebsd-bluetooth-url}[freebsd-bluetooth] |Χρήση της τεχνολογίας Bluetooth(R) στο FreeBSD |link:{freebsd-cluster-url}[freebsd-cluster] |Χρήση του FreeBSD σε παράλληλα συστήματα |link:{freebsd-cvsweb-url}[freebsd-cvsweb] |Συντήρηση του CVSweb |link:{freebsd-database-url}[freebsd-database] |Συζήτηση για την χρήση και ανάπτυξη βάσεων δεδομένων στο FreeBSD |link:{freebsd-doc-url}[freebsd-doc] |Δημιουργία τεκμηρίωσης για το FreeBSD |link:{freebsd-desktop-url}[freebsd-desktop] |Χρήση και βελτίωση του FreeBSD ως desktop |link:{freebsd-drivers-url}[freebsd-drivers] |Δημιουργία οδηγών συσκευών για το FreeBSD |link:{freebsd-eclipse-url}[freebsd-eclipse] |Συζήτηση για τη χρήση του Eclipse IDE, των εργαλείων του, καθώς και rich client εφαρμογών και ports στο FreeBSD. |link:{freebsd-embedded-url}[freebsd-embedded] |Χρήση του FreeBSD σε embedded εφαρμογές |link:{freebsd-eol-url}[freebsd-eol] |Ομότιμη υποστήριξη για λογισμικό σχετικό με FreeBSD, που δεν υποστηρίζεται πλέον από το FreeBSD Project. |link:{freebsd-emulation-url}[freebsd-emulation] |Εξομοίωση άλλων συστημάτων, όπως είναι τα Linux/MS-DOS(R)/Windows(R) |link:{freebsd-firewire-url}[freebsd-firewire] |Τεχνική συζήτηση για FreeBSD FireWire(R) (iLink, IEEE 1394) |link:{freebsd-fs-url}[freebsd-fs] |Συστήματα αρχείων |link:{freebsd-gecko-url}[freebsd-gecko] |Συζήτηση σχετικά με το Gecko Rendering Engine |link:{freebsd-geom-url}[freebsd-geom] |Συζητήσεις σχετικές με το GEOM και τις υλοποιήσεις του |link:{freebsd-gnome-url}[freebsd-gnome] |Μεταφορά του GNOME και των εφαρμογών του |link:{freebsd-hackers-url}[freebsd-hackers] |Γενικές τεχνικές συζητήσεις |link:{freebsd-hardware-url}[freebsd-hardware] |Γενική συζήτηση για συμβατότητα υλικού με το FreeBSD |link:{freebsd-i18n-url}[freebsd-i18n] |Διεθνοποίηση του FreeBSD |link:{freebsd-ia32-url}[freebsd-ia32] |Το FreeBSD στην αρχιτεκτονική IA-32 (Intel(R) x86) |link:{freebsd-ia64-url}[freebsd-ia64] |Μεταφορά του FreeBSD στα νέα συστήματα IA64 της Intel(R) |link:{freebsd-ipfw-url}[freebsd-ipfw] |Τεχνική συζήτηση που επικεντρώνεται στον επανασχεδιασμό του κώδικα IP του firewall |link:{freebsd-isdn-url}[freebsd-isdn] |Ομάδα ανάπτυξης του ISDN |link:{freebsd-jail-url}[freebsd-jail] |Συζήτηση σχετικά με τις δυνατότητες του man:jail[8] |link:{freebsd-java-url}[freebsd-java] |Ομάδα ανάπτυξης Java(TM) και άτομα που μεταφέρουν τα JDK(TM)s στο FreeBSD |link:{freebsd-kde-url}[freebsd-kde] |Μεταφορά του KDE και των εφαρμογών του |link:{freebsd-lfs-url}[freebsd-lfs] |Μεταφορά του LFS στο FreeBSD |link:{freebsd-mips-url}[freebsd-mips] |Μεταφορά του FreeBSD σε επεξεργαστές MIPS(R) |link:{freebsd-mobile-url}[freebsd-mobile] |Συζητήσεις σχετικές με φορητά υπολογιστικά συστήματα |link:{freebsd-mono-url}[freebsd-mono] |Εφαρμογές Mono και C# στο FreeBSD |link:{freebsd-mozilla-url}[freebsd-mozilla] |Μεταφορά του Mozilla στο FreeBSD |{freebsd-multimedia} |Εφαρμογές πολυμέσων |link:{freebsd-new-bus-url}[freebsd-new-bus] |Τεχνικές συζητήσεις σχετικές με την αρχιτεκτονική διαύλων |link:{freebsd-net-url}[freebsd-net] |Συζητήσεις δικτύωσης και πηγαίος κώδικας TCP/IP |link:{freebsd-numerics-url}[freebsd-numerics] |Συζητήσεις για υλοποίηση υψηλής ποιότητας συναρτήσεων της βιβλιοθήκης libm |link:{freebsd-office-url}[freebsd-office] |Εφαρμογές γραφείου στο FreeBSD |link:{freebsd-performance-url}[freebsd-performance] |Ερωτήσεις σχετικές με βελτιστοποίηση απόδοσης για εγκαταστάσεις υψηλής απόδοσης και μεγάλου φορτίου |link:{freebsd-perl-url}[freebsd-perl] |Υποστήριξη ενός αριθμού από ports σχετικά με Perl |link:{freebsd-pf-url}[freebsd-pf] |Συζήτηση και ερωτήσεις σχετικές με το σύστημα packet filter firewall |link:{freebsd-platforms-url}[freebsd-platforms] |Συζήτηση για μεταφορά σε μη-Intel(R) αρχιτεκτονικές |link:{freebsd-ports-url}[freebsd-ports] |Συζήτηση για την Συλλογή των Ports |link:{freebsd-ports-announce-url}[freebsd-ports-announce] |Σημαντικές ειδήσεις και οδηγίες σχετικές με την Συλλογή των Ports |link:{freebsd-ports-bugs-url}[freebsd-ports-bugs] |Συζήτηση για σφάλματα και αναφορές σφαλμάτων (PRs) που αφορούν ports |link:{freebsd-ppc-url}[freebsd-ppc] |Μεταφορά του FreeBSD στο PowerPC(R) |link:{freebsd-proliant-url}[freebsd-proliant] |Τεχνική συζήτηση για χρήση του FreeBSD σε διακομιστές HP ProLiant |link:{freebsd-python-url}[freebsd-python] |Θέματα σχετικά με Python στο FreeBSD |link:{freebsd-rc-url}[freebsd-rc] |Συζήτηση σχετικά με το σύστημα [.filename]#rc.d# και την ανάπτυξή του |link:{freebsd-realtime-url}[freebsd-realtime] |Ανάπτυξη επεκτάσεων πραγματικού χρόνου του FreeBSD |link:{freebsd-ruby-url}[freebsd-ruby] |Συζήτηση σχετικά με τη Ruby στο FreeBSD |link:{freebsd-scsi-url}[freebsd-scsi] |Το υποσύστημα SCSI |{freebsd-security} |Θέματα ασφαλείας που επηρεάζουν το FreeBSD |link:{freebsd-small-url}[freebsd-small] |Χρήση του FreeBSD σε embedded συστήματα (Δεν χρησιμοποιείται πλέον: αντί για αυτή τη λίστα, χρησιμοποιήστε την link:{freebsd-embedded-url}[freebsd-embedded]) |link:{freebsd-sparc64-url}[freebsd-sparc64] |Μεταφορά του FreeBSD σε SPARC(R) συστήματα |link:{freebsd-standards-url}[freebsd-standards] |Συμμόρφωση του FreeBSD με τα πρότυπα C99 και POSIX(R) |link:{freebsd-sysinstall-url}[freebsd-sysinstall] |Συζήτηση για την ανάπτυξη του man:sysinstall[8] |link:{freebsd-threads-url}[freebsd-threads] |Πολυνηματική επεξεργασία στο FreeBSD |link:{freebsd-tilera-url}[freebsd-tilera] |Μεταφορά του FreeBSD στην οικογένεια CPU Tilera |link:{freebsd-tokenring-url}[freebsd-tokenring] |Υποστήριξη του Token Ring στο FreeBSD |link:{freebsd-toolchain-url}[freebsd-toolchain] |Συντήρηση των εργαλείων του FreeBSD |link:{freebsd-usb-url}[freebsd-usb] |Συζήτηση υποστήριξης του USB στο FreeBSD |link:{freebsd-virtualization-url}[freebsd-virtualization] |Συζήτηση σχετικά με διάφορες τεχνικές εικονικοποίησης που υποστηρίζονται από το FreeBSD |link:{freebsd-vuxml-url}[freebsd-vuxml] |Συζήτηση για την υποδομή VuXML |link:{freebsd-x11-url}[freebsd-x11] |Συντήρηση και υποστήριξη του X11 στο FreeBSD |link:{freebsd-xen-url}[freebsd-xen] |Συζήτηση για τη μεταφορά του FreeBSD στο Xen(TM) - υλοποίηση και χρήση |link:{freebsd-xfce-url}[freebsd-xfce] |XFCE στο FreeBSD - Μεταφορά και συντήρηση |link:{freebsd-zope-url}[freebsd-zope] |Zope στο FreeBSD - Μεταφορά και συντήρηση |=== _Περιορισμένες λίστες:_ Οι ακόλουθες λίστες είναι για πιο ειδικό (και απαιτητικό) κοινό και πιθανώς δεν ενδιαφέρουν το γενικό κοινό. Πριν αρχίσετε να συμμετέχετε σε κάποια από αυτές, καλό θα είναι να έχετε παρακολουθήσει τις τεχνικές λίστες, ώστε να αντιλαμβάνεστε τον κώδικα επικοινωνίας και συμπεριφοράς που ισχύει σε αυτές. [.informaltable] [cols="1,1", frame="none", options="header"] |=== | Λίστα | Σκοπός |link:{freebsd-hubs-url}[freebsd-hubs] |Άτομα που διατηρούν mirror sites (υποστήριξη υποδομών) |link:{freebsd-user-groups-url}[freebsd-user-groups] |Οργάνωση των συλλόγων χρηστών |link:{freebsd-vendors-url}[freebsd-vendors] |Οργάνωση μεταπωλητών πριν από επίσημες εκδόσεις |link:{freebsd-wip-status-url}[freebsd-wip-status] |Κατάσταση εργασιών του FreeBSD που βρίσκονται σε εξέλιξη (Work-in-Progress). |link:{freebsd-wireless-url}[freebsd-wireless] |Συζήτηση σχετικά με τη στοίβα 802.11, τα εργαλεία ασύρματου δικτύου και την ανάπτυξη προγραμμάτων οδήγησης. |link:{freebsd-www-url}[freebsd-www] |Συντηρητές του https://www.FreeBSD.org[www.FreeBSD.org] |=== _Λίστες digest:_ Όλες οι παραπάνω λίστες διατίθενται και σε μορφή digest (περίληψης). Μόλις εγγραφείτε σε μία λίστα, μπορείτε να αλλάξετε τις επιλογές digest στο τμήμα ρυθμίσεων του λογαριασμού σας. _Λίστες SVN:_ Οι ακόλουθες λίστες είναι για όσους ενδιαφέρονται να βλέπουν τα μηνύματα (log) που δείχνουν τις αλλαγές σε διάφορες περιοχές του πηγαίου κώδικα. Είναι λίστες _μόνο για ανάγνωση_ και δεν πρέπει να στέλνετε μηνύματα σε αυτές. [.informaltable] [cols="1,1,1", frame="none", options="header"] |=== | Λίστα | Περιοχή πηγαίου κώδικα | Περιγραφή περιοχής (κώδικας για) |link:{svn-doc-all-url}[svn-doc-all] |[.filename]#/usr/doc# |Όλες οι αλλαγές στο δέντρο doc του Subversion (εκτός από τις περιοχές [.filename]#user#, [.filename]#projects# και [.filename]#translations#) |link:{svn-doc-head-url}[svn-doc-head] |[.filename]#/usr/doc# |Όλες οι αλλαγές στoν κλάδο "head" του doc Subversion repository |link:{svn-doc-projects-url}[svn-doc-projects] |[.filename]#/usr/doc/projects# |Όλες οι αλλαγές στην περιοχή "projects" του doc Subversion repository |link:{svn-doc-svnadmin-url}[svn-doc-svnadmin] |[.filename]#/usr/doc# |Όλες οι αλλαγές στα scripts διαχείρισης, hooks και άλλα δεδομένα ρυθμίσεων του doc Subversion repository |link:{svn-ports-all-url}[svn-ports-all] |[.filename]#/usr/ports# |Όλες οι αλλαγές στo ports Subversion repository |link:{svn-ports-head-url}[svn-ports-head] |[.filename]#/usr/ports# |Όλες οι αλλαγές στον κλάδο "head" του ports Subversion repository |link:{svn-ports-svnadmin-url}[svn-ports-svnadmin] |[.filename]#/usr/ports# |Όλες οι αλλαγές στα scripts διαχείρισης, hooks και άλλα δεδομένα ρυθμίσεων του ports Subversion repository. |{svn-src-all} |[.filename]#/usr/src# |Όλες οι αλλαγές στο src Subversion repository (εκτός από τις περιοχές [.filename]#user# και [.filename]#projects#) |{svn-src-head} |[.filename]#/usr/src# |Όλες οι αλλαγές στον κλάδο "head" του src Subversion repository (πρόκειται για τον κλάδο FreeBSD-CURRENT) |link:{svn-src-projects-url}[svn-src-projects] |[.filename]#/usr/projects# |Όλες οι αλλαγές στην περιοχή πηγαίου κώδικα [.filename]#projects# του Subversion repository |link:{svn-src-release-url}[svn-src-release] |[.filename]#/usr/src# |Όλες οι αλλαγές στην περιοχή πηγαίου κώδικα [.filename]#releases# του Subversion repository |link:{svn-src-releng-url}[svn-src-releng] |[.filename]#/usr/src# |Όλες οι αλλαγές σε όλους τους κλάδους πηγαίου κώδικα [.filename]#releng# του Subversion repository (πρόκειται για τους κλάδους security / release engineering) |link:{svn-src-stable-url}[svn-src-stable] |[.filename]#/usr/src# |Όλες οι αλλαγές σε όλους τους κλάδους πηγαίου κώδικα stable του Subversion repository |link:{svn-src-stable-6-url}[svn-src-stable-6] |[.filename]#/usr/src# |Όλες οι αλλαγές στον κλάδο πηγαίου κώδικα [.filename]#stable/6# του Subversion repository |link:{svn-src-stable-7-url}[svn-src-stable-7] |[.filename]#/usr/src# |Όλες οι αλλαγές στον κλάδο πηγαίου κώδικα [.filename]#stable/7# του Subversion repository |link:{svn-src-stable-8-url}[svn-src-stable-8] |[.filename]#/usr/src# |Όλες οι αλλαγές στον κλάδο πηγαίου κώδικα [.filename]#stable/8# του Subversion repository |{svn-src-stable-9} |[.filename]#/usr/src# |Όλες οι αλλαγές στον κλάδο πηγαίου κώδικα [.filename]#stable/9# του Subversion repository |link:{svn-src-stable-other-url}[svn-src-stable-other] |[.filename]#/usr/src# |Όλες οι αλλαγές στους παλιούς [.filename]#stable# κλάδους πηγαίου κώδικα του Subversion repository |link:{svn-src-svnadmin-url}[svn-src-svnadmin] |[.filename]#/usr/src# |Όλες οι αλλαγές στα scripts διαχείρισης, τα hooks, και άλλα δεδομένα που αφορούν τις ρυθμίσεις του Subversion repository |link:{svn-src-user-url}[svn-src-user] |[.filename]#/usr/src# |Όλες οι αλλαγές στην πειραματική περιοχή πηγαίου κώδικα [.filename]#user# του Subversion repository |link:{svn-src-vendor-url}[svn-src-vendor] |[.filename]#/usr/src# |Όλες οι αλλαγές στην περιοχή εργασίας πηγαίου κώδικα vendor του Subversion repository |=== [[eresources-subscribe]] === Πως να Εγγραφείτε -Για να εγγραφείτε σε μία λίστα, επιλέξτε το όνομα της από τους παραπάνω δεσμούς ή πηγαίνετε στο {mailman-lists-url} και επιλέξτε την λίστα για την οποία ενδιαφέρεστε. Η σελίδα της λίστας πρέπει να περιέχει όλες τις απαραίτητες πληροφορίες εγγραφής. +Για να εγγραφείτε σε μία λίστα, επιλέξτε το όνομα της από τους παραπάνω δεσμούς ή πηγαίνετε στο {mailing-lists-url} και επιλέξτε την λίστα για την οποία ενδιαφέρεστε. Η σελίδα της λίστας πρέπει να περιέχει όλες τις απαραίτητες πληροφορίες εγγραφής. Για να γράψετε σε μια λίστα, στείλτε το μήνυμα σας στο mailto:όνομα-λίστας@FreeBSD.org[όνομα-λίστας@FreeBSD.org]. Το μήνυμα σας θα διανεμηθεί σε όλα τα μέλη της λίστας, σε οποιοδήποτε σημείο του κόσμου και αν βρίσκονται. Για να διαγραφείτε από μια λίστα, επιλέξτε το URL που βρίσκεται στο τέλος κάθε μηνύματος που λαμβάνετε από την λίστα. Μπορείτε επίσης να στείλετε ένα μήνυμα στο mailto:όνομα-λίστας-unsubscribe@FreeBSD.org[όνομα-λίστας-unsubscribe@FreeBSD.org] για να διαγραφείτε μόνος σας. Για ακόμα μια φορά, θα θέλαμε να σας ζητήσουμε να διατηρήσετε τη συζήτηση των τεχνικών λιστών στα αντίστοιχα τεχνικά θέματα. Αν ενδιαφέρεστε μόνο για σημαντικές ανακοινώσεις, τότε προτείνουμε να εγγραφείτε στην {freebsd-announce}, η οποία έχει μικρή κίνηση. [[eresources-charters]] === Πίνακες Λιστών _Όλες_ οι FreeBSD λίστες έχουν συγκεκριμένους βασικούς κανόνες οι οποίοι πρέπει να ακολουθούνται από οποιονδήποτε τις χρησιμοποιεί. Όποιος αποτύχει να ακολουθήσει αυτούς τους κανόνες θα λάβει δύο (2) γραπτές προειδοποιήσεις από τον FreeBSD Postmaster mailto:postmaster@FreeBSD.org[postmaster@FreeBSD.org]. Σε περίπτωση τρίτης παραβίασης, το άτομο αυτό θα απομακρυνθεί από όλες τις λίστες του FreeBSD και τα μηνύματα του προς αυτές θα φιλτράρονται. Λυπόμαστε που χρειάζεται να επιβάλλουμε αυτούς τους κανόνες και μέτρα, αλλά το σημερινό Διαδίκτυο είναι καθώς φαίνεται ένα πολύ σκληρό περιβάλλον, και πολλοί δεν εκτιμούν πόσο εύθραυστοι είναι μερικοί μηχανισμοί του. Κανόνες: * Το θέμα κάθε μηνύματος πρέπει να είναι σχετικό με τον βασικό σκοπό της λίστας που στάλθηκε, π.χ. αν η λίστα σχετίζεται με τεχνικά θέματα τότε το μήνυμα σας πρέπει να περιέχει τεχνικό περιεχόμενο. Η άσχετη φλυαρία ή το flaming μειώνει την αξία της λίστας για όλους που την παρακολουθούν και δεν μπορούμε να ανεχτούμε αυτή τη συμπεριφορά. Για ελεύθερες συζητήσεις χωρίς κάποιο συγκεκριμένο θέμα, διατίθεται η {freebsd-chat} την οποία και θα πρέπει να χρησιμοποιείτε. * Κανένα μήνυμα δεν θα πρέπει να σταλεί σε περισσότερες από 2 λίστες, και σε 2 μόνο όταν υπάρχει ξεκάθαρος και προφανής λόγος για κάτι τέτοιο. Πολλοί συνδρομητές είναι έτσι και αλλιώς γραμμένοι σε περισσότερες από μία λίστες. Έτσι, αν δεν πρόκειται να κάνετε κάποιο περίεργο συνδυασμό (π.χ. "-stable & -scsi"), δεν υπάρχει λόγος να στείλετε μήνυμα σε περισσότερες από μία λίστα κάθε φορά. Αν λάβετε κάποιο μήνυμα στο οποίο φαίνονται πολλαπλές λίστες στην γραμμή `Cc`, καλό θα είναι να περικόψετε κάποιες από αυτές πριν στείλετε απάντηση. _Θεωρείστε υπεύθυνος για τα δικά σας cross-postings, ανεξάρτητα ποιος είναι ο δημιουργός τους._ * Προσωπικές επιθέσεις και ασέβεια (στο περιεχόμενο μιας αντιπαράθεσης) δεν επιτρέπονται, και αυτό αφορά τόσο τους χρήστες όσο και τους developers. Μεγάλες παραβάσεις των κανόνων (netiquette), όπως χρήση τμημάτων ή ολόκληρων προσωπικών μηνυμάτων όταν δεν έχει δοθεί άδεια για να γίνει αυτό και δεν ήταν αναμενόμενο, αποδοκιμάζονται αλλά δεν απαγορεύονται ρητά. _Όμως_, υπάρχουν μερικές περιπτώσεις όπου τέτοιο περιεχόμενο εμπίπτει στους κανονισμούς κάποιας λίστας και μπορεί να οδηγήσει σε προειδοποίηση (ή ακόμα και αποκλεισμό) από αυτήν. * Διαφήμιση προϊόντων ή υπηρεσιών που δεν σχετίζονται με το FreeBSD απαγορεύεται αυστηρά και θα οδηγήσει σε άμεσο αποκλεισμό αν είναι φανερό ότι ο πταίστης διαφημίζεται με spam. _Ατομικοί πίνακες λιστών:_ {freebsd-acpi}:: _Ανάπτυξη της διαχείρισης ενέργειας και του ACPI_ link:{freebsd-afs-url}[freebsd-afs]:: _Andrew File System_ + Αυτή η λίστα είναι για συζήτηση της μεταφοράς και της χρήσης του AFS από το CMU/Transarc {freebsd-announce}:: _Σημαντικά γεγονότα και ανακοινώσεις_ + Αυτή η λίστα είναι για άτομα που ενδιαφέρονται μόνο για περιστασιακές ανακοινώσεις σημαντικών γεγονότων του FreeBSD. Περιλαμβάνει ανακοινώσεις σχετικά με snapshots και άλλα releases. Επίσης δημοσιεύονται σε αυτήν ανακοινώσεις για νέες ικανότητες του FreeBSD. Μπορεί να περιέχει εκκλήσεις για εθελοντές κτλ. Πρόκειται για μία λίστα με μικρή κίνηση, και οι δημοσιεύσεις ελέγχονται αυστηρά. link:{freebsd-arch-url}[freebsd-arch]:: _Συζητήσεις αρχιτεκτονικής και σχεδιασμού_ + Σε αυτή την λίστα συζητείται η αρχιτεκτονική του FreeBSD. Τα μηνύματα είναι κατά κύριο λόγο αρκετά τεχνικά. Παραδείγματα σχετικών θεμάτων είναι: ** Πως να επανασχεδιαστεί το σύστημα μεταγλώττισης ώστε να εκτελεί ταυτόχρονα πολλές προσαρμοσμένες μεταγλωττίσεις. ** Τι πρέπει να επισκευαστεί στο VFS ώστε να λειτουργούν τα Heidemann layers. ** Πώς πρέπει να μετατρέψουμε τη διεπαφή (interface) των οδηγών συσκευών ώστε να μπορούμε να χρησιμοποιήσουμε τα ίδια προγράμματα οδήγησης σε πολλούς διαύλους και αρχιτεκτονικές. ** Πως να γράψετε ένα οδηγό δικτύου. link:{freebsd-binup-url}[freebsd-binup]:: _Project αναβάθμισης του FreeBSD μέσω έτοιμων (δυαδικών) αρχείων_ + Σε αυτή την λίστα συζητείται το σύστημα αναβάθμισης μέσω έτοιμων (binary) αρχείων, ή binup. Σε αυτή τη λίστα ανήκουν θέματα σχεδιασμού, λεπτομέρειες υλοποίησης, "patches", αναφορές σφαλμάτων, αναφορές κατάστασης, αιτήσεις για πρόσθετα χαρακτηριστικά, commit logs, και ότι άλλο σχετίζεται με το binup. link:{freebsd-bluetooth-url}[freebsd-bluetooth]:: _Χρήση της τεχνολογίας Bluetooth(R) στο FreeBSD_ + Σε αυτή τη λίστα συναθροίζονται οι χρήστες του Bluetooth(R) στο FreeBSD. Η λίστα ασχολείται με θέματα σχεδιασμού, λεπτομέρειες υλοποίησης, "patches", αναφορές σφαλμάτων, αναφορές κατάστασης, αιτήσεις για πρόσθετα χαρακτηριστικά, και ότι άλλο σχετίζεται με το Bluetooth(R). link:{freebsd-bugbusters-url}[freebsd-bugbusters]:: _Προσπάθεια οργάνωσης του χειρισμού των αναφορών προβλημάτων_ + Σκοπός αυτής της λίστας είναι να λειτουργεί ως χώρος οργάνωσης και συζήτησης για τον Bugmeister, τους Bugbusters, και όσους άλλους ενδιαφέρονται για την βάση δεδομένων PR. Αυτή ή λίστα δεν είναι για συζητήσεις σχετικά με ιδιαίτερα σφάλματα, "patches" ή PRs. link:{freebsd-bugs-url}[freebsd-bugs]:: _Αναφορές σφαλμάτων_ + Αυτή η λίστα είναι για αναφορές σφαλμάτων του FreeBSD. Όποτε είναι δυνατό, τα σφάλματα πρέπει να στέλνονται με την εντολή man:send-pr[1] ή μέσω της αντίστοιχης link:https://www.FreeBSD.org/send-pr/[διεπαφή WEB]. link:{freebsd-chat-url}[freebsd-chat]:: _Μη τεχνικά θέματα που σχετίζονται με την κοινότητα του FreeBSD_ + Αυτή η λίστα περιέχει κοινωνικές συζητήσεις, και γενικότερα ότι δεν σχετίζεται με τεχνικές πληροφορίες με τις οποίες ασχολούνται οι υπόλοιπες λίστες. Περιέχει συζητήσεις για το αν ο Jordan μοιάζει με μικρό κουνάβι ή όχι, για το αν πρέπει ή όχι να γράφουμε με κεφαλαία, ποιος πίνει πολύ καφέ, που φτιάχνεται η καλύτερη μπύρα, ποιος φτιάχνει μπύρα στο υπόγειο του, και άλλα. Περιστασιακές ανακοινώσεις σημαντικών γεγονότων (όπως πάρτυ, γάμοι, γεννήσεις, καινούργιες δουλειές κλπ) μπορούν να γίνουν στις τεχνικές λίστες, αλλά οι απαντήσεις τους πρέπει να στέλνονται στην λίστα -chat. link:{freebsd-chromium-url}[freebsd-chromium]:: _Θέματα σχετικά με το Chromium στο FreeBSD_ + Λίστα συζητήσεων για την υποστήριξη του Chromium στο FreeBSD. Πρόκειται για τεχνική λίστα σχετική με την ανάπτυξη και εγκατάσταση του Chromium. :: _Ομάδα core του FreeBSD_ + Αυτή είναι μία εσωτερική λίστα για χρήση από τα μέλη του core. Σε αυτή τη λίστα μπορείτε να στείλετε μηνύματα, όταν προκύψει κάποιο θέμα σχετικό με το FreeBSD το οποίο απαιτεί διαιτησία ή λεπτομερή εξέταση. {freebsd-current}:: _Συζητήσεις σχετικά με την χρήση του FreeBSD-CURRENT_ + Αυτή η λίστα είναι για χρήστες του FreeBSD-CURRENT. Περιέχει προειδοποιήσεις για νέα χαρακτηριστικά που πρόκειται να προστεθούν στο -CURRENT και τα οποία θα επηρεάσουν τους χρήστες, και οδηγίες για τις κινήσεις που πρέπει να γίνουν ώστε να παραμείνετε στο -CURRENT. Όποιος εκτελεί το "CURRENT" πρέπει να εγγραφεί σε αυτήν την λίστα. Είναι μια τεχνική λίστα και συζητούνται μόνο αυστηρά τεχνικά θέματα. link:{freebsd-cvsweb-url}[freebsd-cvsweb]:: _FreeBSD CVSweb Project_ + Τεχνικές συζητήσεις για την χρήση, την ανάπτυξη και την συντήρηση του FreeBSD-CVSweb. link:{freebsd-desktop-url}[freebsd-desktop]:: _Χρήση και βελτίωση του FreeBSD ως desktop_ + Ή λίστα αυτή προορίζεται για συζητήσεις σχετικές με τη χρήση του FreeBSD ως desktop. Απευθύνεται κυρίως σε χρήστες και προγραμματιστές που επιθυμούν να συζητήσουν τα προβλήματα που παρουσιάζει το FreeBSD σε desktop εφαρμογές, καθώς και αντίστοιχες βελτιώσεις. link:{freebsd-doc-url}[freebsd-doc]:: _Project τεκμηρίωσης του FreeBSD_ + Αυτή η λίστα είναι για συζήτηση θεμάτων και projects που σχετίζονται με την δημιουργία τεκμηρίωσης για το FreeBSD. Τα μέλη αυτής της λίστας αποκαλούνται συνολικά ως "The FreeBSD Documentation Project". Είναι μια ανοικτή λίστα και είστε ελεύθερος να συμμετέχετε και να συνεισφέρετε! link:{freebsd-drivers-url}[freebsd-drivers]:: _Δημιουργία οδηγών συσκευών για το FreeBSD_ + Αυτή η λίστα προορίζεται για τεχνικές συζητήσεις σχετικές με οδηγούς συσκευών στο FreeBSD. Χρησιμοποιείται κυρίως από τους δημιουργούς οδηγών συσκευών για ερωτήσεις σχετικές με τη συγγραφή οδηγών, χρησιμοποιώντας τα APIs που παρέχει ο πυρήνας του FreeBSD. link:{freebsd-eclipse-url}[freebsd-eclipse]:: _FreeBSD χρήστες του Eclipse IDE, των εργαλείων του, rich client εφαρμογών, και ports._ + Πρόθεση της λίστας αυτής είναι να προσφέρει αμοιβαία υποστήριξη για ότι έχει να κάνει με την επιλογή, εγκατάσταση, χρήση, ανάπτυξη και συντήρηση του Eclipse IDE, των εργαλείων του, εφαρμογών rich client στην πλατφόρμα του FreeBSD και για βοήθεια σχετικά με την μεταφορά του Eclipse IDE και των πρόσθετων του στο περιβάλλον του FreeBSD. + Πρόθεση της είναι επίσης να διευκολύνει την ανταλλαγή πληροφοριών ανάμεσα στην κοινότητα του Eclipse και στην κοινότητα του FreeBSD, προς όφελος και των δύο. + Αν και η λίστα επικεντρώνεται κυρίως στις ανάγκες των χρηστών του Eclipse, προσφέρει επίσης ένα χώρο συζήτησης για όσους θέλουν να αναπτύξουν εφαρμογές σχετικές με το FreeBSD χρησιμοποιώντας το Eclipse. link:{freebsd-embedded-url}[freebsd-embedded]:: _Χρήση του FreeBSD σε embedded εφαρμογές_ + Η λίστα συζητά θέματα σχετικά με την χρήση του FreeBSD σε embedded συστήματα. Είναι μια τεχνική λίστα και συζητούνται μόνο αυστηρά τεχνικά θέματα. Για τον σκοπό της λίστας αυτής, ορίζουμε ως embedded συστήματα τις υπολογιστικές συσκευές που δεν προορίζονται για desktop εφαρμογές, και που συνήθως καλύπτουν μια μόνο ανάγκη, αντίθετα με τα γενικά υπολογιστικά περιβάλλοντα. Συμπεριλαμβάνονται, εκτός των άλλων, όλα τα τηλέφωνα, δικτυακός εξοπλισμός όπως routers, switches και PBXs, εξοπλισμός μετρήσεων από απόσταση, PDAs, συστήματα Point Of Sale, και πάει λέγοντας. link:{freebsd-emulation-url}[freebsd-emulation]:: _Εξομοίωση άλλων συστημάτων όπως είναι τα Linux/MS-DOS(R)/Windows(R)_ + Είναι μια λίστα για τεχνικές συζητήσεις, σχετικές με την εκτέλεση στο FreeBSD προγραμμάτων που δημιουργήθηκαν για άλλα λειτουργικά. link:{freebsd-eol-url}[freebsd-eol]:: _Ομότιμη υποστήριξη για λογισμικό σχετικό με το FreeBSD που δεν υποστηρίζεται πλέον από το FreeBSD Project._ + Αυτή η λίστα είναι για όσους ενδιαφέρονται να παρέχουν ή να χρησιμοποιήσουν την ομότιμη υποστήριξη για λογισμικό σχετικό με το FreeBSD που δεν υποστηρίζεται πλέον από το FreeBSD Project (π.χ., με την μορφή "patches" και ανακοινώσεων ασφαλείας). link:{freebsd-firewire-url}[freebsd-firewire]:: _FireWire(R) (iLink, IEEE 1394)_ + Αυτή η λίστα είναι για την συζήτηση της σχεδίασης και υλοποίησης ενός υποσυστήματος FireWire(R) (γνωστό και ως IEEE 1394 ή iLink) για το FreeBSD. Σχετικά θέματα είναι τα πρότυπα, οι συσκευές διαύλου και τα πρωτόκολλά τους, κάρτες, προσαρμογείς και chipsets, και η αρχιτεκτονική και η υλοποίηση του κώδικα για την σωστή υποστήριξη τους. link:{freebsd-fs-url}[freebsd-fs]:: _Συστήματα αρχείων_ + Συζητήσεις σχετικές με τα συστήματα αρχείων του FreeBSD. Είναι μια τεχνική λίστα και συζητούνται μόνο αυστηρά τεχνικά θέματα. link:{freebsd-gecko-url}[freebsd-gecko]:: _Gecko Rendering Engine_ + Συζητήσεις σχετικές με εφαρμογές που χρησιμοποιούν την μηχανή Gecko στο FreeBSD. + Η συζήτηση επικεντρώνεται σε εφαρμογές της Συλλογής των Ports που χρησιμοποιούν τη μηχανή Gecko, και ειδικότερα την εγκατάσταση, ανάπτυξη και υποστήριξη τους στο FreeBSD. link:{freebsd-geom-url}[freebsd-geom]:: _GEOM_ + Συζητήσεις σχετικές με το GEOM και παρόμοιες υλοποιήσεις. Είναι μια τεχνική λίστα και συζητούνται μόνο αυστηρά τεχνικά θέματα. link:{freebsd-gnome-url}[freebsd-gnome]:: _GNOME_ + Συζητήσεις σχετικές με το περιβάλλον GNOME για συστήματα FreeBSD. Είναι μια τεχνική λίστα και συζητούνται μόνο αυστηρά τεχνικά θέματα. link:{freebsd-ipfw-url}[freebsd-ipfw]:: _IP Firewall_ + Αυτή η λίστα είναι για τεχνικές συζητήσεις που αφορούν τον επανασχεδιασμό του κώδικα IP firewall στο FreeBSD. Είναι μια τεχνική λίστα και συζητούνται μόνο αυστηρά τεχνικά θέματα. link:{freebsd-ia64-url}[freebsd-ia64]:: _Μεταφορά του FreeBSD στην αρχιτεκτονική IA64_ + Πρόκειται για μια τεχνική λίστα, για άτομα που δουλεύουν ενεργά στην μεταφορά του FreeBSD στην πλατφόρμα IA-64 της Intel(R), για να αναφέρουν προβλήματα ή να συζητήσουν εναλλακτικές λύσεις. Άτομα που ενδιαφέρονται να παρακολουθήσουν την τεχνική συζήτηση είναι επίσης ευπρόσδεκτα. link:{freebsd-isdn-url}[freebsd-isdn]:: _Ανάπτυξη του ISDN_ + Αυτή η λίστα είναι για άτομα που συζητούν την ανάπτυξη της υποστήριξης ISDN στο FreeBSD. link:{freebsd-java-url}[freebsd-java]:: _Ανάπτυξη της Java(TM)_ + Αυτή η λίστα είναι για άτομα που συζητούν την ανάπτυξη σημαντικών εφαρμογών Java(TM) για το FreeBSD και την μεταφορά και συντήρηση των JDK(TM)s. [[eresources-charters-jobs]] link:{freebsd-jobs-url}[freebsd-jobs]:: _Ζήτηση και προσφορά εργασίας_ + Αυτός είναι ένας χώρος για δημοσίευση ανακοινώσεων για προσφορά και ζήτηση εργασίας που σχετίζεται με το FreeBSD, καθώς και βιογραφικών σχετικών με το FreeBSD. Αν για παράδειγμα αναζητάτε εργασία σχετική με το FreeBSD, ή προσφέρετε μια θέση εργασίας σχετική με το FreeBSD, αυτό είναι το σωστό μέρος για να τη διαφημίσετε. Η λίστα αυτή _δεν_ είναι για γενικά θέματα εργασίας, για τα οποία υπάρχει πληθώρα από άλλες λίστες στο Διαδίκτυο. + Αυτή η λίστα, όπως και οι υπόλοιπες λίστες του `FreeBSD.org`, διανέμονται παγκόσμια. Έτσι, πρέπει να είστε σαφής για την τοποθεσία και την δυνατότητα τηλεργασίας ή βοήθειας στην μετοίκηση. + Το μήνυμα σας θα πρέπει να χρησιμοποιεί μόνο ανοιχτά πρότυπα - κατά προτίμηση απλό κείμενο, αν και βασικής μορφής Portable Document Format (PDF), HTML, και μερικά άλλα είναι αποδεκτά από πολλούς χρήστες. Κλειστά πρότυπα όπως το Microsoft(R) Word ([.filename]#.doc#) θα απορριφθούν από τον διακομιστή της λίστας. link:{freebsd-kde-url}[freebsd-kde]:: _KDE_ + Συζητήσεις που αφορούν το KDE σε συστήματα FreeBSD. Είναι μια τεχνική λίστα και συζητούνται μόνο αυστηρά τεχνικά θέματα. link:{freebsd-hackers-url}[freebsd-hackers]:: _Τεχνικές συζητήσεις_ + Είναι ένας χώρος για τεχνικές συζητήσεις σχετικές με το FreeBSD. Αυτή είναι η κύρια τεχνική λίστα. Είναι για άτομα που αναπτύσσουν ενεργά το FreeBSD, για να αναφέρουν προβλήματα ή να συζητήσουν εναλλακτικές λύσεις. Άτομα που ενδιαφέρονται να παρακολουθήσουν την τεχνική συζήτηση είναι ευπρόσδεκτα. Είναι μια τεχνική λίστα και συζητούνται μόνο αυστηρά τεχνικά θέματα. link:{freebsd-hardware-url}[freebsd-hardware]:: _Γενική συζήτηση για υλικό κι εξαρτήματα υπολογιστών στο FreeBSD_ + Γενικές συζητήσεις για τύπους υλικού που λειτουργούν στο FreeBSD, διάφορα προβλήματα και προτάσεις σχετικά με το τι να αγοράσετε ή να αποφύγετε. link:{freebsd-hubs-url}[freebsd-hubs]:: _Mirror sites_ + Ανακοινώσεις και συζητήσεις για άτομα που συντηρούν mirror sites του FreeBSD. link:{freebsd-isp-url}[freebsd-isp]:: _Θέματα για Παροχείς Υπηρεσιών Διαδικτύου_ + Αυτή η λίστα είναι για συζήτηση θεμάτων σχετικών με Παροχείς Υπηρεσιών Διαδικτύου (ISPs) που χρησιμοποιούν FreeBSD. Είναι μια τεχνική λίστα και συζητούνται μόνο αυστηρά τεχνικά θέματα. link:{freebsd-mono-url}[freebsd-mono]:: _Εφαρμογές Mono και C# στο FreeBSD_ + Αυτή η λίστα είναι για συζήτηση θεμάτων σχετικών με το σύστημα ανάπτυξης εφαρμογών Mono στο FreeBSD. Πρόκειται για μια τεχνική λίστα. Προορίζεται για οποιονδήποτε ασχολείται ενεργά με την ανάπτυξη ή τη μεταφορά εφαρμογών Mono ή C# στο FreeBSD. Η συζήτηση αφορά την επίλυση προβλημάτων η την εύρεση εναλλακτικών λύσεων. Άτομα που ενδιαφέρονται να παρακολουθήσουν την τεχνική συζήτηση είναι επίσης ευπρόσδεκτα. link:{freebsd-office-url}[freebsd-office]:: _Εφαρμογές γραφείου στο FreeBSD_ + Συζητήσεις σχετικές με την εγκατάσταση, ανάπτυξη και υποστήριξη εφαρμογών γραφείου στο FreeBSD. link:{freebsd-performance-url}[freebsd-performance]:: _Συζητήσεις για την ρύθμιση και την βελτιστοποίηση του FreeBSD_ + Αυτή η λίστα υπάρχει για να παρέχει ένα μέρος όπου οι hackers, οι διαχειριστές, και όσοι άλλοι ενδιαφέρονται, να συζητούν θέματα σχετικά με την απόδοση του FreeBSD. Αποδεκτά θέματα είναι οι συζητήσεις που αναφέρονται σε εγκαταστάσεις FreeBSD που υπόκεινται σε μεγάλο φόρτο, έχουν προβλήματα απόδοσης, ή φτάνουν το FreeBSD στα όρια του. Συνιστούμε ανεπιφύλακτα να γραφούν στη λίστα όσοι ενδιαφέρονται να βελτιώσουν την απόδοση του FreeBSD. Είναι μία τεχνική λίστα που απευθύνεται σε έμπειρους χρήστες του FreeBSD, hackers, ή διαχειριστές που ενδιαφέρονται να κάνουν το FreeBSD γρήγορο και αξιόπιστο. Δεν πρόκειται για μια λίστα ερωτήσεων και απαντήσεων που μπορεί να αντικαταστήσει την μελέτη της τεκμηρίωσης, αλλά ένα μέρος για συνεισφορές ή για απαντήσεις σε αναπάντητα θέματα σχετικά με την απόδοση. link:{freebsd-pf-url}[freebsd-pf]:: _Συζητήσεις και ερωτήσεις για το σύστημα packet filter firewall_ + Συζητήσεις σχετικές με το packet filter (pf) firewall system στο FreeBSD. Τεχνικές συζητήσεις και ερωτήσεις χρηστών είναι ευπρόσδεκτες. Η λίστα είναι επίσης ένα μέρος για συζήτηση του ALTQ QoS framework. link:{freebsd-platforms-url}[freebsd-platforms]:: _Μεταφορά του FreeBSD σε μη-Intel(R) πλατφόρμες_ + Προβλήματα του FreeBSD που εμφανίζονται σε περισσότερες από μία πλατφόρμες, καθώς και γενικές συζητήσεις και προτάσεις για μεταφορά του FreeBSD σε μη-Intel(R) πλατφόρμες. Είναι μια τεχνική λίστα και συζητούνται μόνο αυστηρά τεχνικά θέματα. link:{freebsd-ports-url}[freebsd-ports]:: _Συζήτηση για τα "ports"_ + Συζητήσεις σχετικές με την "Συλλογή των Ports" του FreeBSD ([.filename]#/usr/ports#), την υποδομή των ports, και γενικά τις προσπάθειες συντονισμού των ports. Είναι μια τεχνική λίστα και συζητούνται μόνο αυστηρά τεχνικά θέματα. link:{freebsd-ports-announce-url}[freebsd-ports-announce]:: _Σημαντικές ειδήσεις και οδηγίες σχετικές με την "Συλλογή των Ports" του FreeBSD._ + Σημαντικές ειδήσεις σχετικές με την "Συλλογή των Ports" ([.filename]#/usr/ports#) που απευθυνόνται σε όσους αναπτύσσουν ή μεταφέρουν λογισμικό στο FreeBSD αλλά και στους τελικούς χρήστες. Περιλαμβάνονται ειδήσεις σχετικές με αλλαγές στην αρχιτεκτονική και την υποδομή, νέες δυνατότητες αλλά και σημαντικές πληροφορίες αναβάθμισης και νέων εκδόσεων. Πρόκειται για λίστα με μικρή κίνηση που προορίζεται για ανακοινώσεις. link:{freebsd-ports-bugs-url}[freebsd-ports-bugs]:: _Συζήτηση για τα σφάλματα των "ports"_ + Συζητήσεις που σχετίζονται με τις αναφορές προβλημάτων της "Συλλογής των Ports" ([.filename]#/usr/ports#) του FreeBSD, προτάσεις για νέα ports ή για αλλαγές σε υπάρχοντα ports. Είναι μια τεχνική λίστα και συζητούνται μόνο αυστηρά τεχνικά θέματα. link:{freebsd-proliant-url}[freebsd-proliant]:: _Τεχνική συζήτηση για το FreeBSD σε διακομιστές HP ProLiant_ + Αυτή η λίστα είναι για τεχνικές συζητήσεις σχετικά με την χρήση του FreeBSD σε διακομιστές HP ProLiant. Η συζήτηση περιλαμβάνει θέματα προγραμμάτων οδήγησης για ProLiant, λογισμικό διαχείρισης, εργαλεία ρυθμίσεων, και ανανεώσεις του BIOS. Η λίστα αυτή είναι το καταλληλότερο μέρος για συζήτηση σχετικά με τα αρθρώματα hpasmd, hpasmcli, και hpacucli. link:{freebsd-python-url}[freebsd-python]:: _Η Python στο FreeBSD_ + Αυτή η λίστα είναι για συζητήσεις σχετικές με την βελτιστοποίηση της υποστήριξης της Python στο FreeBSD. Είναι μια τεχνική λίστα. Προορίζεται για άτομα που ασχολούνται με την μεταφορά της Python, των αρθρωμάτων της (modules) και του Zope στο FreeBSD. Όσοι ενδιαφέρονται να παρακολουθήσουν την τεχνική συζήτηση, είναι ευπρόσδεκτοι. link:{freebsd-questions-url}[freebsd-questions]:: _Ερωτήσεις χρηστών_ + Αυτή η λίστα είναι για ερωτήσεις σχετικές με το FreeBSD. Δεν πρέπει να στέλνετε ερωτήσεις τύπου "how to" σε τεχνικές λίστες εκτός αν πιστεύετε ότι η ερώτηση σας είναι πολύ εξειδικευμένη. link:{freebsd-ruby-url}[freebsd-ruby]:: _Συζήτηση σχετικά με τη Ruby στο FreeBSD_ + Η λίστα αυτή είναι για συζητήσεις που σχετίζονται με την υποστήριξη της Ruby στο FreeBSD. Πρόκειται για μια λίστα τεχνικών ερωτήσεων. Απευθύνεται σε άτομα που δουλεύουν σε Ports της Ruby, σε βιβλιοθήκες τρίτων κατασκευαστών, και σε άλλα πλαίσια λειτουργιών. + Είναι επίσης ευπρόσδεκτοι όσοι ενδιαφέρονται για αυτού του είδους την τεχνική συζήτηση. link:{freebsd-scsi-url}[freebsd-scsi]:: _Το υποσύστημα SCSI_ + Αυτή η λίστα είναι για άτομα που εργάζονται στο SCSI υποσύστημα του FreeBSD. Είναι μια τεχνική λίστα και συζητούνται μόνο αυστηρά τεχνικά θέματα. {freebsd-security}:: _Θέματα ασφαλείας_ + Αφορά θέματα ασφαλείας υπολογιστών που εκτελούν FreeBSD (DES, Kerberos, γνωστά θέματα ασφαλείας και διορθώσεις, κτλ). Είναι μια τεχνική λίστα και συζητούνται μόνο αυστηρά τεχνικά θέματα. Σημειώστε ότι δεν πρόκειται για λίστα ερωτήσεων και απαντήσεων, αλλά η συνεισφορά (τόσο ερωτήσεων όσο ΚΑΙ απαντήσεων) στο FAQ είναι ευπρόσδεκτη. {freebsd-security-notifications}:: _Ειδοποιήσεις ασφαλείας_ + Ειδοποιήσεις για προβλήματα ασφαλείας και διορθώσεις στο FreeBSD. Δεν πρόκειται για λίστα συζητήσεων. Η λίστα συζητήσεων είναι η FreeBSD-security. link:{freebsd-small-url}[freebsd-small]:: _Χρήση του FreeBSD σε embedded εφαρμογές_ + Αυτή η λίστα συζητά θέματα σχετικά με ασυνήθιστα μικρές και embedded εγκαταστάσεις του FreeBSD. Είναι μια τεχνική λίστα και συζητούνται μόνο αυστηρά τεχνικά θέματα. + [NOTE] ==== Η λίστα αυτή έχει αντικατασταθεί από την link:{freebsd-embedded-url}[freebsd-embedded]. ==== {freebsd-stable}:: _Συζητήσεις σχετικές με την χρήση του FreeBSD-STABLE_ + Αυτή η λίστα είναι για τους χρήστες του FreeBSD-STABLE. Περιέχει προειδοποιήσεις για νέα χαρακτηριστικά που πρόκειται να ενσωματωθούν στο -STABLE και τα οποία ενδεχομένως να επηρεάσουν τους χρήστες του. Επίσης περιέχει οδηγίες για τα βήματα που πρέπει να ακολουθήσετε ώστε να παραμείνετε στο -STABLE. Θα πρέπει να εγγραφείτε σε αυτή τη λίστα, αν ακολουθείτε το "STABLE". Είναι μια τεχνική λίστα και συζητούνται μόνο αυστηρά τεχνικά θέματα. link:{freebsd-standards-url}[freebsd-standards]:: _Συμμόρφωση με τα πρότυπα C99 POSIX_ + Αυτή η λίστα είναι για τεχνικές συζητήσεις σχετικά με την συμμόρφωση του FreeBSD με τα πρότυπα C99 και POSIX. link:{freebsd-toolchain-url}[freebsd-toolchain]:: _Συντήρηση των ενσωματωμένων εργαλείων του FreeBSD_ + Αυτή η λίστα είναι για συζητήσεις που σχετίζονται με την σειρά εργαλείων (toolchain) που έρχονται με το FreeBSD. Η συζήτηση μπορεί να περιλαμβάνει θέματα σχετικά με την κατάσταση του Clang και του GCC, αλλά και θέματα σχετικά με προγράμματα όπως μεταγλωττιστές, assemblers, linkers και debuggers. link:{freebsd-usb-url}[freebsd-usb]:: _Συζήτηση για την υποστήριξη του διαύλου USB στο FreeBSD_ + Αυτή η λίστα είναι για τεχνικές συζητήσεις σχετικά με την υποστήριξη του διαύλου USB στο FreeBSD. link:{freebsd-user-groups-url}[freebsd-user-groups]:: _Οργάνωση των συλλόγων χρηστών_ + Αυτή η λίστα είναι για τους συντονιστές των επιμέρους τοπικών συλλόγων χρηστών για συζήτηση θεμάτων μεταξύ τους και με κάποιο μέλος της ομάδας Core. Αυτή η λίστα θα πρέπει να αναφέρει μόνο τις συναντήσεις και την οργάνωση projects που αναφέρονται σε περισσότερους από ένα συλλόγους χρηστών. link:{freebsd-vendors-url}[freebsd-vendors]:: _Πωλητές_ + Οργάνωση συζητήσεων μεταξύ του FreeBSD Project και των πωλητών λογισμικού και υλικού σχετικού με το FreeBSD. link:{freebsd-virtualization-url}[freebsd-virtualization]:: _Συζήτηση διάφορων τεχνικών εικονικοποίησης που υποστηρίζονται από το FreeBSD._ + Μια λίστα για τη συζήτηση των διάφορων τεχνικών εικονικοποίησης που υποστηρίζονται από το FreeBSD. Από τη μια μεριά εστιάζει στην υλοποίηση των βασικών λειτουργιών αλλά και την προσθήκη νέων δυνατοτήτων. Από την άλλη, οι χρήστες θα έχουν μια ομάδα συζητήσεων όπου μπορούν να ζητούν βοήθεια σε περίπτωση προβλημάτων, ή να συζητούν τις δικές τους χρήσεις. link:{freebsd-wip-status-url}[freebsd-wip-status]:: _Κατάσταση εργασιών σε εξέλιξη στο FreeBSD_ + Στη λίστα αυτή μπορείτε να ανακοινώσετε την έναρξη και την πρόοδο κάποιας εργασίας σας που σχετίζεται με το FreeBSD. Τα μηνύματα σε αυτή τη λίστα ελέγχονται. Συνίσταται να στείλετε το μήνυμα σας με παραλήπτη μια πιο τοπική σας λίστα του FreeBSD, και απλώς να κοινοποιήσετε το μήνυμα σας σε αυτή τη λίστα. Με τον τρόπο αυτό, μπορείτε επίσης να συζητήσετε για την εργασία σας στην τοπική λίστα, καθώς η συζήτηση σε αυτή τη λίστα δεν επιτρέπεται. + Δείτε τα αρχεία της λίστας για να πάρετε μια ιδέα της μορφής των μηνυμάτων που μπορείτε να στείλετε. + Μια περίληψη των περιεχομένων της λίστας ενδέχεται να δημοσιεύεται κατά τακτά διαστήματα στη δικτυακή τοποθεσία του FreeBSD, ως μέρος των Αναφορών Κατάστασης (Status Reports) . Στην ίδια τοποθεσία, μπορείτε επίσης να βρείτε περισσότερα παραδείγματα και προηγούμενες αναφορές. link:{freebsd-wireless-url}[freebsd-wireless]:: _Συζήτηση σχετικά με τη στοίβα 802.11, τα εργαλεία ασύρματου δικτύου και την ανάπτυξη προγραμμάτων οδήγησης_ + H λίστα αυτή εστιάζει στη στοίβα δικτύου 802.11 (sys/net80211), την ανάπτυξη προγραμμάτων οδήγησης και εργαλείων. Περιλαμβάνει αναφορές προβλημάτων, νέα χαρακτηριστικά και πληροφορίες συντήρησης. link:{freebsd-xen-url}[freebsd-xen]:: _Συζήτηση για τη μεταφορά του FreeBSD στο Xen(TM) - υλοποίηση και χρήση_ + Πρόκειται για μια λίστα που εστιάζει στην μεταφορά του FreeBSD στο Xen(TM). Η κίνηση σε αυτή τη λίστα αναμένεται να είναι μικρή, και έτσι θα χρησιμοποιηθεί τόσο για τεχνικές συζητήσεις σχετικά με το σχεδιασμό και την υλοποίηση, όσο και με προβλήματα εγκατάστασης και διαχείρισης. link:{freebsd-xfce-url}[freebsd-xfce]:: _XFCE_ + Συζήτηση για τη μεταφορά του XFCE στο FreeBSD. Πρόκειται για μια λίστα τεχνικών συζητήσεων. Προορίζεται για όσους ασχολούνται ενεργά με τη μεταφορά του XFCE στο FreeBSD ώστε να συζητούν προβλήματα και εναλλακτικές λύσεις. Η λίστα είναι επίσης ανοικτή σε όσους ενδιαφέρονται για τεχνική συζήτηση αυτού του είδους. link:{freebsd-zope-url}[freebsd-zope]:: _Zope_ + Μια λίστα συζητήσεων σχετικών με τη μεταφορά του περιβάλλοντος Zope στο FreeBSD. Πρόκειται για λίστα τεχνικών συζητήσεων. Απευθύνεται κυρίως σε άτομα που συμμετέχουν ενεργά στη μεταφορά του Zope στο FreeBSD και συζητούνται προβλήματα και εναλλακτικές λύσεις. Η λίστα είναι επίσης ανοικτή σε όσους ενδιαφέρονται για τεχνική συζήτηση αυτού του είδους. [[eresources-mailfiltering]] === Φιλτράρισμα στις Λίστες Ηλεκτρονικού Ταχυδρομείου Οι λίστες ηλεκτρονικού ταχυδρομείου του FreeBSD φιλτράρονται με πολλαπλούς τρόπους για να αποφύγουμε την διανομή spam, ιών, και άλλων ανεπιθύμητων μηνυμάτων. Το φιλτράρισμα που περιγράφεται σε αυτή την ενότητα, αποτελεί ένα μόνο μέρος των συνολικών μέτρων που λαμβάνουμε για την προστασία των λιστών ηλεκτρονικού ταχυδρομείου. Στις λίστες επιτρέπονται μόνο συγκεκριμένοι τύποι συνημμένων αρχείων. Όλα τα συνημμένα αρχεία με τύπο MIME που δεν βρίσκεται στην παρακάτω λίστα, διαγράφονται πριν διανεμηθεί το μήνυμα στις λίστες. * application/octet-stream * application/pdf * application/pgp-signature * application/x-pkcs7-signature * message/rfc822 * multipart/alternative * multipart/related * multipart/signed * text/html * text/plain * text/x-diff * text/x-patch [NOTE] ==== Μερικές λίστες μπορεί να επιτρέπουν συνημμένα αρχεία και άλλων τύπων MIME, αλλά οι παραπάνω τύποι ισχύουν στις περισσότερες λίστες. ==== Εάν το κείμενο ενός μηνύματος περιέχεται τόσο σε μορφή HTML όσο και απλού κειμένου, το τμήμα HTML θα αφαιρεθεί. Εάν ένα μήνυμα περιέχει μόνο HTML, θα μετατραπεί σε απλό κείμενο. [[eresources-news]] == Usenet Newsgroups Εκτός από δύο newsgroups που ασχολούνται με το FreeBSD, υπάρχουν πολλά ακόμα στα οποία γίνεται συζήτηση για το FreeBSD ή άλλα θέματα που ενδεχομένως ενδιαφέρουν τους χρήστες του. === Newsgroups Σχετικά με το BSD * link:news:comp.unix.bsd.freebsd.announce[comp.unix.bsd.freebsd.announce] * link:news:comp.unix.bsd.freebsd.misc[comp.unix.bsd.freebsd.misc] * link:news:de.comp.os.unix.bsd[de.comp.os.unix.bsd] (Στα Γερμανικά) * link:news:fr.comp.os.bsd[fr.comp.os.bsd] (Στα Γαλλικά) * link:news:it.comp.os.freebsd[it.comp.os.freebsd] (Στα Ιταλικά) * link:news:tw.bbs.comp.386bsd[tw.bbs.comp.386bsd] (Σε Παραδοσιακά Κινέζικα) === Άλλα Ενδιαφέροντα UNIX(R) Newsgroups * link:news:comp.unix[comp.unix] * link:news:comp.unix.questions[comp.unix.questions] * link:news:comp.unix.admin[comp.unix.admin] * link:news:comp.unix.programmer[comp.unix.programmer] * link:news:comp.unix.shell[comp.unix.shell] * link:news:comp.unix.user-friendly[comp.unix.user-friendly] * link:news:comp.security.unix[comp.security.unix] * link:news:comp.sources.unix[comp.sources.unix] * link:news:comp.unix.advocacy[comp.unix.advocacy] * link:news:comp.unix.misc[comp.unix.misc] * link:news:comp.bugs.4bsd[comp.bugs.4bsd] * link:news:comp.bugs.4bsd.ucb-fixes[comp.bugs.4bsd.ucb-fixes] * link:news:comp.unix.bsd[comp.unix.bsd] === Σύστημα X Window * link:news:comp.windows.x.i386unix[comp.windows.x.i386unix] * link:news:comp.windows.x[comp.windows.x] * link:news:comp.windows.x.apps[comp.windows.x.apps] * link:news:comp.windows.x.announce[comp.windows.x.announce] * link:news:comp.windows.x.intrinsics[comp.windows.x.intrinsics] * link:news:comp.windows.x.motif[comp.windows.x.motif] * link:news:comp.windows.x.pex[comp.windows.x.pex] * link:news:comp.emulators.ms-windows.wine[comp.emulators.ms-windows.wine] [[eresources-web]] == Διακομιστές Ιστοσελίδων <>, <>, <>, <>, <>, <>, <>, <>, <>, <>, <>, <>, <>, <>, <>, <>, <>, <>, <>, <>, <>, <>, <>, <>, <>. (as of UTC) [[central-mirrors]] *{central}* * {central-www} [[armenia-mirrors]] *{mirrors-armenia}* * {mirrors-armenia-www-httpv6} (IPv6) [[australia-mirrors]] *{mirrors-australia}* * {mirrors-australia-www-http} * {mirrors-australia-www2-http} [[austria-mirrors]] *{mirrors-austria}* * {mirrors-armenia-www-httpv6} (IPv6) [[czech-republic-mirrors]] *{mirrors-czech}* * {mirrors-czech-www-httpv6} (IPv6) [[denmark-mirrors]] *{mirrors-denmark}* * {mirrors-denmark-www-httpv6} (IPv6) [[finland-mirrors]] *{mirrors-finland}* * {mirrors-finland-www-http} [[france-mirrors]] *{mirrors-france}* * {mirrors-france-www-http} [[germany-mirrors]] *{mirrors-germany}* * {mirrors-germany-www-http} [[hong-kong-mirrors]] *{mirrors-hongkong}* * {mirrors-hongkong-www} [[ireland-mirrors]] *{mirrors-ireland}* * {mirrors-ireland-www} [[japan-mirrors]] *{mirrors-japan}* * {mirrors-japan-www-httpv6} (IPv6) [[latvia-mirrors]] *{mirrors-latvia}* * {mirrors-latvia-www} [[lithuania-mirrors]] *{mirrors-lithuania}* * {mirrors-lithuania-www} [[netherlands-mirrors]] *{mirrors-netherlands}* * {mirrors-netherlands-www} [[norway-mirrors]] *{mirrors-norway}* * {mirrors-norway-www} [[russia-mirrors]] *{mirrors-russia}* * {mirrors-russia-www-httpv6} (IPv6) [[slovenia-mirrors]] *{mirrors-slovenia}* * {mirrors-slovenia-www} [[south-africa-mirrors]] *{mirrors-south-africa}* * {mirrors-south-africa-www} [[spain-mirrors]] *{mirrors-spain}* * {mirrors-spain-www} * {mirrors-spain-www2} [[sweden-mirrors]] *{mirrors-sweden}* * {mirrors-sweden-www} [[switzerland-mirrors]] *{mirrors-switzerland}* * {mirrors-switzerland-www-httpv6} (IPv6) * {mirrors-switzerland-www2-httpv6} (IPv6) [[taiwan-mirrors]] *{mirrors-taiwan}* * {mirrors-taiwan-www} * {mirrors-taiwan-www2} * {mirrors-taiwan-www4} * {mirrors-taiwan-www5-httpv6} (IPv6) [[uk-mirrors]] *{mirrors-uk}* * {mirrors-uk-www} * {mirrors-uk-www3} [[usa-mirrors]] *{mirrors-us}* * {mirrors-us-www5-httpv6} (IPv6) [[eresources-web-social]] === Forums, Blogs, και Κοινωνικά Δίκτυα * http://forums.freebsd.org/[Τα Forums του FreeBSD] βασίζονται σε διεπαφή web και είναι κατάλληλα για τεχνικές συζητήσεις και ερωτήσεις που αφορούν το FreeBSD. * http://planet.freebsdish.org/[Το Planet FreeBSD] συγκεντρώνει σε ένα σημείο τις ροές από δεκάδες ιστολόγια μελών της ομάδας ανάπτυξης του FreeBSD. Πολλά από τα μέλη, χρησιμοποιούν αυτή τη δυνατότητα για να γνωστοποιήσουν την εργασία που κάνουν τη δεδομένη στιγμή, τυχόν νέες διορθώσεις, καθώς και τα μελλοντικά τους σχέδια. * http://www.youtube.com/bsdconferences[Το κανάλι BSDConferences στο Youtube] παρέχει μια συλλογή βίντεο υψηλής ποιότητας, από διάφορα BSD συνέδρια σε όλο τον κόσμο. Πρόκειται για ένα θαυμάσιο τρόπο να παρακολουθήσετε σημαντικά μέλη της ομάδας ανάπτυξης να παρουσιάζουν τη νέα τους δουλειά στο FreeBSD. [[eresources-web-mirrors]] === Επίσημα Mirrors [[eresources-email]] == Διευθύνσεις Ηλεκτρονικού Ταχυδρομείου Οι ακόλουθες ενώσεις χρηστών παρέχουν στα μέλη τους διευθύνσεις ηλεκτρονικού ταχυδρομείου που σχετίζονται με το FreeBSD. Ο διαχειριστής που αναφέρεται παρακάτω, διατηρεί το δικαίωμα να ανακαλέσει την διεύθυνση, αν γίνει κατάχρηση της με οποιοδήποτε τρόπο. [.informaltable] [cols="1,1,1,1", frame="none", options="header"] |=== | Τομέας | Υπηρεσίες | Ένωση Χρηστών | Διαχειριστής |ukug.uk.FreeBSD.org |Μόνο προώθηση |mailto:ukfreebsd@uk.FreeBSD.org[ukfreebsd@uk.FreeBSD.org] |Lee Johnston mailto:lee@uk.FreeBSD.org[lee@uk.FreeBSD.org] |=== diff --git a/documentation/content/el/books/handbook/jails/_index.adoc b/documentation/content/el/books/handbook/jails/_index.adoc index 41e407867f..4fd0134578 100644 --- a/documentation/content/el/books/handbook/jails/_index.adoc +++ b/documentation/content/el/books/handbook/jails/_index.adoc @@ -1,527 +1,527 @@ --- title: Κεφάλαιο 16. Jails part: Μέρος III. Διαχείριση Συστήματος prev: books/handbook/security next: books/handbook/mac --- [[jails]] = Jails :doctype: book :toc: macro :toclevels: 1 :icons: font :sectnums: :sectnumlevels: 6 :source-highlighter: rouge :experimental: :skip-front-matter: :toc-title: Πίνακας Περιεχομένων :table-caption: Πίνακας :figure-caption: Σχήμα :example-caption: Παράδειγμα :xrefstyle: basic :relfileprefix: ../ :outfilesuffix: :sectnumoffset: 16 ifeval::["{backend}" == "html5"] :imagesdir: ../../../images/books/handbook/jails/ endif::[] ifeval::["{backend}" == "pdf"] :imagesdir: ../../../../static/images/books/handbook/jails/ endif::[] ifeval::["{backend}" == "epub3"] :imagesdir: ../../../../static/images/books/handbook/jails/ endif::[] include::shared/authors.adoc[] include::shared/releases.adoc[] include::shared/el/mailing-lists.adoc[] include::shared/el/teams.adoc[] include::shared/el/urls.adoc[] toc::[] [[jails-synopsis]] == Σύνοψη Το κεφάλαιο αυτό εξηγεί τι είναι τα jails (φυλακές) του FreeBSD και πως χρησιμοποιούνται. Τα jails, που αναφέρονται ορισμένες φορές σαν μια ενισχυμένη εναλλακτική λύση για _περιβάλλοντα chroot_, είναι ένα ισχυρό εργαλείο για διαχειριστές συστημάτων, αλλά η βασική τους χρήση μπορεί επίσης να είναι χρήσιμη σε προχωρημένους χρήστες. Αφού διαβάσετε αυτό το κεφάλαιο, θα ξέρετε: * Τι είναι ένα jail και τι σκοπό μπορεί να εξυπηρετήσει σε εγκαταστάσεις FreeBSD. * Πως να φτιάξετε, να εκκινήσετε, και να σταματήσετε ένα jail. * Τα βασικά της διαχείρισης ενός jail, τόσο μέσα, όσο και έξω από αυτό. Άλλες πηγές χρήσιμων πληροφοριών σχετικά με τα jails είναι: * Η σελίδα manual του man:jail[8]. Περιέχει πλήρη αναφορά του βοηθητικού προγράμματος `jail` - του διαχειριστικού εργαλείου που μπορεί να χρησιμοποιηθεί στο FreeBSD για την εκκίνηση, διακοπή, και έλεγχο των jails. -* Οι λίστες ταχυδρομείου και τα αρχεία τους. Τα αρχεία από την {freebsd-questions} και άλλες λίστες που εξυπηρετούνται από τον {mailman-lists} περιέχουν πλήρη οδηγό για τα jails. Είναι πάντοτε ενδιαφέρον να ψάχνετε τα αρχεία ή να δημοσιεύετε νέες ερωτήσεις στη λίστα link:{freebsd-questions-url}[freebsd-questions]. +* Οι λίστες ταχυδρομείου και τα αρχεία τους. Τα αρχεία από την {freebsd-questions} και άλλες λίστες που εξυπηρετούνται από τον {mailing-lists} περιέχουν πλήρη οδηγό για τα jails. Είναι πάντοτε ενδιαφέρον να ψάχνετε τα αρχεία ή να δημοσιεύετε νέες ερωτήσεις στη λίστα link:{freebsd-questions-url}[freebsd-questions]. [[jails-terms]] == Όροι των Jails Για να κατανοήσετε καλύτερα το πως οι εσωτερικές λειτουργίες του FreeBSD σχετίζονται με τα jails και πως αυτές αλληλεπιδρούν με τα υπόλοιπα μέρη του FreeBSD, θα χρησιμοποιήσουμε εκτενώς τους παρακάτω όρους: man:chroot[8] (εντολή):: Ένα βοηθητικό πρόγραμμα, το οποίο χρησιμοποιεί την κλήση συστήματος man:chroot[2] του FreeBSD για να αλλάξει τον γονικό κατάλογο (root directory) μιας διεργασίας και όλων των άλλων διεργασιών που εξαρτώνται από αυτή. man:chroot[2] (περιβάλλον):: Το περιβάλλον μια διεργασίας που τρέχει μέσα σε ένα "chroot". Αυτό περιλαμβάνει πόρους όπως το τμήμα του συστήματος αρχείων που είναι ορατό, τα ID του χρήστη και της ομάδας που είναι διαθέσιμα, καθώς και τις διεπαφές δικτύου (network interfaces), τους μηχανισμούς IPC κλπ. man:jail[8] (εντολή):: Το πρόγραμμα που σας επιτρέπει να διαχειρίζεστε το σύστημα σας και να ξεκινάτε διεργασίες σε περιβάλλον jail. host (σύστημα (system), διεργασία (process), χρήστης (user), κλπ.):: Το φυσικό σύστημα που φιλοξενεί και ελέγχει ένα περιβάλλον jail. Το host system έχει πρόσβαση σε όλο το διαθέσιμο υλικό, και μπορεί να ελέγξει διεργασίες τόσο μέσα όσο και έξω από το περιβάλλον του jail. Μία από τις σημαντικότερες διαφορές μεταξύ του host system και του jail είναι ότι οι περιορισμοί που εφαρμόζονται στις διεργασίες του χρήστη root μέσα στο περιβάλλον jail, δεν ισχύουν για τις διεργασίες στο host system. hosted (σύστημα (system), διεργασία (process), χρήστης (user), κλπ.):: Μια διεργασία, ένας χρήστης ή κάποια άλλη οντότητα, του οποίου η πρόσβαση στους πόρους του συστήματος περιορίζεται μέσα από ένα jail. [[jails-intro]] == Εισαγωγή Μια και η διαχείριση ενός συστήματος μπορεί να είναι δύσκολη και περίπλοκη, αναπτύχθηκαν αρκετά εργαλεία τα οποία μπορούν να κάνουν τη ζωή ενός διαχειριστή πολύ πιο εύκολη. Τα εργαλεία αυτά προσφέρουν κάποιες πρόσθετες δυνατότητες όσο αφορά τον τρόπο εγκατάστασης, ρύθμισης και συντήρησης ενός συστήματος. Μια από τις εργασίες που αναμένεται να εκτελέσει κάθε διαχειριστής συστήματος, είναι να ρυθμίσει σωστά την ασφάλεια του συστήματος, προκειμένου να προσφέρει τις υπηρεσίες για τις οποίες έχει προγραμματιστεί, χωρίς να επιτρέπει συμβιβασμούς στην ασφάλεια. Ένα από τα εργαλεία που μπορούν να ενισχύσουν την ασφάλεια ενός συστήματος FreeBSD είναι τα _jails_. Τα Jails πρωτοεμφανίστηκαν στο FreeBSD 4.X από τον {phk}, αλλά βελτιώθηκαν πολύ περισσότερο στην έκδοση FreeBSD 5.X, προκειμένου να προσφέρουν περισσότερες δυνατότητες και να είναι περισσότερο ευέλικτα. Η ανάπτυξή τους συνεχίζεται ακόμη, με βελτιώσεις στους τομείς της ευχρηστίας, της απόδοσης, της αξιοπιστίας και της ασφάλειας που πρέπει να παρέχουν. [[jails-what]] === Τι Είναι Ένα Jail Τα λειτουργικά συστήματα τύπου BSD, παρείχαν το man:chroot[2] από την εποχή του 4.2BSD. Η εντολή man:chroot[8] μπορεί να χρησιμοποιηθεί για να αλλάξει τον γονικό κατάλογο μιας ομάδας διεργασιών, δημιουργώντας ένα ασφαλές περιβάλλον, ξεχωριστό από το υπόλοιπο σύστημα. Όσες διεργασίες δημιουργούνται σε έναν τέτοιο περιβάλλον, δεν έχουν πρόσβαση σε αρχεία και πόρους έξω από αυτό. Για αυτό το λόγο, αν μια υπηρεσία τρέχει μέσα σε ένα τέτοιο περιβάλλον, και κάποιος εισβολέας καταφέρει να διεισδύσει σε αυτή, δε θα του επιτραπεί η πρόσβαση στο υπόλοιπο σύστημα. Η εντολή man:chroot[8] είναι πολύ καλή για απλές εργασίες οι οποίες δε χρειάζονται να είναι πολύ ευέλικτες ή να διαθέτουν πολύπλοκα και προηγμένα χαρακτηριστικά. Ωστόσο, από την αρχή της ιδέας του chroot, βρέθηκαν αρκετοί τρόποι για να μπορέσει κάποιος να ξεφύγει από το περιβάλλον αυτό. Παρ' όλο που έχουν διορθωθεί πολλά σφάλματα στις πρόσφατες εκδόσεις του πυρήνα του FreeBSD, ήταν ξεκάθαρο ότι η man:chroot[2] δεν ήταν η ιδανική λύση για την ασφάλιση υπηρεσιών. Έπρεπε να υλοποιηθεί ένα νέο υποσύστημα. Αυτός είναι ένας από τους κύριους λόγους για την ανάπτυξη των _jails_. Τα jails βελτίωσαν με διάφορους τρόπους την ιδέα του παραδοσιακού περιβάλλοντος του man:chroot[2]. Στο τυπικό περιβάλλον του man:chroot[2], οι διεργασίες περιορίζονται μόνος ως προς το μέρος του συστήματος αρχείων όπου μπορούν να έχουν πρόσβαση. Οι υπόλοιποι πόροι του συστήματος (όπως οι χρήστες, οι τρέχοντες διεργασίες, το υποσύστημα δικτύωσης) είναι κοινόχρηστοι μεταξύ των διεργασιών του περιβάλλοντος chroot και των διεργασιών του host system. Τα jails επεκτείνουν αυτό το μοντέλο, με την εικονικοποίηση όχι μόνο της πρόσβασης στο σύστημα αρχείων, αλλά επίσης των χρηστών, του υποσυστήματος δικτύωσης του πυρήνα του FreeBSD και μερικών ακόμη πραγμάτων. Περισσότερα για τις διαθέσιμες εντολές που μπορούν να χρησιμοποιηθούν για τη ρύθμιση και τον έλεγχο ενός περιβάλλοντος jail μπορείτε να βρείτε στο <>. Το Jail έχει τέσσερα κύρια στοιχεία: * Έναν κατάλογο με δική του δομή - το αρχικό σημείο στο οποίο εισέρχεται ένα jail. Από τη στιγμή που μια διεργασία βρίσκεται μέσα σε ένα jail, δεν επιτρέπεται να βγει έξω από τον κατάλογο αυτό. Τα προβλήματα που ταλαιπωρούσαν τον σχεδιασμό του man:chroot[2] δεν επηρεάζουν τα jails του FreeBSD. * Ένα hostname (όνομα συστήματος) - το hostname το οποίο θα χρησιμοποιηθεί μέσα στο jail. Τα jails χρησιμοποιούνται κυρίως για την εξυπηρέτηση δικτυακών υπηρεσιών, επομένως η ύπαρξη ενός χαρακτηριστικού hostname που να περιγράφει ταυτόχρονα και τη χρήση του, μπορεί να βοηθήσει αρκετά τον διαχειριστή συστήματος. * Μια διεύθυνση IP - αυτή η διεύθυνση αντιστοιχεί σε ένα jail και δεν μπορεί να αλλάξει κατά τη διάρκεια της ζωής του. Η διεύθυνση IP ενός jail είναι συνήθως μία διεύθυνση τύπου alias για μια ήδη υπάρχουσα διεπαφή δικτύου (network interface), αλλά κάτι τέτοιο δεν είναι απαραίτητο. * Μία εντολή - η διαδρομή προς ένα εκτελέσιμο το οποίο θα εκτελείται μέσα στο jail. Η διαδρομή αυτή είναι σχετική ως προς τον γονικό κατάλογο του περιβάλλοντος του jail, και μπορεί να διαφέρει πολύ από jail σε jail ανάλογα με το συγκεκριμένο περιβάλλον. Εκτός αυτών, τα jails μπορούν να έχουν τις δικές τους ομάδες χρηστών και τον δικό τους χρήστη `root`. Φυσικά, ο έλεγχος που έχει ο χρήστης `root` του jail, περιορίζεται μέσα στο περιβάλλον του jail, και από την οπτική γωνία του host system, ο χρήστης αυτός δεν είναι παντοδύναμος. Επιπλέον, ο χρήστης `root` του jail, δεν μπορεί να εκτελέσει κρίσιμες εργασίες στο σύστημα έξω από το περιβάλλον του man:jail[8]. Περισσότερες πληροφορίες σχετικά με τις δυνατότητες και τους περιορισμούς του `root` θα βρείτε στο <>. [[jails-build]] == Δημιουργώντας και Ελέγχοντας Jails Μερικοί διαχειριστές συστημάτων κατηγοριοποιούν τα jails σε δύο ενότητες: τα "complete (πλήρη)" jails, τα οποία μιμούνται ένα πραγματικό σύστημα FreeBSD, και τα "service" jails, τα οποία χρησιμοποιούνται για μια εφαρμογή ή υπηρεσία, που πιθανόν εκτελείται με ειδικά προνόμια. Αυτός είναι ένας νοητικός διαχωρισμός και δεν επιδρά στη διαδικασία δημιουργίας ενός jail. Η σελίδα manual του man:jail[8] περιέχει κατατοπιστικές πληροφορίες για τη διαδικασία δημιουργίας ενός jail: [source,shell] .... # setenv D /here/is/the/jail # mkdir -p $D <.> # cd /usr/src # make buildworld <.> # make installworld DESTDIR=$D <.> # make distribution DESTDIR=$D <.> # mount -t devfs devfs $D/dev <.> .... <.> Ο καλύτερος τρόπος για να ξεκινήσετε είναι με την επιλογή μιας θέσης (διαδρομής) για το jail σας. Εκεί θα βρίσκονται αποθηκευμένα τα αρχεία του jail όσο αφορά το σύστημα σας. Μια καλή ιδέα είναι το [.filename]#/usr/jail/jailname#, όπου _jailname_ το hostname με το οποίο θα αναγνωρίζεται το jail. Το σύστημα αρχείων [.filename]#/usr/# έχει συνήθως αρκετό χώρο για το σύστημα αρχείων του jail, το οποίο, για ένα "complete" jail είναι ουσιαστικά ένας κλώνος κάθε αρχείου του βασικού συστήματος μια προεπιλεγμένης εγκατάστασης του FreeBSD. <.> Το βήμα αυτό δεν απαιτείται αν έχετε μεταγλωττίσει στο παρελθόν το βασικό σύστημα χρησιμοποιώντας την εντολή `make world` ή `make buildworld`. Μπορείτε απλώς να εγκαταστήσετε το υπάρχον σύστημα σας στο νέο jail. <.> Η εντολή αυτή θα εμπλουτίσει τον κατάλογο που επιλέξατε για το jail με όλα τα απαραίτητα αρχεία, βιβλιοθήκες, σελίδες βοήθειας κλπ. <.> Το `distribution` target του make εγκαθιστά όλα τα αρχεία ρυθμίσεων που απαιτούνται. Με απλά λόγια, εγκαθιστά κάθε αρχείο από το [.filename]#/usr/src/etc/# στον κατάλογο [.filename]#/etc# του περιβάλλοντος jail: [.filename]#$D/etc/#. <.> Δε χρειάζεται να προσαρτήσετε το man:devfs[8] στο περιβάλλον του jail. Από την άλλη όμως, όλες, ή σχεδόν όλες οι εφαρμογές χρειάζονται πρόσβαση σε τουλάχιστον μία συσκευή, αναλόγως με τον σκοπό της εφαρμογής. Είναι πολύ σημαντικό να ελέγχεται η πρόσβαση στις συσκευές μέσα σε ένα jail, καθώς λανθασμένες ρυθμίσεις μπορεί να επιτρέψουν σε κάποιον εισβολέα να κάνει "άσχημα παιχνίδια" μέσα στο jail. Ο έλεγχος του man:devfs[8] γίνεται μέσω ενός συνόλου κανόνων οι οποίοι περιγράφονται στις σελίδες manual του man:devfs[8] και του man:devfs.conf[5]. Από την στιγμή που έχει εγκατασταθεί ένα jail, μπορεί να εκκινηθεί με τη χρήση της εντολής man:jail[8]. Η man:jail[8] δέχεται τέσσερις υποχρεωτικές παραμέτρους οι οποίες περιγράφονται στο <>. Μπορείτε να δώσετε και άλλες παραμέτρους, π.χ., για να εκτελέσετε μια διεργασία στο περιβάλλον του jail με τις άδειες ενός συγκεκριμένου χρήστη. Η παράμετρος `_command_` εξαρτάται από τον τύπο του jail. Για ένα _εικονικό σύστημα_, το [.filename]#/etc/rc# είναι μια καλή επιλογή, μια και στην ουσία θα κλωνοποιήσει την διαδικασία εκκίνησης ενός πραγματικού συστήματος FreeBSD. Για ένα _service_ jail, η παράμετρος εξαρτάται από την υπηρεσία ή την εφαρμογή που θα τρέχει μέσα στο jail. Τα jails συνήθως ξεκινούν κατά την εκκίνηση και ο μηχανισμός [.filename]#rc# του FreeBSD παρέχει έναν εύκολο τρόπο για να γίνει κάτι τέτοιο. [.procedure] . Η λίστα με τα jails που θέλετε να ξεκινάνε κατά την εκκίνηση θα πρέπει να προστεθούν στο αρχείο man:rc.conf[5]: + [.programlisting] .... jail_enable="YES" # Set to NO to disable starting of any jails jail_list="www" # Space separated list of names of jails .... + [NOTE] ==== Το όνομα που έχει κάθε jail στη λίστα `jail_list` επιτρέπεται να περιέχει μόνο αλφαριθμητικούς χαρακτήρες. ==== . Για κάθε jail που υπάρχει στο `jail_list`, θα πρέπει να προστεθεί μια ομάδα από ρυθμίσεις στο man:rc.conf[5], οι οποίες θα το περιγράφουν: + [.programlisting] .... jail_www_rootdir="/usr/jail/www" # jail's root directory jail_www_hostname="www.example.org" # jail's hostname jail_www_ip="192.168.0.10" # jail's IP address jail_www_devfs_enable="YES" # mount devfs in the jail jail_www_devfs_ruleset="www_ruleset" # devfs ruleset to apply to jail .... + Η προεπιλεγμένη εκκίνηση του jail μέσω του man:rc.conf[5], θα ξεκινήσει το script του jail [.filename]#/etc/rc#, το οποίο υποθέτει ότι το jail είναι ένα ολοκληρωμένο εικονικό σύστημα. Για service jails, η προεπιλεγμένη εκκίνηση πρέπει να αλλάξει, ορίζοντας κατάλληλα την επιλογή `jail__jailname__exec_start`. + [NOTE] ==== Για πλήρη λίστα των διαθέσιμων επιλογών, δείτε το man:rc.conf[5]. ==== Το script [.filename]#/etc/rc.d/jail# μπορεί να χρησιμοποιηθεί για να ξεκινήσει ή να σταματήσει κάποιο jail χειροκίνητα. Πρέπει όμως να υπάρχει η αντίστοιχη καταχώρηση στο [.filename]#rc.conf#: [source,shell] .... # /etc/rc.d/jail start www # /etc/rc.d/jail stop www .... Για την ώρα δεν υπάρχει κάποιος απόλυτα σωστός τρόπος για να τερματίσετε κάποιο man:jail[8]. Αυτό συμβαίνει, διότι οι εντολές που χρησιμοποιούνται συνήθως για να τερματίσουν με ασφάλεια ένα σύστημα, δεν μπορούν να χρησιμοποιηθούν μέσα στο περιβάλλον ενός jail. Ο καλύτερος τρόπος για να τερματίσετε ένα jail είναι με την εκτέλεση της ακόλουθης εντολής μέσα από το ίδιο το jail ή με χρήση του βοηθητικού προγράμματος man:jexec[8] έξω από αυτό: [source,shell] .... # sh /etc/rc.shutdown .... Περισσότερες πληροφορίες σχετικά με αυτή τη διαδικασία μπορείτε να βρείτε στη σελίδα βοηθείας του man:jail[8] [[jails-tuning]] == Λεπτομερής Ρύθμιση και Διαχείριση Υπάρχουν αρκετές επιλογές που μπορούν να εφαρμοστούν σε ένα jail, καθώς και διάφοροι τρόποι για να συνδυαστεί ένα σύστημα FreeBSD με jails προκειμένου να παράγουν εφαρμογές υψηλότερου επιπέδου. Η ενότητα αυτή παρουσιάζει: * Μερικές από τις διαθέσιμες επιλογές για την ρύθμιση της συμπεριφοράς και των περιορισμών ασφαλείας που υλοποιούνται από την εγκατάσταση ενός jail. * Μερικές εφαρμογές υψηλού επιπέδου για τη διαχείριση jails, οι οποίες είναι διαθέσιμες μέσω της συλλογής των Ports του FreeBSD και μπορούν να χρησιμοποιηθούν στην υλοποίηση ολοκληρωμένων λύσεων με τη χρήση jails. [[jails-tuning-utilities]] === Εργαλεία Συστήματος του FreeBSD για τη Ρύθμιση Jails Λεπτομερής ρύθμιση ενός jail γίνεται κατά κύριο λόγο μέσω των μεταβλητών του man:sysctl[8]. Υπάρχει ένα ειδικό subtree του sysctl το οποίο αποτελεί τη βάση για την οργάνωση όλων των σχετικών επιλογών: πρόκειται για την ιεραρχία επιλογών πυρήνα `security.jail.*`. Παρακάτω θα βρείτε μια λίστα με τα κύρια sysctl που σχετίζονται με κάποιο jail καθώς και τις προεπιλεγμένες τιμές τους. Τα ονόματα μάλλον εξηγούν από μόνα τους την αντίστοιχη λειτουργία, αλλά για περισσότερες πληροφορίες μπορείτε να δείτε τις σελίδες βοήθειας των man:jail[8] και man:sysctl[8]. * `security.jail.set_hostname_allowed: 1` * `security.jail.socket_unixiproute_only: 1` * `security.jail.sysvipc_allowed: 0` * `security.jail.enforce_statfs: 2` * `security.jail.allow_raw_sockets: 0` * `security.jail.chflags_allowed: 0` * `security.jail.jailed: 0` Οι μεταβλητές αυτές μπορούν να χρησιμοποιηθούν από τον διαχειριστή του _host system_ προκειμένου να προσθέσει ή να αφαιρέσει περιορισμούς οι οποίοι υπάρχουν αρχικά στον χρήστη `root`. Υπάρχουν όμως και κάποιοι περιορισμοί οι οποίοι δεν μπορούν να αφαιρεθούν. Ο χρήστης `root` δεν επιτρέπεται να προσαρτά ή να απο-προσαρτά συστήματα αρχείων μέσα από ένα man:jail[8]. Ο `root` μέσα σε ένα jail δεν επιτρέπεται να φορτώσει ή να αποφορτώσει τους κανόνες (rulesets) του man:devfs[8], το firewall, και διάφορες άλλες εργασίες διαχείρισης οι οποίες χρειάζονται τροποποίηση των δεδομένων του πυρήνα, όπως για παράδειγμα ο ορισμός του `securelevel` του πυρήνα. Το βασικό σύστημα του FreeBSD περιέχει τα βασικά εργαλεία για τη προβολή πληροφοριών σχετικά με τα ενεργά jails, και επίσης για την ανάθεση συγκεκριμένων εντολών διαχείρισης σε κάποιο jail. Οι εντολές man:jls[8] και man:jexec[8] αποτελούν μέρος του βασικού συστήματος του FreeBSD, και μπορούν να χρησιμοποιηθούν για να τις παρακάτω απλές εργασίες: * Προβολή λίστας των ενεργών jails και τον αντίστοιχων χαρακτηριστικών τους - jail identifier (JID), διεύθυνση IP, hostname και path. * Προσκόλληση σε κάποιο ενεργό jail, από το host system, και εκτέλεση κάποιας εντολής μέσα στο jail ή εκτέλεση εργασιών διαχείρισης μέσα στο jail. Κάτι τέτοιο είναι ιδιαίτερα χρήσιμο όταν ο χρήστης `root` επιθυμεί να τερματίσει με ασφάλεια κάποιο jail. Μπορεί επίσης να χρησιμοποιηθεί η εντολή man:jexec[8] για την εκτέλεση κάποιου shell μέσα στο jail προκειμένου να εκτελεστούν εργασίες διαχείρισης, για παράδειγμα: + [source,shell] .... # jexec 1 tcsh .... [[jails-tuning-admintools]] === Εργαλεία Διαχείρισης Υψηλού Επιπέδου στη Συλλογή Ports του FreeBSD Ανάμεσα στις διάφορες εφαρμογές τρίτων κατασκευαστών για τη διαχείριση των jails, ένα από τα ποιο ολοκληρωμένα και χρήσιμα πακέτα είναι το package:sysutils/jailutils[]. Αποτελεί ένα σύνολο μικρών εφαρμογών οι οποίες συνεισφέρουν στη διαχείριση του man:jail[8]. Για περισσότερες πληροφορίες, δείτε στον δικτυακό του τόπο. [[jails-application]] == Εφαρμογή των Jails [[jails-service-jails]] === Service Jails Η ενότητα αυτή είναι βασισμένη στην ιδέα που παρουσιάστηκε αρχικά από τον {simon} στο http://simon.nitro.dk/service-jails.html[http://simon.nitro.dk/service-jails.html], καθώς και σε ένα ανανεωμένο άρθρο του Ken Tom mailto:locals@gmail.com[locals@gmail.com]. Στην ενότητα αυτή θα σας δείξουμε πως να στήσετε ένα σύστημα FreeBSD το οποίο να διαθέτει ένα επιπλέον επίπεδο ασφάλειας, με τη χρήση του man:jail[8]. Υποθέτουμε ότι το σύστημα τρέχει τουλάχιστον RELENG_6_0 και ότι έχετε κατανοήσει όλες τις προηγούμενες πληροφορίες του κεφαλαίου. [[jails-service-jails-design]] ==== Σχεδιασμός Ένα από τα σημαντικότερα προβλήματα με τα jails είναι η διαχείριση της διαδικασίας αναβαθμίσεων. Αυτό τείνει να είναι πρόβλημα διότι το κάθε jail πρέπει να δημιουργηθεί από την αρχή σε κάθε αναβάθμιση. Συνήθως δεν είναι πρόβλημα αν έχετε ένα μόνο jail, μια και πρόκειται για σχετικά απλή διαδικασία, αλλά γίνεται κουραστική και χρονοβόρα αν έχετε πολλά jails. [WARNING] ==== Οι παρακάτω ρυθμίσεις προϋποθέτουν εμπειρία με το FreeBSD και τη χρήση των διάφορων χαρακτηριστικών του. Εάν τα παρακάτω βήματα σας φαίνονται πολύ περίπλοκα, είναι καλύτερα να ρίξετε μια ματιά σε κάτι ποιο απλό όπως το package:sysutils/ezjail[], το οποίο παρέχει έναν ευκολότερο τρόπο διαχείρισης των jails του FreeBSD και δεν είναι τόσο εξειδικευμένο όσο οι παρακάτω ρυθμίσεις. ==== Η ιδέα αυτή έχει παρουσιαστεί για να λύσει τέτοιου είδους προβλήματα, με την βοήθεια της κοινής χρήσης όσο το δυνατόν περισσότερων αρχείων μεταξύ των jails, με έναν ασφαλή όμως τρόπο - χρησιμοποιώντας προσαρτήσεις τύπου man:mount_nullfs[8] και μόνο για ανάγνωση (read only) έτσι ώστε η αναβάθμιση να είναι ευκολότερη, και η χρήση μεμονωμένων jails για κάθε υπηρεσία να καθίσταται επιθυμητή. Επιπλέον, παρέχει έναν απλό τρόπο για να προσθέσετε και να αφαιρέσετε jails όπως επίσης και να τα αναβαθμίσετε. [NOTE] ==== Παραδείγματα υπηρεσιών τέτοιου τύπου: ένας HTTP server, ένας DNS server, ένας SMTP server, κλπ. ==== Οι στόχοι των παρακάτω ρυθμίσεων είναι: * Δημιουργία απλών και κατανοητών jails. Αυτό σημαίνει ότι _δεν_ θα τρέξουμε ένα πλήρες installworld σε κάθε jail. * Εύκολη προσθήκη και διαγραφή jails. * Εύκολη αναβάθμιση υπαρχόντων jails. * Δυνατότητα δημιουργίας προσαρμοσμένου τμήματος του FreeBSD. * Όσο περισσότερη ασφάλεια είναι δυνατόν, με ελαχιστοποίηση της πιθανότητας κακόβουλης χρήσης. * Εξοικονόμηση χώρου και inodes. Όπως έχουμε ήδη πει, ο σχεδιασμός αυτός εξαρτάται ιδιαίτερα από την ύπαρξη ενός αρχικού template στο οποίο δεν επιτρέπεται η εγγραφή δεδομένων (γνωστό ως nullfs) και το οποίο πρέπει να έχει προσαρτηθεί σε κάθε jail, όπως επίσης και στην ύπαρξη για κάθε jail μιας συσκευής που να επιτρέπει τόσο την ανάγνωση όσο και την εγγραφή. Μια τέτοια συσκευή μπορεί να είναι κάποιος ξεχωριστός φυσικός δίσκος, μια κατάτμηση, ή κάποια συσκευή vnode man:md[4]. Στο παρακάτω παράδειγμα, θα χρησιμοποιήσουμε προσαρτήσεις τύπου nullfs στις οποίες θα επιτρέπεται εγγραφή και ανάγνωση. Η δομή του συστήματος αρχείων περιγράφεται στην παρακάτω λίστα: * Κάθε jail θα προσαρτάται κάτω από τον κατάλογο [.filename]#/home/j#. * Το [.filename]#/home/j/mroot# είναι το template για το κάθε jail και η κατάτμηση μόνο ανάγνωσης για όλα τα jails. * Θα δημιουργηθεί ένας κενός κατάλογος για κάθε jail κάτω από τον κατάλογο [.filename]#/home/j#. * Κάθε jail θα έχει έναν κατάλογο [.filename]#/s#, ο οποίος θα είναι σύνδεσμος προς το εγγράψιμο μέρος του συστήματος. * Κάθε jail θα έχει το δικό εγγράψιμο μέρος το οποίο θα βασίζεται στο [.filename]#/home/j/skel#. * Κάθε jailspace (το εγγράψιμο μέρος κάθε jail) θα πρέπει να δημιουργηθεί στον κατάλογο [.filename]#/home/js#. [NOTE] ==== Όλα αυτά προϋποθέτουν ότι τα jails βρίσκονται κάτω από τον κατάλογο [.filename]#/home#. Αυτό βέβαια μπορεί να αλλάξει σε οτιδήποτε εσείς θέλετε, αλλά θα επηρεάσει όλα τα παρακάτω παραδείγματα. ==== [[jails-service-jails-template]] ==== Δημιουργώντας το Template Η ενότητα αυτή θα περιγράψει τα βήματα που χρειάζονται προκειμένου να δημιουργήσετε το πρωταρχικό template το οποίο θα περιέχει το τμήμα των jails που είναι μόνο για ανάγνωση. Είναι πάντοτε καλή ιδέα να αναβαθμίζετε το FreeBSD στη τελευταία έκδοση -RELEASE. Για το σκοπό αυτό, διαβάστε το αντίστοιχο crossref:cutting-edge[makeworld,κεφάλαιο] στο Εγχειρίδιο. Στη περίπτωση που η αναβάθμιση δεν είναι εφικτή, θα χρειαστείτε buildworld για να μπορέσετε να συνεχίσετε. Επιπλέον θα χρειαστείτε το πακέτο package:sysutils/cpdup[]. Θα χρησιμοποιήσουμε το βοηθητικό πρόγραμμα man:portsnap[8] για να κατεβάσουμε τη συλλογή των Ports. Για τους νεο-εισερχόμενους, συνίσταται η ανάγνωση του crossref:portsnap[portsnap,κεφαλαίου για το Portsnap] στο Εγχειρίδιο του FreeBSD. [.procedure] . Αρχικά, δημιουργήστε μια δομή καταλόγων για το σύστημα αρχείων το οποίο θα είναι μόνο για ανάγνωση, και το οποίο θα περιέχει τα εκτελέσιμα (binaries) του FreeBSD για τα jails. Στη συνέχεια πηγαίνετε στον κατάλογο όπου βρίσκονται τα αρχεία πηγαίου κώδικα (source tree) του FreeBSD και εγκαταστήστε τα αντίστοιχα αρχεία στο jail template: + [source,shell] .... # mkdir /home/j /home/j/mroot # cd /usr/src # make installworld DESTDIR=/home/j/mroot .... . Επόμενο βήμα είναι να προετοιμάσετε τη συλλογή των Ports του FreeBSD για τα jails όπως επίσης και ένα FreeBSD source tree, το οποίο θα χρειαστεί για το mergemaster: + [source,shell] .... # cd /home/j/mroot # mkdir usr/ports # portsnap -p /home/j/mroot/usr/ports fetch extract # cpdup /usr/src /home/j/mroot/usr/src .... . Δημιουργήστε το σκελετό για το τμήμα του συστήματος όπου προορίζεται για ανάγνωση και εγγραφή: + [source,shell] .... # mkdir /home/j/skel /home/j/skel/home /home/j/skel/usr-X11R6 /home/j/skel/distfiles # mv etc /home/j/skel # mv usr/local /home/j/skel/usr-local # mv tmp /home/j/skel # mv var /home/j/skel # mv root /home/j/skel .... . Χρησιμοποιήστε το mergemaster για να εγκαταστήσετε τα αρχεία ρυθμίσεων που λείπουν. Στη συνέχεια διαγράψτε όλους τους έξτρα καταλόγους που δημιουργεί το mergemaster: + [source,shell] .... # mergemaster -t /home/j/skel/var/tmp/temproot -D /home/j/skel -i # cd /home/j/skel # rm -R bin boot lib libexec mnt proc rescue sbin sys usr dev .... . Τώρα, δημιουργήστε συνδέσμους από το σύστημα αρχείων στο οποίο επιτρέπεται η εγγραφή, προς το σύστημα αρχείων που είναι μόνο για ανάγνωση. Βεβαιωθείτε ότι οι σύνδεσμοι έχουν δημιουργηθεί στις σωστές θέσεις [.filename]#s/#. Η ύπαρξη πραγματικών καταλόγων ή η δημιουργία καταλόγων σε λάθος θέσεις θα οδηγήσουν την εγκατάσταση σε αποτυχία. + [source,shell] .... # cd /home/j/mroot # mkdir s # ln -s s/etc etc # ln -s s/home home # ln -s s/root root # ln -s ../s/usr-local usr/local # ln -s ../s/usr-X11R6 usr/X11R6 # ln -s ../../s/distfiles usr/ports/distfiles # ln -s s/tmp tmp # ln -s s/var var .... . Σαν τελευταίο βήμα, δημιουργήστε ένα γενικό αρχείο [.filename]#/home/j/skel/etc/make.conf# με τα παρακάτω δεδομένα: + [.programlisting] .... WRKDIRPREFIX?= /s/portbuild .... + Έχοντας ορίσει το `WRKDIRPREFIX` με αυτόν τον τρόπο, θα μπορείτε να μεταγλωττίσετε ports του FreeBSD μέσα σε κάθε jail. Θυμηθείτε ότι ο κατάλογος των ports είναι μέρος του συστήματος αρχείων που έχει προσαρτηθεί μόνο για ανάγνωση. Η προσαρμοσμένη διαδρομή για το `WRKDIRPREFIX` επιτρέπει την μεταγλώττιση των ports στο εγγράψιμο μέρος του κάθε jail. [[jails-service-jails-creating]] ==== Δημιουργώντας Jails Τώρα που έχουμε ένα ολοκληρωμένο FreeBSD jail template, μπορούμε να εγκαταστήσουμε και να ρυθμίσουμε τα jails στο [.filename]#/etc/rc.conf#. Το παράδειγμα αυτό δείχνει τη δημιουργία τριών jails: "NS", "MAIL" και "WWW". [.procedure] . Εισάγετε τις παρακάτω γραμμές στο αρχείο [.filename]#/etc/fstab#, ώστε το μόνο για ανάγνωση template για τα jails και ο εγγράψιμος χώρος να είναι διαθέσιμα στα αντίστοιχα jails: + [.programlisting] .... /home/j/mroot /home/j/ns nullfs ro 0 0 /home/j/mroot /home/j/mail nullfs ro 0 0 /home/j/mroot /home/j/www nullfs ro 0 0 /home/js/ns /home/j/ns/s nullfs rw 0 0 /home/js/mail /home/j/mail/s nullfs rw 0 0 /home/js/www /home/j/www/s nullfs rw 0 0 .... + [NOTE] ==== Οι κατατμήσεις που είναι σημειωμένες με 0 pass number δεν ελέγχονται κατά την εκκίνηση από το man:fsck[8], ενώ για τις κατατμήσεις με 0 dump number, η man:dump[8] δεν θα δημιουργεί αντίγραφα ασφαλείας. Προφανώς, δεν θέλουμε το fsck να ελέγχει τις προσαρτήσεις τύπου nullfs, ούτε και το dump να κρατά αντίγραφα από τα μόνο για ανάγνωση nullfs συστήματα αρχείων των jails. Αυτός είναι και ο λόγος που βάλαμε "0 0" στις δύο τελευταίες στήλες κάθε εγγραφής του [.filename]#fstab#. ==== . Ρυθμίστε τα jails στο [.filename]#/etc/rc.conf#: + [.programlisting] .... jail_enable="YES" jail_set_hostname_allow="NO" jail_list="ns mail www" jail_ns_hostname="ns.example.org" jail_ns_ip="192.168.3.17" jail_ns_rootdir="/home/j/ns" jail_ns_devfs_enable="YES" jail_mail_hostname="mail.example.org" jail_mail_ip="192.168.3.18" jail_mail_rootdir="/home/j/mail" jail_mail_devfs_enable="YES" jail_www_hostname="www.example.org" jail_www_ip="62.123.43.14" jail_www_rootdir="/home/j/www" jail_www_devfs_enable="YES" .... + [WARNING] ==== Ο λόγος για τον οποίο θέτουμε τη μεταβλητή `jail__name__rootdir` να δείχνει στο [.filename]#/usr/home# αντί για το [.filename]#/home# είναι ότι η φυσική διαδρομή για τον κατάλογο [.filename]#/home# σε μια τυπική εγκατάσταση του FreeBSD είναι το [.filename]#/usr/home#. Η μεταβλητή `jail__name__rootdir` _δεν_ δεν πρέπει να δείχνει προς διαδρομή που περιλαμβάνει συμβολικό δεσμό, διαφορετικά τα jails θα αρνηθούν να ξεκινήσουν. Χρησιμοποιήστε το βοηθητικό πρόγραμμα man:realpath[1] για να προσδιορίσετε την τιμή που θα πρέπει να λάβει αυτή η μεταβλητή. Δείτε το FreeBSD-SA-07:01.jail Security Advisory για περισσότερες πληροφορίες. ==== . Δημιουργήστε τα απαραίτητα σημεία προσαρτήσεων για το σύστημα αρχείων μόνο ανάγνωσης του κάθε jail: + [source,shell] .... # mkdir /home/j/ns /home/j/mail /home/j/www .... . Εγκαταστήστε το εγγράψιμο template μέσα στο κάθε jail. Προσέξτε εδώ τη χρήση του package:sysutils/cpdup[], το οποίο επιβεβαιώνει ότι δημιουργείται το σωστό αντίγραφο του κάθε καταλόγου: + [source,shell] .... # mkdir /home/js # cpdup /home/j/skel /home/js/ns # cpdup /home/j/skel /home/js/mail # cpdup /home/j/skel /home/js/www .... . Σε αυτή τη φάση, τα jails έχουν δημιουργηθεί και είναι έτοιμα να ξεκινήσουν. Προσαρτήστε το σωστό σύστημα αρχείων για το κάθε jail, και στη συνέχεια εκκινήστε τα, χρησιμοποιώντας το script [.filename]#/etc/rc.d/jail#: + [source,shell] .... # mount -a # /etc/rc.d/jail start .... Τα jails θα πρέπει τώρα να εκτελούνται κανονικά. Γα να ελέγξετε αν έχουν ξεκινήσει σωστά, χρησιμοποιείστε την εντολή man:jls[8]. Θα πρέπει να δείτε κάτι αντίστοιχο με το παρακάτω: [source,shell] .... # jls JID IP Address Hostname Path 3 192.168.3.17 ns.example.org /home/j/ns 2 192.168.3.18 mail.example.org /home/j/mail 1 62.123.43.14 www.example.org /home/j/www .... Σε αυτό το σημείο, θα πρέπει να μπορείτε να συνδεθείτε σε κάθε jail, να προσθέσετε νέους χρήστες ή να ρυθμίσετε υπηρεσίες. Η στήλη `JID` δηλώνει το χαρακτηριστικό αναγνωριστικό αριθμό κάθε ενεργού jail. Χρησιμοποιήστε την παρακάτω εντολή προκειμένου να εκτελέσετε εργασίες διαχείρισης του jail, με `JID` 3: [source,shell] .... # jexec 3 tcsh .... [[jails-service-jails-upgrading]] ==== Αναβάθμιση Κάποια στιγμή, θα χρειαστεί να αναβαθμίσετε το σύστημά σας σε μια νέα έκδοση του FreeBSD, είτε για λόγους ασφάλειας, είτε γιατί υπάρχουν νέες δυνατότητες στην νεώτερη έκδοση οι οποίες είναι χρήσιμες για τα jails που ήδη έχετε. Ο τρόπος που χρησιμοποιήσαμε για την δημιουργία των jails, επιτρέπει την εύκολη αναβάθμιση τους. Επιπλέον, ελαχιστοποιεί το χρόνο διακοπής της λειτουργίας τους, μια και θα χρειαστεί να τα σταματήσετε μόνο κατά τα λίγα τελευταία λεπτά. Επίσης, παρέχει έναν τρόπο να επιστρέψετε σε παλαιότερες εκδόσεις εάν προκύψουν οποιαδήποτε σφάλματα. [.procedure] . Το πρώτο βήμα είναι να αναβαθμίσετε το σύστημα στο οποίο φιλοξενούνται τα jails, με το συνήθη τρόπο. Στη συνέχεια δημιουργήστε ένα νέο προσωρινό template κατάλογο, μόνο για ανάγνωση, στο [.filename]#/home/j/mroot2#. + [source,shell] .... # mkdir /home/j/mroot2 # cd /usr/src # make installworld DESTDIR=/home/j/mroot2 # cd /home/j/mroot2 # cpdup /usr/src usr/src # mkdir s .... + Το `installworld` δημιουργεί μερικούς καταλόγους που δε χρειάζονται, και θα πρέπει να διαγραφούν: + [source,shell] .... # chflags -R 0 var # rm -R etc var root usr/local tmp .... . Δημιουργήστε ξανά τους συνδέσμους για το σύστημα αρχείων ανάγνωσης - εγγραφής: + [source,shell] .... # ln -s s/etc etc # ln -s s/root root # ln -s s/home home # ln -s ../s/usr-local usr/local # ln -s ../s/usr-X11R6 usr/X11R6 # ln -s s/tmp tmp # ln -s s/var var .... . Τώρα είναι η σωστή στιγμή για να σταματήσετε τα jails: + [source,shell] .... # /etc/rc.d/jail stop .... . Αποπροσαρτήστε τα αρχικά συστήματα αρχείων: + [source,shell] .... # umount /home/j/ns/s # umount /home/j/ns # umount /home/j/mail/s # umount /home/j/mail # umount /home/j/www/s # umount /home/j/www .... + [NOTE] ==== Τα συστήματα αρχείων ανάγνωσης - εγγραφής είναι προσαρτημένα στο σύστημα αρχείων μόνο ανάγνωσης ([.filename]#/s#) και πρέπει να είναι τα πρώτα που θα αποπροσαρτηθούν. ==== . Μετακινήστε τον παλιό μόνο για ανάγνωση κατάλογο, και αντικαταστήστε τον με τον καινούργιο. Ο παλιός θα παραμείνει ως αντίγραφο ασφαλείας του παλιού συστήματος σε περίπτωση προβλήματος. Ο τρόπος ονομασίας που ακολουθήσαμε εδώ αντιστοιχεί στη χρονική στιγμή δημιουργίας του νέου συστήματος αρχείων μόνο ανάγνωσης. Μετακινήστε την αρχική συλλογή των Ports του FreeBSD στο νέο σύστημα, αρχείων προκειμένου να εξοικονομήσετε χώρο και inodes: + [source,shell] .... # cd /home/j # mv mroot mroot.20060601 # mv mroot2 mroot # mv mroot.20060601/usr/ports mroot/usr .... . Σε αυτό το σημείο το μόνο για ανάγνωση template είναι έτοιμο, οπότε το μόνο που απομένει είναι να προσαρτήσετε ξανά τα συστήματα αρχείων και να ξεκινήσετε τα jails: + [source,shell] .... # mount -a # /etc/rc.d/jail start .... Χρησιμοποιείτε την εντολή man:jls[8] για να ελέγξετε εάν τα jails ξεκίνησαν σωστά. Μην ξεχάσετε να εκτελέσετε το mergemaster για το κάθε jail. Θα χρειαστεί να αναβαθμίσετε τόσο τα αρχεία ρυθμίσεων, όσο και τα rc.d scripts. diff --git a/documentation/content/el/books/handbook/mirrors/_index.adoc b/documentation/content/el/books/handbook/mirrors/_index.adoc index 707cd043e9..4342511289 100644 --- a/documentation/content/el/books/handbook/mirrors/_index.adoc +++ b/documentation/content/el/books/handbook/mirrors/_index.adoc @@ -1,1647 +1,1647 @@ --- title: Παράρτημα A. Που θα Βρείτε το FreeBSD part: Μέρος V. Παραρτήματα prev: books/handbook/partv next: books/handbook/bibliography --- [appendix] [[mirrors]] = Που θα Βρείτε το FreeBSD :doctype: book :icons: font :sectnums: :sectnumlevels: 6 :source-highlighter: rouge :experimental: :skip-front-matter: :toc-title: Πίνακας Περιεχομένων :table-caption: Πίνακας :figure-caption: Σχήμα :example-caption: Παράδειγμα :xrefstyle: basic :relfileprefix: ../ :outfilesuffix: :sectnumoffset: A include::shared/mirrors.adoc[] include::shared/authors.adoc[] include::shared/releases.adoc[] include::shared/el/mailing-lists.adoc[] include::shared/el/teams.adoc[] include::shared/el/urls.adoc[] [[mirrors-cdrom]] == Εκδόσεις σε CDROM και DVD === Retail Εκδόσεις Το FreeBSD είναι διαθέσιμο ως εμπορικό προϊόν (FreeBSD CD, επιπρόσθετο λογισμικό, και τυπωμένη τεκμηρίωση) από διάφορους προμηθευτές: * Frys Electronics + WWW: http://www.frys.com/ === CD και DVD διανομές Το FreeBSD είναι διαθέσιμο σε CD και DVD για αγορά μέσω διαδικτύου από τους παρακάτω προμηθευτές: * FreeBSD Mall, Inc. + 700 Harvest Park Ste F + Brentwood, CA 94513 + USA + Τηλέφωνο: +1 925 674-0783 + Fax: +1 925 674-0821 + Email: + WWW: http://www.freebsdmall.com/ * Dr. Hinner EDV + St. Augustinus-Str. 10 + D-81825 M"unchen + Germany + Τηλέφωνο: (089) 428 419 + WWW: http://www.hinner.de/linux/freebsd.html * JMC Software + Ireland + Τηλέφωνο: 353 1 6291282 + WWW: http://www.thelinuxmall.com * Linux Distro UK + 42 Wharfedale Road + Margate + CT9 2TB + United Kingdom + WWW: https://linux-distro.co.uk/ * The Linux Emporium + Hilliard House, Lester Way + Wallingford + OX10 9TA + United Kingdom + Τηλέφωνο: +44 1491 837010 + Fax: +44 1491 837016 + WWW: http://www.linuxemporium.co.uk/products/bsd/ * Linux+ DVD Magazine + Lewartowskiego 6 + Warsaw + 00-190 + Poland + Τηλέφωνο: +48 22 860 18 18 + Email: + WWW: http://www.lpmagazine.org/ * Linux System Labs Australia + 21 Ray Drive + Balwyn North + VIC - 3104 + Australia + Τηλέφωνο: +61 3 9857 5918 + Fax: +61 3 9857 8974 + WWW: http://www.lsl.com.au * LinuxCenter.Ru + Galernaya Street, 55 + Saint-Petersburg + 190000 + Russia + Τηλέφωνο: +7-812-3125208 + Email: + WWW: http://linuxcenter.ru/shop/freebsd === Διανομείς Αν είστε μεταπωλητής και μπορείτε να διανείμετε σε CD-ROM προϊόντα βασισμένα στο FreeBSD, παρακαλούμε επικοινωνήστε με κάποιον από τους διανομείς: * Ingram Micro + 1600 E. St. Andrew Place + Santa Ana, CA 92705-4926 + USA + Τηλέφωνο: 1 (800) 456-8000 + WWW: http://www.ingrammicro.com/ * Kudzu, LLC + 7375 Washington Ave. S. + Edina, MN 55439 + USA + Τηλέφωνο: +1 952 947-0822 + Fax: +1 952 947-0876 + Email: * LinuxCenter.Ru + Galernaya Street, 55 + Saint-Petersburg + 190000 + Russia + Τηλέφωνο: +7-812-3125208 + Email: + WWW: http://linuxcenter.ru/freebsd [[mirrors-ftp]] == Εξυπηρετητές FTP Οι επίσημες εκδόσεις του FreeBSD είναι διαθέσιμες μέσω ανώνυμης FTP σύνδεσης από διάφορους εξυπηρετητές FTP σε όλο τον κόσμο. Ο κεντρικός εξυπηρετητής link:ftp://ftp.FreeBSD.org/pub/FreeBSD/[ftp://ftp.FreeBSD.org/pub/FreeBSD/] έχει πολύ καλή σύνδεση με τον υπόλοιπο κόσμο, και επιτρέπει ένα μεγάλο αριθμό ταυτόχρονων συνδέσεων. Ακόμα κι έτσι όμως, είναι μάλλον καλή ιδέα να βρείτε κάποιο εξυπηρετητή FTP που είναι πιο "κοντά" σας (ειδικά αν θέλετε να στήσετε κάποιο τοπικό mirror site). Το FreeBSD είναι επίσης διαθέσιμο μέσω σύνδεσης ανώνυμου FTP από τα παρακάτω mirror sites. Αν επιλέξετε να κατεβάσετε το FreeBSD μέσω ανώνυμου FTP, σας παρακαλούμε να διαλέξετε κάποιο εξυπηρετητή ο οποίος είναι κοντά σας. Τα mirror sites που αναφέρονται ως "Κύρια Mirror Sites" έχουν συνήθως την πλήρη συλλογή αρχείων του FreeBSD (όλες τις διαθέσιμες εκδόσεις, για κάθε διαθέσιμη αρχιτεκτονική συστήματος), αλλά είναι πιθανόν να πετύχετε καλύτερες ταχύτητες εξυπηρέτησης με κάποιο εξυπηρετητή που είναι στη δική σας χώρα ή περιοχή. Τα τοπικά sites έχουν συνήθως τις πιο πρόσφατες εκδόσεις για τις πιο δημοφιλείς αρχιτεκτονικές συστήματος, οπότε μπορεί να μην έχουν όλες τις πιθανές εκδόσεις του FreeBSD. Όλα τα sites δέχονται συνδέσεις μέσω ανώνυμου FTP. Μερικά από αυτά μπορεί να υποστηρίζουν και άλλης μορφής συνδέσεις. Οι εναλλακτικές μορφές σύνδεσης αναφέρονται ξεχωριστά για κάθε site παρακάτω: <>, <>, <>, <>, <>, <>, <>, <>, <>, <>, <>, <>, <>, <>, <>, <>, <>, <>, <>, <>, <>, <>, <>, <>, <>, <>, <>, <>, <>, <>, <>, <>, <>, <>. (as of UTC) [[central]] *{central}* {central-ftp} (ftp / ftpv6 / {central-http} / {central-httpv6}) [[primary]] *{mirrors-primary}* In case of problems, please contact the hostmaster `<{mirrors-primary-email}>` for this domain. * {mirrors-primary-ftp1} (ftp) * {mirrors-primary-ftp2} (ftp) * {mirrors-primary-ftp3} (ftp) * {mirrors-primary-ftp4} (ftp / ftpv6 / {mirrors-primary-ftp4-http} / {mirrors-primary-ftp4-httpv6}) * {mirrors-primary-ftp5} (ftp) * {mirrors-primary-ftp6} (ftp) * {mirrors-primary-ftp7} (ftp) * {mirrors-primary-ftp10} (ftp / ftpv6 / {mirrors-primary-ftp10-http} / {mirrors-primary-ftp10-httpv6}) * {mirrors-primary-ftp11} (ftp) * {mirrors-primary-ftp13} (ftp) * {mirrors-primary-ftp14} (ftp / {mirrors-primary-ftp14-http}) [[armenia]] *{mirrors-armenia}* In case of problems, please contact the hostmaster `<{mirrors-armenia-email}>` for this domain. * {mirrors-armenia-ftp} (ftp / {mirrors-armenia-ftp-http} / rsync) [[australia]] *{mirrors-australia}* In case of problems, please contact the hostmaster `<{mirrors-australia-email}>` for this domain. * {mirrors-australia-ftp} (ftp) * {mirrors-australia-ftp2} (ftp) * {mirrors-australia-ftp3} (ftp) [[austria]] *{mirrors-austria}* In case of problems, please contact the hostmaster `<{mirrors-austria-email}>` for this domain. * {mirrors-austria-ftp} (ftp / ftpv6 / {mirrors-austria-ftp-http} / {mirrors-austria-ftp-httpv6}) [[brazil]] *{mirrors-brazil}* In case of problems, please contact the hostmaster `<{mirrors-brazil-email}>` for this domain. * {mirrors-brazil-ftp2} (ftp / {mirrors-brazil-ftp2-http}) * {mirrors-brazil-ftp3} (ftp / rsync) * {mirrors-brazil-ftp4} (ftp) [[czech-republic]] *{mirrors-czech}* In case of problems, please contact the hostmaster `<{mirrors-czech-email}>` for this domain. * {mirrors-czech-ftp} (ftp / {mirrors-czech-ftpv6} / {mirrors-czech-ftp-http} / {mirrors-czech-ftp-httpv6} / rsync / rsyncv6) * {mirrors-czech-ftp2} (ftp / {mirrors-czech-ftp2-http}) [[denmark]] *{mirrors-denmark}* In case of problems, please contact the hostmaster `<{mirrors-denmark-email}>` for this domain. * {mirrors-denmark-ftp} (ftp / ftpv6 / {mirrors-denmark-ftp-http} / {mirrors-denmark-ftp-httpv6}) [[estonia]] *{mirrors-estonia}* In case of problems, please contact the hostmaster `<{mirrors-estonia-email}>` for this domain. * {mirrors-estonia-ftp} (ftp) [[finland]] *{mirrors-finland}* In case of problems, please contact the hostmaster `<{mirrors-finland-email}>` for this domain. * {mirrors-finland-ftp} (ftp) [[france]] *{mirrors-france}* In case of problems, please contact the hostmaster `<{mirrors-france-email}>` for this domain. * {mirrors-france-ftp} (ftp) * {mirrors-france-ftp1} (ftp / {mirrors-france-ftp1-http} / rsync) * {mirrors-france-ftp3} (ftp) * {mirrors-france-ftp5} (ftp) * {mirrors-france-ftp6} (ftp / rsync) * {mirrors-france-ftp7} (ftp) * {mirrors-france-ftp8} (ftp) [[germany]] *{mirrors-germany}* In case of problems, please contact the hostmaster `<{mirrors-germany-email}>` for this domain. * ftp://ftp.de.FreeBSD.org/pub/FreeBSD/ (ftp) * ftp://ftp1.de.FreeBSD.org/freebsd/ (ftp / http://www1.de.FreeBSD.org/freebsd/ / rsync://rsync3.de.FreeBSD.org/freebsd/) * ftp://ftp2.de.FreeBSD.org/pub/FreeBSD/ (ftp / http://ftp2.de.FreeBSD.org/pub/FreeBSD/ / rsync) * ftp://ftp4.de.FreeBSD.org/FreeBSD/ (ftp / http://ftp4.de.FreeBSD.org/pub/FreeBSD/) * ftp://ftp5.de.FreeBSD.org/pub/FreeBSD/ (ftp) * ftp://ftp7.de.FreeBSD.org/pub/FreeBSD/ (ftp / http://ftp7.de.FreeBSD.org/pub/FreeBSD/) * ftp://ftp8.de.FreeBSD.org/pub/FreeBSD/ (ftp) [[greece]] *{mirrors-greece}* In case of problems, please contact the hostmaster `<{mirrors-greece-email}>` for this domain. * {mirrors-greece-ftp} (ftp) * {mirrors-greece-ftp2} (ftp) [[hong-kong]] *{mirrors-hongkong}* {mirrors-hongkong-ftp} (ftp) [[ireland]] *{mirrors-ireland}* In case of problems, please contact the hostmaster `<{mirrors-ireland-email}>` for this domain. * {mirrors-ireland-ftp} (ftp / rsync) [[japan]] *{mirrors-japan}* In case of problems, please contact the hostmaster `<{mirrors-japan-email}>` for this domain. * {mirrors-japan-ftp} (ftp) * {mirrors-japan-ftp2} (ftp) * {mirrors-japan-ftp3} (ftp) * {mirrors-japan-ftp4} (ftp) * {mirrors-japan-ftp5} (ftp) * {mirrors-japan-ftp6} (ftp) * {mirrors-japan-ftp7} (ftp) * {mirrors-japan-ftp8} (ftp) * {mirrors-japan-ftp9} (ftp) [[korea]] *{mirrors-korea}* In case of problems, please contact the hostmaster `<{mirrors-korea-email}>` for this domain. * {mirrors-korea-ftp} (ftp / rsync) * {mirrors-korea-ftp2} (ftp / {mirrors-korea-ftp2-http}) [[latvia]] *{mirrors-latvia}* In case of problems, please contact the hostmaster `<{mirrors-latvia-email}>` for this domain. * {mirrors-latvia-ftp} (ftp / {mirrors-latvia-ftp-http}) [[lithuania]] *{mirrors-lithuania}* In case of problems, please contact the hostmaster `<{mirrors-lithuania-email}>` for this domain. * {mirrors-lithuania-ftp} (ftp / {mirrors-lithuania-ftp-http}) [[netherlands]] *{mirrors-netherlands}* In case of problems, please contact the hostmaster `<{mirrors-netherlands-email}>` for this domain. * {mirrors-netherlands-ftp} (ftp / {mirrors-netherlands-ftp-http} / rsync) * {mirrors-netherlands-ftp2} (ftp) [[new-zealand]] *{mirrors-new-zealand}* * {mirrors-new-zealand-ftp} (ftp / {mirrors-new-zealand-ftp-http}) [[norway]] *{mirrors-norway}* In case of problems, please contact the hostmaster `<{mirrors-norway-email}>` for this domain. * {mirrors-norway-ftp} (ftp / rsync) [[poland]] *{mirrors-poland}* In case of problems, please contact the hostmaster `<{mirrors-poland-email}>` for this domain. * {mirrors-poland-ftp} (ftp) * ftp2.pl.FreeBSD.org [[russia]] *{mirrors-russia}* In case of problems, please contact the hostmaster `<{mirrors-russia-email}>` for this domain. * {mirrors-russia-ftp} (ftp / {mirrors-russia-ftp-http} / rsync) * {mirrors-russia-ftp2} (ftp / {mirrors-russia-ftp2-http} / rsync) * {mirrors-russia-ftp5} (ftp / {mirrors-russia-ftp5-http} / rsync) * {mirrors-russia-ftp6} (ftp) [[saudi-arabia]] *{mirrors-saudi-arabia}* In case of problems, please contact the hostmaster `<{mirrors-saudi-arabia-email}>` for this domain. * {mirrors-saudi-arabia-ftp} (ftp) [[slovenia]] *{mirrors-slovenia}* In case of problems, please contact the hostmaster `<{mirrors-slovenia-email}>` for this domain. * {mirrors-slovenia-ftp} (ftp) [[south-africa]] *{mirrors-south-africa}* In case of problems, please contact the hostmaster `<{mirrors-south-africa-email}>` for this domain. * {mirrors-south-africa-ftp} (ftp) * {mirrors-south-africa-ftp2} (ftp) * {mirrors-south-africa-ftp4} (ftp) [[spain]] *{mirrors-spain}* In case of problems, please contact the hostmaster `<{mirrors-spain-email}>` for this domain. * {mirrors-spain-ftp} (ftp / {mirrors-spain-ftp-http}) * {mirrors-spain-ftp3} (ftp) [[sweden]] *{mirrors-sweden}* In case of problems, please contact the hostmaster `<{mirrors-sweden-email}>` for this domain. * {mirrors-sweden-ftp} (ftp) * {mirrors-sweden-ftp2} (ftp / {mirrors-sweden-ftp2-rsync}) * {mirrors-sweden-ftp3} (ftp) * {mirrors-sweden-ftp4} (ftp / {mirrors-sweden-ftp4v6} / {mirrors-sweden-ftp4-http} / {mirrors-sweden-ftp4-httpv6} / {mirrors-sweden-ftp4-rsync} / {mirrors-sweden-ftp4-rsyncv6}) * {mirrors-sweden-ftp6} (ftp / {mirrors-sweden-ftp6-http}) [[switzerland]] *{mirrors-switzerland}* In case of problems, please contact the hostmaster `<{mirrors-switzerland-email}>` for this domain. * {mirrors-switzerland-ftp} (ftp / {mirrors-switzerland-ftp-http}) [[taiwan]] *{mirrors-taiwan}* In case of problems, please contact the hostmaster `<{mirrors-taiwan-email}>` for this domain. * {mirrors-taiwan-ftp} (ftp / {mirrors-taiwan-ftpv6} / rsync / rsyncv6) * {mirrors-taiwan-ftp2} (ftp / {mirrors-taiwan-ftp2v6} / {mirrors-taiwan-ftp2-http} / {mirrors-taiwan-ftp2-httpv6} / rsync / rsyncv6) * {mirrors-taiwan-ftp4} (ftp) * {mirrors-taiwan-ftp5} (ftp) * {mirrors-taiwan-ftp6} (ftp / {mirrors-taiwan-ftp6v6} / rsync) * {mirrors-taiwan-ftp7} (ftp) * {mirrors-taiwan-ftp8} (ftp) * {mirrors-taiwan-ftp11} (ftp / {mirrors-taiwan-ftp11-http}) * {mirrors-taiwan-ftp12} (ftp) * {mirrors-taiwan-ftp13} (ftp) * {mirrors-taiwan-ftp14} (ftp) * {mirrors-taiwan-ftp15} (ftp) [[ukraine]] *{mirrors-ukraine}* * {mirrors-ukraine-ftp} (ftp / {mirrors-ukraine-ftp-http}) * {mirrors-ukraine-ftp6} (ftp / {mirrors-ukraine-ftp6-http} / {mirrors-ukraine-ftp6-rsync}) * {mirrors-ukraine-ftp7} (ftp) [[uk]] *{mirrors-uk}* In case of problems, please contact the hostmaster `<{mirrors-uk-email}>` for this domain. * {mirrors-uk-ftp} (ftp) * {mirrors-uk-ftp2} (ftp / {mirrors-uk-ftp2-rsync}) * {mirrors-uk-ftp3} (ftp) * {mirrors-uk-ftp4} (ftp) * {mirrors-uk-ftp5} (ftp) [[usa]] *{mirrors-us}* In case of problems, please contact the hostmaster `<{mirrors-us-email}>` for this domain. * {mirrors-us-ftp} (ftp) * {mirrors-us-ftp2} (ftp) * {mirrors-us-ftp3} (ftp) * {mirrors-us-ftp4} (ftp / ftpv6 / {mirrors-us-ftp4-http} / {mirrors-us-ftp4-httpv6}) * {mirrors-us-ftp5} (ftp) * {mirrors-us-ftp6} (ftp) * {mirrors-us-ftp8} (ftp) * {mirrors-us-ftp10} (ftp) * {mirrors-us-ftp11} (ftp) * {mirrors-us-ftp13} (ftp / {mirrors-us-ftp13-http} / rsync) * {mirrors-us-ftp14} (ftp / {mirrors-us-ftp14-http}) * {mirrors-us-ftp15} (ftp) [[mirrors-bittorrent]] == BitTorrent Μπορείτε να ανακτήσετε τα βασικά αρχεία ISO των εκδόσεων του FreeBSD, μέσω του συστήματος BitTorrent. Στην τοποθεσία http://torrents.freebsd.org:8080/[http://torrents.freebsd.org:8080] υπάρχει μια πλήρης συλλογή από αρχεία torrent που μπορείτε να κατεβάσετε. Για να χρησιμοποιήσετε τα αρχεία torrent, θα χρειαστείτε κατάλληλο λογισμικό-πελάτη, όπως αυτό που παρέχεται από το port ή πακέτο package:net-p2p/py-bittorrent[]. Αφού κατεβάσετε το αρχείο ISO με το BitTorrent, μπορείτε να το γράψετε σε CD ή DVD, όπως περιγράφεται στο crossref:disks[burncd,burncd] (burncd). [[anoncvs]] == Ανώνυμο CVS [[anoncvs-intro]] === Εισαγωγή Η σύνδεση ανώνυμου CVS (ή _anoncvs_ όπως λέγεται μερικές φορές) υποστηρίζεται από τα εργαλεία CVS που διανέμονται με το ίδιο το FreeBSD για συγχρονισμό τοπικών αρχείων με ένα απομακρυσμένο repository. Ένα από τα χαρακτηριστικά του CVS είναι ότι επιτρέπει στους χρήστες του FreeBSD να συγχρονίζουν, χωρίς ιδιαίτερα δικαιώματα χρήστη, τα τοπικά αντίγραφα πηγαίου κώδικα που έχουν με τους κεντρικούς, επίσημους εξυπηρετητές CVS του FreeBSD project. Για να χρησιμοποιήσει κανείς το CVS αρκεί: (α) να ορίσει την τιμή της μεταβλητής περιβάλλοντος `CVSROOT` έτσι ώστε να δείχνει προς έναν από τους επίσημους εξυπηρετητές, και (β) να δώσει τον κωδικό "anoncvs" στην προτροπή της εντολής `cvs login`. Τότε μπορεί να χρησιμοποιήσει το εργαλείο man:cvs[1] για να προσπελάσει το απομακρυσμένο CVS repository του FreeBSD σαν ένα οποιοδήποτε τοπικό repository. [NOTE] ==== Η εντολή `cvs login` αποθηκεύει τους κωδικούς που χρησιμοποιούνται για πιστοποίησης της ταυτότητάς σας στον εξυπηρετητή CVS σε ένα αρχείο με όνομα [.filename]#.cvspass# στον `HOME` κατάλογο του τοπικού σας λογαριασμού. Αν αυτό το αρχείο δεν υπάρχει ήδη, μπορεί να αποτύχει η εντολή `cvs login` την πρώτη φορά. Μπορείτε απλά να δημιουργήσετε ένα άδειο αρχείο [.filename]#.cvspass# και να ξανατρέξετε την εντολή `cvs login`. ==== Μπορεί να πει κανείς ότι το <> και το _anoncvs_ είναι ουσιαστικά παρόμοιοι τρόποι συγχρονισμού αρχείων και υποστηρίζουν την ίδια λειτουργικότητα, αλλά υπάρχουν κάποιες διαφορές οι οποίες μπορεί να παίξουν σημαντικό ρόλο στην επιλογή μεταξύ αυτών των δύο μεθόδων. Γενικά, το CVSup κάνει πολύ πιο αποδοτική χρήση της σύνδεσης που έχετε και χρησιμοποιεί ένα πολύ πιο έξυπνο πρωτόκολλο επικοινωνίας, αλλά υπάρχει και το αντίστοιχο τίμημα. Για να χρησιμοποιήσετε το CVSup πρέπει να εγκαταστήσετε και να ρυθμίσετε ένα ειδικό πρόγραμμα πελάτη, και τότε μπορείτε να συγχρονίσετε μόνο μεγάλες συλλογές αρχείων - τις οποίες το CVSup αποκαλεί "συλλογές" (collections). Το anoncvs, από την άλλη, μπορεί να χρησιμοποιηθεί για να εξετάσει κανείς τις αλλαγές ενός και μόνο αρχείου ή ενός μόνο προγράμματος και των συνοδευτικών του αρχείων (π.χ. τον πηγαίο κώδικα της εντολής `ls` ή της `grep`), με χρήση του ονόματος του κατάλληλου module. Το anoncvs είναι πιο βολικό για εργασίες που απαιτούν βέβαια μόνο ανάγνωση. Οπότε, αν θέλετε να υποστηρίξετε την ανάπτυξη προγραμμάτων τοπικά, το CVSup είναι μάλλον μονόδρομος. [[anoncvs-usage]] === Χρησιμοποιώντας Ανώνυμο CVS Η ρύθμιση του man:cvs[1] ώστε να χρησιμοποιεί ένα ανώνυμο CVS repository γίνεται απλώς ρυθμίζοντας την μεταβλητή περιβάλλοντος `CVSROOT` ώστε να δείχνει σε έναν από τους _anoncvs_ εξυπηρετητές του FreeBSD 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 δεν απαιτεί τη χρήση κωδικού.) + [.programlisting] .... 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" ουσιαστικά οποιαδήποτε έκδοση του πηγαίου κώδικα του FreeBSD υπήρξε ποτέ (και σε ορισμένες περιπτώσεις ακόμα και εκδόσεις που δεν έχουν κυκλοφορήσει ακόμα), θα πρέπει να είστε εξοικειωμένος με την επιλογή του man:cvs[1] με την οποία επιλέγεται το revision (πρόκειται για την `-r`) και ποιες είναι οι επιτρεπτές τιμές της για το repository του FreeBSD project. Υπάρχουν δύο είδη tags (ετικετών), τα revision tags (ετικέτες έκδοσης) και τα branch tags. Ένα revision tag αναφέρεται σε μια συγκεκριμένη έκδοση. Η έννοια του παραμένει σταθερή μέρα με τη μέρα. Από την άλλη, ένα branch tag δείχνει την τελευταία έκδοση μιας συγκεκριμένης πορείας ανάπτυξης, σε κάθε χρονική στιγμή. Καθώς το branch tag δεν αναφέρεται σε κάποια συγκεκριμένη έκδοση, μπορεί αύριο να σημαίνει κάτι διαφορετικό από ότι σημαίνει σήμερα. Το <> περιέχει revision tags τα οποία μπορεί να ενδιαφέρουν τους χρήστες. Υπενθυμίζουμε ότι κανένα από αυτά δεν είναι έγκυρο για την Συλλογή των Ports, καθώς αυτή δεν έχει πολλαπλές εκδόσεις (revisions). Όταν καθορίζετε κάποιο branch tag, φυσιολογικά λαμβάνετε τις τελευταίες εκδόσεις των αρχείων που υπάρχουν σε αυτή τη γραμμή ανάπτυξης. Αν θέλετε να λάβετε κάποια παλιότερη έκδοση, μπορείτε χρησιμοποιώντας την ημερομηνία σε συνδυασμό με την επιλογή `-D date`. Δείτε τη σελίδα manual του man:cvs[1] για περισσότερες λεπτομέρειες. === Παραδείγματα Αν και πραγματικά συνίσταται να διαβάσετε προσεκτικά τη σελίδα manual του man:cvs[1] πριν κάνετε οτιδήποτε, παρακάτω σας δίνουμε κάποια γρήγορα παραδείγματα τα οποία ουσιαστικά θα σας δείξουν πως να χρησιμοποιήσετε το Ανώνυμο CVS: .Λήψη (Check out) Κάποιου Αρχείου από το -CURRENT (man:ls[1]): [example] ==== [source,shell] .... % setenv CVSROOT :pserver:anoncvs@anoncvs.tw.FreeBSD.org:/home/ncvs % cvs login Στην προτροπή, δώστε οποιαδήποτε λέξη για «password». % cvs co ls .... ==== .Χρήση SSH για Λήψη (check out) του Δέντρου [.filename]#src/#: [example] ==== [source,shell] .... % 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: [example] ==== [source,shell] .... % setenv CVSROOT :pserver:anoncvs@anoncvs.tw.FreeBSD.org:/home/ncvs % cvs login Στην προτροπή, δώστε οποιαδήποτε λέξη για «password». % cvs co -rRELENG_8 ls .... ==== .Δημιουργία μιας Λίστας Αλλαγών (ως Unified Diffs) της man:ls[1]: [example] ==== [source,shell] .... % setenv CVSROOT :pserver:anoncvs@anoncvs.tw.FreeBSD.org:/home/ncvs % cvs login Στην προτροπή, δώστε οποιαδήποτε λέξη για «password». % cvs rdiff -u -rRELENG_8_0_0_RELEASE -rRELENG_8_1_0_RELEASE ls .... ==== .Βρίσκοντας Ποια Άλλα Ονόματα Modules μπορούν να Χρησιμοποιηθούν: [example] ==== [source,shell] .... % setenv CVSROOT :pserver:anoncvs@anoncvs.tw.FreeBSD.org:/home/ncvs % cvs login Στην προτροπή, δώστε οποιαδήποτε λέξη για «password». % cvs co modules % more modules/modules .... ==== === Άλλες Πηγές Πληροφοριών Οι παρακάτω πηγές πληροφοριών ίσως σας φανούν χρήσιμες για να μάθετε το CVS: * http://users.csc.calpoly.edu/~gfisher/classes/308/handouts/cvs-basics.html[CVS Tutorial] από το California Polytechnic State University. * http://www.nongnu.org/cvs/[CVS Home], η ομάδα ανάπτυξης και υποστήριξης του CVS. * http://www.FreeBSD.org/cgi/cvsweb.cgi[CVSweb] Διεπαφή Web για το CVS του FreeBSD Project. [[ctm]] == Χρησιμοποιώντας το CTM Το CTM είναι μια μέθοδος να διατηρούμε σε συγχρονισμό ένα απομακρυσμένο κατάλογο με ένα κεντρικό. Αναπτύχθηκε για χρήση με το δέντρο πηγαίου κώδικα του FreeBSD, αν και άλλοι άνθρωποι μπορεί να το βρουν χρήσιμο και για διαφορετικούς σκοπούς καθώς περνάει ο καιρός. Τη δεδομένη στιγμή υπάρχει ελάχιστη ως ανύπαρκτη τεκμηρίωση για την διαδικασία δημιουργίας αρχείων διαφορών (deltas), και αν χρειάζεστε περισσότερες πληροφορίες, επικοινωνήστε με τη λίστα ταχυδρομείου link:{ctm-users-url}[ctm-users-desc] ειδικά αν θέλετε να χρησιμοποιήσετε το CTM για άλλες εφαρμογές. === Γιατί Πρέπει να Χρησιμοποιήσω το CTM; Το CTM θα σας δώσει ένα τοπικό αντίγραφο του δέντρου πηγαίου κώδικα του FreeBSD. Υπάρχει διαθέσιμος ένας αριθμός από "γεύσεις" του δέντρου. Το CTM μπορεί να σας παρέχει τις πληροφορίες που χρειάζεστε, είτε αποφασίσετε να παρακολουθείτε ολόκληρο το δέντρο, είτε κάποιο από τα παρακλάδια του. Αν ανήκετε στα ενεργά μέλη ανάπτυξης του FreeBSD αλλά έχετε κακής ποιότητας (ή καθόλου) TCP/IP συνδεσιμότητα, ή απλά θέλετε οι αλλαγές να σας έρχονται αυτόματα, το CTM έχει φτιαχτεί για σας. Θα χρειαστεί να παίρνετε ως τρία deltas την ημέρα για τα κλαδιά του δέντρου που έχουν την πιο ενεργή ανάπτυξη. Θα πρέπει ωστόσο να θεωρήσετε ως καλύτερη λύση την αυτόματη αποστολή τους μέσω email. Τα μεγέθη των ανανεώσεων κρατούνται πάντα όσο το δυνατόν πιο μικρά. Συνήθως είναι μικρότερα από 5Κ, περιστασιακά (ένα στα δέκα) είναι από 10-50Κ και ορισμένες φορές εμφανίζονται και κάποια που είναι 100Κ ή και μεγαλύτερα. Θα πρέπει επίσης να εξοικειωθείτε με τις διάφορες παγίδες που σχετίζονται με την απευθείας εργασία στον υπό ανάπτυξη πηγαίο κώδικα σε σχέση με μια έτοιμη, προκατασκευασμένη έκδοση. Αυτό ισχύει ακόμα περισσότερο αν επιλέξετε να χρησιμοποιήσετε τον πηγαίο κώδικα από το "current". Σας συνιστούμε να διαβάσετε πως να crossref:cutting-edge[current,χρησιμοποιήσετε το current στο FreeBSD]. === Τι Χρειάζομαι για να Χρησιμοποιήσω το CTM; Θα χρειαστείτε δύο πράγματα: Την εφαρμογή CTM και τις αρχικές αλλαγές (deltas) για να τις εισάγετε σε αυτήν (ώστε να φτάσετε στο επίπεδο του "current"). Το CTM είναι μέρος του FreeBSD από την έκδοση 2.0, και βρίσκεται στον κατάλογο [.filename]#/usr/src/usr.sbin/ctm# εφόσον έχετε εγκατεστημένο τον πηγαίο κώδικα. Τα "deltas" με τα οποία τροφοδοτείτε το CTM μπορείτε να τα αποκτήσετε με δύο τρόπους, μέσω FTP ή μέσω email. Αν έχετε γενική FTP πρόσβαση στο Internet, θα βρείτε υποστήριξη για το CTM στις ακόλουθες τοποθεσίες FTP: link:ftp://ftp.FreeBSD.org/pub/FreeBSD/CTM/[ftp://ftp.FreeBSD.org/pub/FreeBSD/CTM/] ή δείτε το τμήμα <>. Κάντε FTP στο σχετικό κατάλογο και διαβάστε το αρχείο [.filename]#README# για να ξεκινήσετε. Αν θέλετε να λαμβάνετε τα deltas μέσω email: -Γραφτείτε συνδρομητής σε μια από τις λίστες διανομής του CTM. Η λίστα link:{ctm-cvs-cur-url}[ctm-cvs-cur-desc] υποστηρίζει ολόκληρο το δέντρο του CVS. Η λίστα link:{ctm-src-cur-url}[ctm-src-cur-desc] υποστηρίζει την κεφαλή (head) του κλάδου ανάπτυξης (development branch). Η λίστα link:{ctm-src-7-url}[ctm-src-7-desc] υποστηρίζει την έκδοση 7.X κ.ο.κ. Αν δεν γνωρίζετε πως να εγγραφείτε σε μια λίστα, κάντε κλικ στο όνομα της λίστας που εμφανίζεται παραπάνω ή πηγαίνετε στο {mailman-lists-url} και κάντε κλικ στη λίστα που θέλετε να εγγραφείτε. Η σελίδα της λίστας θα πρέπει να περιέχει όλες τις απαραίτητες πληροφορίες σχετικά με τις συνδρομές. +Γραφτείτε συνδρομητής σε μια από τις λίστες διανομής του CTM. Η λίστα link:{ctm-cvs-cur-url}[ctm-cvs-cur-desc] υποστηρίζει ολόκληρο το δέντρο του CVS. Η λίστα link:{ctm-src-cur-url}[ctm-src-cur-desc] υποστηρίζει την κεφαλή (head) του κλάδου ανάπτυξης (development branch). Η λίστα link:{ctm-src-7-url}[ctm-src-7-desc] υποστηρίζει την έκδοση 7.X κ.ο.κ. Αν δεν γνωρίζετε πως να εγγραφείτε σε μια λίστα, κάντε κλικ στο όνομα της λίστας που εμφανίζεται παραπάνω ή πηγαίνετε στο {mailing-lists-url} και κάντε κλικ στη λίστα που θέλετε να εγγραφείτε. Η σελίδα της λίστας θα πρέπει να περιέχει όλες τις απαραίτητες πληροφορίες σχετικά με τις συνδρομές. Όταν αρχίσετε να λαμβάνετε ανανεώσεις CTM μέσω mail, μπορείτε να χρησιμοποιήσετε το πρόγραμμα `ctm_rmail` για να τις αποσυμπιέσετε και να τις εφαρμόσετε. Μπορείτε στην πραγματικότητα να χρησιμοποιήσετε το πρόγραμμα `ctm_rmail` απευθείας μέσω μιας εγγραφής στο [.filename]#/etc/aliases# αν θέλετε η διαδικασία να εκτελείται αυτοματοποιημένα. Δείτε τη σελίδα manual του `ctm_rmail` για περισσότερες λεπτομέρειες. [NOTE] ==== Άσχετα με τη μέθοδο που θα χρησιμοποιήσετε για να λάβετε τα deltas του CTM θα πρέπει να εγγραφείτε στη λίστα link:{ctm-announce-url}[ctm-announce-desc]. Στο μέλλον, αυτό θα είναι και το μόνο μέρος στο οποίο θα δημοσιεύονται πληροφορίες σχετικά με τις λειτουργίες του συστήματος CTM. Κάντε κλικ στο όνομα της παραπάνω λίστας, και ακολουθείστε τις οδηγίες για να εγγραφείτε. ==== === Χρησιμοποιώντας το CTM για Πρώτη Φορά Πριν αρχίσετε να χρησιμοποιείτε CTM deltas, θα πρέπει να έχετε ένα σημείο εκκίνησης για τα delta που έχουν δημιουργηθεί μετά από αυτό. Θα πρέπει πρώτα να καθορίσετε τι έχετε ήδη. Οποιοσδήποτε μπορεί να αρχίσει από ένα "άδειο" κατάλογο. Θα πρέπει να ξεκινήσετε με ένα αρχικό "Κενό" delta για να αρχίσετε με το CTM δέντρο σας. Από κάποιο σημείο θεωρούμε ότι ένα από αυτά τα "αρχικά" deltas θα διανέμονται σε CD για τη δική σας διευκόλυνση, ωστόσο αυτό δεν συμβαίνει τη δεδομένη στιγμή. Καθώς τα δέντρα είναι αρκετές δεκάδες megabytes, είναι προτιμότερο να ξεκινήσετε από κάτι που έχετε ήδη. Αν έχετε CD κάποιας διανομής (RELEASE), μπορείτε να αντιγράψετε ή να αποσυμπιέσετε από εκεί τον αρχικό πηγαίο κώδικα. Έτσι θα γλυτώσετε σημαντικό μέρος της μεταφοράς δεδομένων. Μπορείτε να αναγνωρίσετε αυτά τα "αρχικά" deltas από το `X` που ακολουθεί τον αριθμό τους (για παράδειγμα [.filename]#src-cur.3210XEmpty.gz#). Ο χαρακτηρισμός μετά το `X` αντιστοιχεί στην πηγή του αρχικού σας "seed". Το [.filename]#Empty# είναι ένας άδειος κατάλογος. Κατά κανόνα δημιουργείται μια μετάβαση από το `Empty` κάθε 100 deltas. Επίσης τα αρχεία αυτά είναι μεγάλα! Συνηθισμένο μέγεθος για [.filename]#XEmpty# deltas είναι τα 70 ως 80 MB συμπιεσμένων με `gzip` δεδομένων. Μόλις επιλέξετε ένα βασικό delta για να ξεκινήσετε, θα χρειαστείτε επίσης όλα τα deltas με μεγαλύτερους από αυτό αριθμούς. === Χρησιμοποιώντας το CTM στην Καθημερινή σας Ζωή Για να εφαρμόσετε τα deltas, απλώς γράψτε: [source,shell] .... # cd /where/ever/you/want/the/stuff # ctm -v -v /where/you/store/your/deltas/src-xxx.* .... Το CTM αντιλαμβάνεται deltas τα οποία έχουν συμπιεστεί μέσω `gzip`, και έτσι δεν χρειάζεται να χρησιμοποιήσετε την `gunzip`, γλυτώνοντας με αυτό τον τρόπο χώρο στο δίσκο. Το CTM δεν πρόκειται να πειράξει τα αρχεία σας αν δεν είναι απόλυτα σίγουρο για τη διαδικασία ανανέωσης. Για να επαληθεύσετε ένα delta μπορείτε επίσης να χρησιμοποιήσετε την επιλογή `-c` και το CTM δεν θα πειράξει τίποτα, απλώς θα επαληθεύσει την ακεραιότητα του delta και θα δει αν μπορεί να το εφαρμόσει χωρίς προβλήματα στο τρέχον δέντρο. Υπάρχουν και άλλες επιλογές στο CTM, δείτε τις αντίστοιχες σελίδες manual ή κοιτάξτε τον πηγαίο κώδικα για περισσότερες πληροφορίες. Αυτό είναι όλο στην πραγματικότητα. Κάθε φορά που λαμβάνετε ένα νέο delta, απλώς περάστε το στο CTM ώστε να έχετε πάντοτε ανανεωμένο τον πηγαίο σας κώδικα. Μην σβήνετε τα deltas αν είναι δύσκολο να τα κατεβάσετε ξανά. Ίσως θέλετε να τα φυλάξετε για την περίπτωση που κάτι πάει στραβά. Ακόμα και αν το μόνο μέσο που έχετε είναι δισκέτες, κάντε αντίγραφο χρησιμοποιώντας την `fdwrite`. === Κρατώντας τις Τοπικές σας Αλλαγές Ως προγραμματιστής, θα θέλετε να πειραματιστείτε και να αλλάξετε αρχεία στο δέντρο του πηγαίου κώδικα. Το CTM υποστηρίζει περιορισμένου τύπου τοπικές αλλαγές: πριν ελέγξει για την παρουσία ενός αρχείου [.filename]#foo#, ελέγχει πρώτα για το [.filename]#foo.ctm#. Αν το αρχείο αυτό υπάρχει, το CTM θα χρησιμοποιήσει αυτό αντί για το [.filename]#foo#. Η συμπεριφορά αυτή μας παρέχει ένα απλό τρόπο να διατηρήσουμε τοπικές αλλαγές: απλώς αντιγράψτε τα αρχεία που σκοπεύετε να αλλάξετε σε αντίστοιχα αρχεία με κατάληξη [.filename]#.ctm#. Μπορείτε κατόπιν να κάνετε ότι αλλαγές θέλετε στον κώδικα ενώ το CTM θα διατηρεί ανανεωμένο το αρχείο [.filename]#.ctm#. === Άλλες Ενδιαφέρουσες Επιλογές του CTM ==== Βρίσκοντας τι Ακριβώς θα Αλλάξει σε μια Ανανέωση Μπορείτε να προσδιορίσετε τις αλλαγές που θα προκαλέσει το CTM στο repository του πηγαίου σας κώδικα, χρησιμοποιώντας την επιλογή `-l`. Αυτό θα είναι χρήσιμο αν θέλετε να κρατήσετε ημερολόγιο των αλλαγών, αν θέλετε να επεξεργαστείτε τα τροποποιημένα αρχεία πριν ή μετά την τροποποίηση τους, ή αν απλώς αισθάνεστε ελαφρώς παρανοϊκός. ==== Δημιουργώντας Αντίγραφα Ασφαλείας πριν την Ανανέωση Μερικές φορές θα θέλετε να κρατήσετε αντίγραφο ασφαλείας όλων των αρχείων που πρόκειται να αλλαχθούν από μια ανανέωση μέσω CTM. Δίνοντας την επιλογή `-B backup-file` το CTM θα δημιουργήσει αντίγραφο ασφαλείας όλων των αρχείων που πρόκειται να αλλαχθούν από κάποιο συγκεκριμένο delta στο αρχείο [.filename]#backup-file#. ==== Περιορίζοντας τα Αρχεία που θα Αλλαχθούν από Κάποια Ανανέωση Μερικές φορές ίσως να ενδιαφέρεστε να περιορίσετε την περιοχή δράσης μιας συγκεκριμένης ανανέωσης μέσω CTM ή ίσως σας ενδιαφέρει να πάρετε μόνο λίγα αρχεία από κάποια σειρά από deltas. Μπορείτε να ελέγξετε τη λίστα των αρχείων στα οποία θα λειτουργήσει το CTM χρησιμοποιώντας ως φίλτρα, regular expressions με τις επιλογές `-e` και `-x`. Για παράδειγμα, για να εξάγετε ένα ανανεωμένο αντίγραφο του αρχείου [.filename]#lib/libc/Makefile# από την συλλογή σας των αποθηκευμένων CTM deltas, εκτελέστε τις εντολές: [source,shell] .... # cd /where/ever/you/want/to/extract/it/ # ctm -e '^lib/libc/Makefile' ~ctm/src-xxx.* .... Για κάθε αρχείο που καθορίζεται σε ένα CTM delta, οι επιλογές `-e` και `-x` εφαρμόζονται με τη σειρά που εμφανίζονται στη γραμμή εντολών. Στο αρχείο γίνεται επεξεργασία από το CTM, μόνο αν μαρκαριστεί ως έγκυρο προς ανανέωση μετά την εφαρμογή όλων των επιλογών `-e` και `-x`. === Μελλοντικά Σχέδια για το CTM Είναι πάρα πολλά: * Χρήση κάποιου είδους πιστοποίησης στο σύστημα CTM ώστε να αναγνωρίζονται τυχόν ψεύτικες ανανεώσεις. * Ξεκαθάρισμα των επιλογών του CTM, καθώς προκαλούν σύγχυση και δεν είναι προφανείς. === Διάφορα Υπάρχει επίσης και μια σειρά από deltas για την συλλογή των `ports`, αλλά δεν έχει εκδηλωθεί ακόμα αρκετό ενδιαφέρον για αυτή. [[mirrors-ctm]] === CTM Mirrors Το <>/FreeBSD διατίθεται μέσω ανώνυμου FTP από τα ακόλουθα mirrors. Αν επιλέξετε να κατεβάσετε το CTM μέσω ανώνυμου FTP, σας παρακαλούμε προσπαθήστε να επιλέξετε μια τοποθεσία κοντά σε σας. Σε περίπτωση προβλημάτων, παρακαλούμε επικοινωνήστε με τη λίστα link:{ctm-users-url}[ctm-users-desc]. Καλιφόρνια, Bay Area, επίσημη πηγή:: ** link:ftp://ftp.FreeBSD.org/pub/FreeBSD/development/CTM/[ftp://ftp.FreeBSD.org/pub/FreeBSD/development/CTM/] Νότια Αφρική, αντίγραφα ασφαλείας για παλιά deltas:: ** link:ftp://ftp.za.FreeBSD.org/pub/FreeBSD/CTM/[ftp://ftp.za.FreeBSD.org/pub/FreeBSD/CTM/] Ταϊβάν/R.O.C.:: ** link:ftp://ctm.tw.FreeBSD.org/pub/FreeBSD/development/CTM/[ftp://ctm.tw.FreeBSD.org/pub/FreeBSD/development/CTM/] ** link:ftp://ctm2.tw.FreeBSD.org/pub/FreeBSD/development/CTM/[ftp://ctm2.tw.FreeBSD.org/pub/FreeBSD/development/CTM/] ** link:ftp://ctm3.tw.FreeBSD.org/pub/FreeBSD/development/CTM/[ftp://ctm3.tw.FreeBSD.org/pub/FreeBSD/development/CTM/] Αν δεν βρήκατε κάποιο mirror στην περιοχή σας, ή αν το mirror δεν είναι πλήρες, προσπαθήστε να χρησιμοποιήσετε μια μηχανή αναζήτησης όπως η http://www.alltheweb.com/[alltheweb]. [[cvsup]] == Χρησιμοποιώντας το CVSup [[cvsup-intro]] === Εισαγωγή Το CVSup είναι ένα λογισμικό για την διανομή και ανανέωση δέντρων πηγαίου κώδικα από ένα κεντρικό (master) CVS repository το οποίο βρίσκεται σε κάποιο απομακρυσμένο υπολογιστή. Το repository του FreeBSD βρίσκεται σε ένα κεντρικό μηχάνημα στην Καλιφόρνια. Με το CVSup, οι χρήστες του FreeBSD μπορούν εύκολα να διατηρήσουν ανανεωμένα τα αντίγραφα του πηγαίου τους κώδικα. Το CVSup χρησιμοποιεί ένα μοντέλο ανανέωσης γνωστό ως _pull_. Στο μοντέλο αυτό, κάθε πελάτης ζητά τις ανανεώσεις από τον εξυπηρετητή, όταν και αν τις επιθυμεί. Ο εξυπηρετητής περιμένει, παθητικά, τις απαιτήσεις από τους πελάτες. Με τον τρόπο αυτό, κάθε ανανέωση ξεκινάει κατόπιν απαίτησης του πελάτη. Ο εξυπηρετητής ποτέ δεν στέλνει ανανεώσεις που δεν έχουν ζητηθεί. Οι χρήστες θα πρέπει είτε να εκτελέσουν το CVSup χειροκίνητα για να λάβουν μια ανανέωση, είτε θα πρέπει να ρυθμίσουν κατάλληλα το `cron` ώστε να το εκτελεί αυτόματα κατά τακτά χρονικά διαστήματα. Ο όρος CVSup, γραμμένος με κεφαλαία και μικρά όπως φαίνεται, αναφέρεται σε ολόκληρο το πακέτο λογισμικού. Τα βασικά του τμήματα είναι η εντολή πελάτη `cvsup` η οποία εκτελείται στο μηχάνημα του κάθε χρήστη, και το πρόγραμμα του εξυπηρετητή `cvsupd` το οποίο εκτελείται σε κάθε ένα από τα mirror sites του FreeBSD. Καθώς διαβάζετε την τεκμηρίωση και τις λίστες ταχυδρομείου του FreeBSD, μπορεί να βρείτε αναφορές στην εφαρμογή sup. Το sup ήταν ο πρόγονος του CVSup, και εξυπηρετούσε παρόμοιο σκοπό. Το CVSup χρησιμοποιείται με αρκετά όμοιο τρόπο με το sup, και στην πραγματικότητα, χρησιμοποιεί αρχεία ρυθμίσεων τα οποία έχουν πίσω συμβατότητα με αυτά του `sup`. Το sup δεν χρησιμοποιείται πλέον στο FreeBSD Project, επειδή το CVSup είναι ταχύτερο και προσφέρει μεγαλύτερη ευελιξία. [NOTE] ==== Το πρόγραμμα csup είναι το CVSup ξαναγραμμένο σε γλώσσα C. Το μεγαλύτερο του πλεονέκτημα είναι ότι είναι ταχύτερο, και δεν εξαρτάται από την γλώσσα προγραμματισμού Modula-3, την οποία και δεν χρειάζεται πλέον να εγκαταστήσετε. Επίσης μπορείτε να το χρησιμοποιήσετε άμεσα, καθώς περιλαμβάνεται στο βασικό σύστημα. Αν αποφασίσετε να χρησιμοποιήσετε το csup, απλώς παραλείψτε τα βήματα για την εγκατάσταση του CVSup και αντικαταστήστε κάθε αναφορά στο CVSup σε αυτό το άρθρο, με csup. ==== [[cvsup-install]] === Εγκατάσταση Ο ευκολότερος τρόπος για να εγκαταστήσετε το CVSup είναι μέσω του έτοιμου πακέτου package:net/cvsup[] από την crossref:ports[ports,συλλογή πακέτων] του FreeBSD. Αν προτιμάτε να μεταγλωττίσετε το CVSup από τον πηγαίο κώδικα, μπορείτε να χρησιμοποιήσετε το port package:net/cvsup[]. Σας προειδοποιούμε ωστόσο ότι το port package:net/cvsup[] εξαρτάται από την Modula-3, η οποία χρειάζεται αρκετό χρόνο και χώρο στο δίσκο για να κατέβει και να μεταγλωττιστεί. [NOTE] ==== Αν πρόκειται να χρησιμοποιήσετε το CVSup σε ένα μηχάνημα το οποίο δεν θα διαθέτει γραφικό περιβάλλον μέσω του Xorg, όπως π.χ. σε ένα εξυπηρετητή, βεβαιωθείτε ότι εγκαθιστάτε το αντίστοιχο port το οποίο δεν περιλαμβάνει γραφικό περιβάλλον, δηλαδή το package:net/cvsup-without-gui[]. ==== [[cvsup-config]] === Ρύθμιση του CVSup Η λειτουργία του CVSup ελέγχεται από ένα αρχείο ρυθμίσεων που καλείται [.filename]#supfile#. Υπάρχουν κάποια υποδείγματα από [.filename]#supfiles# στον κατάλογο link:file://localhost/usr/shared/examples/cvsup/[/usr/shared/examples/cvsup/]. Οι πληροφορίες στο [.filename]#supfile# απαντούν τις ακόλουθες ερωτήσεις για το CVSup: * <> * <> * <> * <> * <> Στα επόμενα τμήματα, θα δημιουργήσουμε ένα τυπικό [.filename]#supfile# απαντώντας κάθε μια από τις ερωτήσεις αυτές με τη σειρά. Πρώτα, θα περιγράψουμε τη συνολική δομή ενός [.filename]#supfile#. Ένα [.filename]#supfile# είναι ένα αρχείο κειμένου. Τα σχόλια ξεκινάνε με `#` και επεκτείνονται ως το τέλος της γραμμής. Οι κενές γραμμές, καθώς και αυτές που περιέχουν μόνο σχόλια, αγνοούνται. Κάθε γραμμή από τις υπόλοιπες περιγράφει ένα σετ αρχείων τα οποία επιθυμεί να λάβει ο χρήστης. Η γραμμή ξεκινάει με το όνομα μιας "συλλογής", ενός λογικού γκρουπ από αρχεία που ορίζεται από τον εξυπηρετητή. Το όνομα της συλλογής δηλώνει στον εξυπηρετητή ποια αρχεία επιθυμείτε. Μετά το όνομα της συλλογής, μπορεί να υπάρχουν από μηδέν ως κάποια πεδία, τα οποία χωρίζονται μεταξύ τους με κενά διαστήματα. Τα πεδία αυτά απαντούν τις ερωτήσεις που τέθηκαν παραπάνω. Υπάρχουν δύο τύποι πεδίων: πεδία σήμανσης (flags) και πεδία τιμών. Ένα πεδίο σήμανσης αποτελείται από μια μόνο λέξη κλειδί π.χ. `delete` ή `compress`. Ένα πεδίο τιμής ξεκινάει επίσης με μια λέξη κλειδί, αλλά αυτή ακολουθείτε χωρίς την παρεμβολή κενού διαστήματος από `=` και μια δεύτερη λέξη. Για παράδειγμα το `release=cvs` αποτελεί ένα πεδίο τιμής. Ένα [.filename]#supfile# τυπικά καθορίζει προς λήψη περισσότερες από μία συλλογές. Ένα τρόπος για να δομήσετε ένα [.filename]#supfile# είναι να καθορίσετε όλα τα σχετικά πεδία χωριστά για κάθε συλλογή. Με τον τρόπο αυτό ωστόσο το [.filename]#supfile# θα καταλάβει αρκετές γραμμές και θα είναι άβολο, επειδή τα περισσότερα πεδία είναι ίδια για όλες τις συλλογές που περιέχονται σε αυτό. Το CVSup παρέχει ένα μηχανισμό χρήσης προεπιλεγμένων τιμών, ώστε να αποφεύγονται αυτά τα προβλήματα. Οι γραμμές που ξεκινάνε με το ειδικό όνομα ψευτό-συλλογής `*default` μπορούν να χρησιμοποιηθούν για να θέσουν πεδία σήμανσης και τιμών τα οποία θα χρησιμοποιηθούν ως προεπιλογές για τις συλλογές του [.filename]#supfile# που βρίσκονται μετά από αυτά. Μια προεπιλεγμένη τιμή μπορεί να αλλάξει αν καθοριστεί ξανά με νέα τιμή μέσα στην ίδια τη συλλογή. Οι προεπιλογές μπορούν επίσης να αλλάξουν, ή να προστεθούν νέες, βάζοντας πρόσθετα `*default` σε οποιοδήποτε σημείο μέσα στο [.filename]#supfile#. Γνωρίζοντας τα παραπάνω, θα προχωρήσουμε τώρα στη δόμηση ενός [.filename]#supfile# για λήψη και ανανέωση του κυρίως δέντρου πηγαίου κώδικα για το crossref:cutting-edge[current,FreeBSD-CURRENT]. * [[cvsup-config-files]]Ποια αρχεία θέλετε να λάβετε; + Τα αρχεία που είναι διαθέσιμα μέσω της CVSup είναι οργανωμένα σε γκρουπ που ονομάζονται "συλλογές". Περιγραφή των διαθέσιμων συλλογών θα βρείτε στο <>. Στο παράδειγμα μας, θέλουμε να λάβουμε το πλήρες δέντρο πηγαίου κώδικα του FreeBSD συστήματος. Υπάρχει μια μεγάλη συλλογή `src-all` η οποία θα μας την δώσει όλη. Σαν πρώτο βήμα για την δόμηση του [.filename]#supfile#, απλώς γράφουμε τις συλλογές, μία σε κάθε γραμμή (στην περίπτωση μας έχουμε μόνο μια γραμμή): + [.programlisting] .... src-all .... * [[cvsup-config-vers]]Ποιες εκδόσεις των αρχείων θέλετε να λάβετε; + Με το CVSup, μπορείτε ουσιαστικά να λάβετε οποιαδήποτε έκδοση του πηγαίου κώδικα υπήρξε ποτέ. Αυτό είναι δυνατόν επειδή ο εξυπηρετητής cvsupd λειτουργεί απευθείας από το CVS repository, το οποίο περιέχει όλες τις εκδόσεις. Δηλώνετε ποια από αυτές θέλετε χρησιμοποιώντας τα πεδία τιμών `tag=` και `date=`. + [WARNING] ==== Θα πρέπει να δώσετε ιδιαίτερη προσοχή στον καθορισμό των πεδίων `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=.` είναι το μόνο έγκυρο. + [WARNING] ==== Να είστε ιδιαίτερα προσεκτικός, ώστε να γράψετε το tag ακριβώς όπως φαίνεται. Το CVSup δεν μπορεί να διαχωρίσει μεταξύ έγκυρων και μη-έγκυρων tags. Αν γράψετε λάθος το tag, το CVSup θα συμπεριφερθεί σαν να έχετε δώσει ένα έγκυρο tag το οποίο δεν αναφέρεται σε κανένα αρχείο. Στην περίπτωση αυτή θα διαγράψει τα υπάρχοντα αρχεία σας πηγαίου κώδικα. ==== + Όταν καθορίσετε κάποιο branch tag, φυσιολογικά θα λάβετε τις τελευταίες εκδόσεις των αρχείων που υπάρχουν σε αυτή τη γραμμή ανάπτυξης. Αν θέλετε να λάβετε κάποιες παλιότερες εκδόσεις, μπορείτε να το κάνετε καθορίζοντας μια ημερομηνία μέσω του πεδίου τιμών `date=`. Η σελίδα manual man:csup[1] εξηγεί πως μπορείτε να το κάνετε. + Στο παράδειγμα μας, επιθυμούμε να λάβουμε το FreeBSD-CURRENT. Προσθέτουμε τη γραμμή αυτή στην αρχή του [.filename]#supfile# αρχείου μας: + [.programlisting] .... *default tag=. .... + Υπάρχει μια σημαντική ειδική περίπτωση όταν δεν καθορίσετε ούτε πεδίο `tag=` ούτε πεδίο `date=`. Στην περίπτωση αυτή θα λάβετε τα κανονικά αρχεία RCS απευθείας από το CVS repository του εξυπηρετητή, αντί για να λάβετε κάποια συγκεκριμένη έκδοση. Οι προγραμματιστές γενικά προτιμούν αυτό τον τρόπο λειτουργίας. Διατηρώντας πλήρες αντίγραφο του CVS repository στα συστήματα τους έχουν την ικανότητα να βλέπουν το ιστορικό αλλαγών κάθε έκδοσης και να εξετάζουν παλιότερες εκδόσεις των αρχείων. Τα παραπάνω πλεονεκτήματα ωστόσο έχουν το κόστος της μεγαλύτερης χρήσης χώρου στο σκληρό δίσκο. * [[cvsup-config-where]]Από που θέλετε να τα λάβετε; + Χρησιμοποιούμε το πεδίο `host=` για να πούμε στο `cvsup` από που να λάβει τις ανανεώσεις του. Οποιοδήποτε από τα <> είναι κατάλληλο, αν και θα πρέπει να προσπαθήσετε να επιλέξετε κάποιο το οποίο να βρίσκεται κοντά σας. Στο παράδειγμα μας, θα χρησιμοποιήσουμε μια φανταστική τοποθεσία διανομής του FreeBSD, το `cvsup99.FreeBSD.org`: + [.programlisting] .... *default host=cvsup99.FreeBSD.org .... + Θα πρέπει να αλλάξετε το host σε κάποιο που πραγματικά υπάρχει πριν εκτελέσετε το CVSup. Κάθε φορά που εκτελείτε το `cvsup`, έχετε την δυνατότητα να ανατρέπετε αυτή τη ρύθμιση μέσω της γραμμής εντολών με την επιλογή `-h _hostname_`. * [[cvsup-config-dest]]Που θέλετε να τα αποθηκεύσετε στο μηχάνημα σας; + Το πεδίο `prefix=` δηλώνει στην `cvsup` που να αποθηκεύσει τα αρχεία που λαμβάνει. Στο παράδειγμα μας, θα βάλουμε τα αρχεία του πηγαίου κώδικα, απευθείας στο κύριο δέντρο πηγαίου κώδικα, [.filename]#/usr/src#. Ο κατάλογος [.filename]#src# θεωρείται δεδομένος για τις συλλογές που έχουμε επιλέξει να λάβουμε, και έτσι ο σωστός προσδιορισμός είναι αυτός που φαίνεται παρακάτω: + [.programlisting] .... *default prefix=/usr .... * [[cvsup-config-status]]Που θα αποθηκεύσει το `cvsup` τα αρχεία κατάστασης του; + Ο πελάτης CVSup διατηρεί κάποια αρχεία κατάστασης (status files) σε αυτό που αποκαλείται κατάλογος "base". Τα αρχεία αυτά βοηθούν το CVSup να λειτουργεί πιο αποδοτικά κρατώντας λογαριασμό των ανανεώσεων που έχετε ήδη λάβει. Θα χρησιμοποιήσουμε τον προεπιλεγμένο κατάλογο base, [.filename]#/var/db#: + [.programlisting] .... *default base=/var/db .... + Αν ο base κατάλογος σας δεν υπάρχει ήδη, τώρα είναι μια καλή στιγμή να τον δημιουργήσετε. O πελάτης `cvsup` δεν θα εκτελείται αν ο base κατάλογος δεν υπάρχει. * Διάφορες ρυθμίσεις για το [.filename]#supfile#: + Υπάρχει ακόμα μια κοινή γραμμή ρυθμίσεων, η οποία τυπικά υπάρχει στο [.filename]#supfile#: + [.programlisting] .... *default release=cvs delete use-rel-suffix compress .... + Το `release=cvs` δείχνει ότι ο εξυπηρετητής θα πρέπει να λάβει τις πληροφορίες του μέσω του κύριου CVS repository του FreeBSD. Αυτό ισχύει σχεδόν πάντα, αλλά υπάρχουν και άλλες πιθανότητες που ξεφεύγουν από το σκοπό αυτής της συζήτησης. + Η λέξη `delete` δίνει δικαιώματα στο CVSup να διαγράφει αρχεία. Θα πρέπει πάντοτε να έχετε την επιλογή αυτή, ώστε το CVSup να μπορεί να κρατήσει το δέντρο του πηγαίου σας κώδικα πλήρως ανανεωμένο. Το CVSup είναι αρκετά προσεκτικό ώστε να σβήνει μόνο τα αρχεία που βρίσκονται υπό την ευθύνη του. Αν τυχόν βάλετε έξτρα αρχεία στον ίδιο κατάλογο, δεν θα τα αγγίξει. + Η επιλογή `use-rel-suffix` είναι... αρχαιολογική. Αν πραγματικά θέλετε να μάθετε σχετικά με αυτήν, διαβάστε τη σελίδα manual man:cvsup[1]. Αλλιώς, απλώς χρησιμοποιήστε την, και μην ανησυχείτε ιδιαίτερα για αυτή. + Η επιλογή `compress` ενεργοποιεί τη χρήση συμπίεσης τύπου gzip στο κανάλι επικοινωνίας. Αν έχετε σύνδεση δικτύου τύπου T1 ή και πιο γρήγορη, μάλλον δεν θα πρέπει να χρησιμοποιήσετε συμπίεση. Σε διαφορετική περίπτωση, θα βοηθήσει εξαιρετικά. * Όλες οι επιλογές μαζί: + Εδώ είναι το πλήρες [.filename]#supfile# για το παράδειγμα μας: + [.programlisting] .... *default tag=. *default host=cvsup99.FreeBSD.org *default prefix=/usr *default base=/var/db *default release=cvs delete use-rel-suffix compress src-all .... [[cvsup-refuse-file]] ==== Το Αρχείο [.filename]#refuse# Όπως αναφέραμε παραπάνω, το CVSup χρησιμοποιεί _μέθοδο pull_. Βασικά αυτό σημαίνει ότι συνδέεστε στον εξυπηρετητή CVSup, αυτός λέει "Αυτά είναι τα αρχεία που μπορείτε να κατεβάσετε από μένα..", και το δικό σας πρόγραμμα απαντάει "Εντάξει, θα πάρω αυτό, αυτό, αυτό, και αυτό." Στην προεπιλεγμένη ρύθμιση, ο πελάτης CVSup θα πάρει κάθε αρχείο που συνδέεται με την συλλογή και το tag που έχετε καθορίσει στο αρχείο ρυθμίσεων. Ωστόσο μπορεί να μην το επιθυμείτε αυτό πάντα, ειδικά αν συγχρονίζετε τα δέντρα [.filename]#doc#, [.filename]#ports# ή [.filename]#www# - οι περισσότεροι άνθρωποι δεν μπορούν να διαβάσουν τέσσερις ή πέντε γλώσσες και έτσι δεν χρειάζεται να κατεβάσουν αρχεία που αναφέρονται ειδικά σε αυτές. Αν χρησιμοποιείτε το CVSup για την συλλογή των Ports, μπορείτε να ξεπεράσετε αυτή τη συμπεριφορά καθορίζοντας συγκεκριμένες συλλογές (π.χ. _ports-astrology_, _ports-biology_ αντί για _ports-all_). Ωστόσο, επειδή τα δέντρα [.filename]#doc# και [.filename]#www# δεν διαθέτουν συλλογές χωρισμένες ανά γλώσσα, μπορείτε να χρησιμοποιήσετε ένα από τα βολικά χαρακτηριστικά του CVSup: το αρχείο [.filename]#refuse#. Το αρχείο [.filename]#refuse# ουσιαστικά λέει στο CVSup ότι δεν πρέπει να πάρει κάθε αρχείο από μια συλλογή. Με άλλα λόγια, λέει στον πελάτη να _αρνηθεί_ συγκεκριμένα αρχεία που προσφέρει ο εξυπηρετητής. Το αρχείο [.filename]#refuse# μπορεί να βρεθεί (ή να δημιουργηθεί αν δεν έχετε ήδη) στο [.filename]#base/sup/#. Το _base_ καθορίζεται στο [.filename]#supfile#. Το δικό μας _base_ είναι στο [.filename]#/var/db#, το οποίο σημαίνει ότι το προεπιλεγμένο αρχείο [.filename]#refuse# θα είναι το [.filename]#/var/db/sup/refuse#. Το αρχείο [.filename]#refuse# έχει ιδιαίτερα απλή μορφή. Απλώς περιέχει τα ονόματα των αρχείων και καταλόγων τα οποία δεν επιθυμείτε να κατεβάσετε. Για παράδειγμα, αν δεν μιλάτε γλώσσες εκτός από Αγγλικά και λίγα Γερμανικά, και δεν αισθάνεστε την ανάγκη να διαβάσετε την Γερμανική μετάφραση της τεκμηρίωσης, μπορείτε να βάλετε τα ακόλουθα στο δικό σας αρχείο [.filename]#refuse#: [source,shell] .... 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_* .... κ.ο.κ. για τις υπόλοιπες γλώσσες (μπορείτε να βρείτε την πλήρη λίστα στο http://www.FreeBSD.org/cgi/cvsweb.cgi/[FreeBSD CVS repository]). Με αυτή τη χρήσιμη δυνατότητα, οι χρήστες που έχουν αργή σύνδεση ή πληρώνουν το Internet με χρονοχρέωση ανά λεπτό, θα μπορέσουν να εξοικονομήσουν πολύτιμο χρόνο καθώς δεν θα χρειάζεται πλέον να κατεβάσουν αρχεία που δεν πρόκειται να χρησιμοποιήσουν ποτέ. Για περισσότερες πληροφορίες σχετικά με τα αρχεία [.filename]#refuse# και άλλα χρήσιμα χαρακτηριστικά του CVSup, παρακαλούμε διαβάστε την αντίστοιχη σελίδα του manual. === Εκτελώντας το CVSup Είστε τώρα έτοιμοι να δοκιμάσετε μια ανανέωση. Η γραμμή εντολής για το σκοπό αυτό είναι ιδιαίτερα απλή: [source,shell] .... # cvsup supfile .... όπου το [.filename]#supfile# είναι φυσικά το όνομα του αρχείου [.filename]#supfile# που μόλις δημιουργήσατε. Υποθέτοντας ότι χρησιμοποιείτε τα X11, η εντολή `cvsup` θα σας εμφανίσει ένα γραφικό παράθυρο με κάποια πλήκτρα συνηθισμένων λειτουργιών. Πιέστε το πλήκτρο btn[go], και παρακολουθήστε την εκτέλεση. Καθώς στην περίπτωση μας ανανεώνεται το πραγματικό δέντρο [.filename]#/usr/src#, θα χρειαστεί να εκτελέσετε το πρόγραμμα ως `root` ώστε η `cvsup` να έχει τα δικαιώματα που χρειάζεται για να ανανεώσει τα αρχεία σας. Καθώς μόλις έχετε δημιουργήσει το αρχείο ρυθμίσεων, και δεν έχετε ποτέ πριν χρησιμοποιήσει το πρόγραμμα, ίσως αισθάνεστε λίγο άβολα. Υπάρχει εύκολος τρόπος να κάνετε δοκιμαστική εκτέλεση χωρίς να πειράξετε τα πολύτιμα αρχεία σας. Απλώς δημιουργήστε ένα άδειο κατάλογο σε ένα βολικό μέρος, και δώστε το σαν έξτρα παράμετρο στην γραμμή εντολών: [source,shell] .... # mkdir /var/tmp/dest # cvsup supfile /var/tmp/dest .... Ο κατάλογος που καθορίσατε θα χρησιμοποιηθεί ως προορισμός για όλες τις ανανεώσεις αρχείων. Το CVSup θα εξετάσει τα κανονικά αρχεία σας στο [.filename]#/usr/src#, αλλά δεν θα τροποποιήσει ούτε θα διαγράψει κανένα από αυτά. Κάθε ανανέωση αρχείου θα γίνει στον κατάλογο [.filename]#/var/tmp/dest/usr/src#. Το CVSup όταν εκτελείται με αυτό τον τρόπο αφήνει επίσης ανέπαφα τα αρχεία κατάστασης του στον κατάλογο base. Οι νέες εκδόσεις των αρχείων αυτών θα γραφούν στον καθορισμένο κατάλογο. Αν έχετε απλώς πρόσβαση ανάγνωσης στο [.filename]#/usr/src#, δεν χρειάζεστε να είστε καν `root` για να κάνετε αυτή τη δοκιμαστική εκτέλεση. Αν δεν εκτελείτε τα X11 ή απλώς δεν σας αρέσουν τα γραφικά περιβάλλοντα, μπορείτε να δώσετε κάποιες επιλογές στην γραμμή εντολών όταν εκτελείτε την `cvsup`: [source,shell] .... # cvsup -g -L 2 supfile .... Η επιλογή `-g` λέει στο CVSup να μη χρησιμοποιήσει το γραφικό του περιβάλλον. Αυτό γίνεται αυτόματα αν δεν εκτελούνται τα X11, αλλά διαφορετικά θα πρέπει να το καθορίσετε. Η επιλογή `-L 2` λέει στο CVSup να εμφανίσει όλες τις λεπτομέρειες για όλες τις ανανεώσεις αρχείων που εκτελεί. Υπάρχουν τρία επίπεδα περιγραφής, από το `-L 0` ως το `-L 2`. Η προεπιλογή είναι το 0, που σημαίνει απόλυτη σιωπή εκτός από μηνύματα λάθους. Υπάρχουν διαθέσιμες αρκετές ακόμα επιλογές. Για μια περιληπτική λίστα, γράψτε `cvsup -H`. Για περισσότερο λεπτομερείς περιγραφές, δείτε τη σελίδα του manual. Όταν μείνετε ικανοποιημένος από τον τρόπο που γίνονται οι ανανεώσεις, μπορείτε να κανονίσετε την σε τακτά διαστήματα εκτέλεση του CVSup με την χρήση του man:cron[8]. Προφανώς δεν θα πρέπει να αφήσετε το CVSup να χρησιμοποιεί το γραφικό του περιβάλλον όταν το εκτελείτε μέσω του man:cron[8]. [[cvsup-collec]] === Συλλογές Αρχείων τουCVSup Οι συλλογές αρχείων που διατίθενται μέσω του CVSup είναι οργανωμένες ιεραρχικά. Υπάρχουν λίγες μεγάλες συλλογές, και αυτές χωρίζονται σε μικρότερες υπο-συλλογές. Η λήψη μιας μεγάλης συλλογής, ισοδυναμεί με την λήψη κάθε μιας από τις υπο-συλλογές τις. Οι ιεραρχικές σχέσεις μεταξύ των συλλογών, αντικατοπτρίζονται παρακάτω με την χρήση των εσοχών. Οι πιο συχνά χρησιμοποιούμενες συλλογές είναι η `src-all`, και η `ports-all`. Οι άλλες συλλογές χρησιμοποιούνται μόνο από μικρές ομάδες ανθρώπων για ειδικούς σκοπούς, και κάποια mirror sites μπορεί να μην τις έχουν καθόλου. `cvs-all release=cvs`:: Το κύριο CVS repository του FreeBSD, που περιλαμβάνει και τον κώδικα κρυπτογραφίας. `distrib release=cvs`::: Αρχεία που αναφέρονται στην διανομή και το mirroring του FreeBSD. `doc-all release=cvs`::: Πηγαίος κώδικας για το FreeBSD Handbook και την υπόλοιπη τεκμηρίωση. Δεν περιλαμβάνει αρχεία για το web site του FreeBSD. `ports-all release=cvs`::: Η συλλογή Ports του FreeBSD. + [IMPORTANT] ==== Αν δεν θέλετε να ανανεώσετε όλο το `ports-all` (το πλήρες δέντρο των ports), αλλά να χρησιμοποιήσετε μια από τις υποσυλλογές που φαίνονται παρακάτω, βεβαιωθείτε ότι _πάντα_ ανανεώνετε την υποσυλλογή `ports-base`! Όταν κάτι αλλάζει στο σύστημα μεταγλώττισης των ports που αντιπροσωπεύεται από το `ports-base`, είναι πρακτικά βέβαιο ότι οι αλλαγές αυτές πολύ σύντομα θα χρησιμοποιηθούν από "πραγματικά" ports. Έτσι, αν ανανεώνετε μόνο τα "πραγματικά" ports και αυτά χρησιμοποιούν κάποιες από τις νέες δυνατότητες, υπάρχει μεγάλη πιθανότητα η μεταγλώττιση τους να αποτύχει με κάποιο μυστηριώδες μήνυμα λάθους. Το _πρώτο_ πράγμα που πρέπει να κάνετε σε αυτή την περίπτωση είναι να βεβαιωθείτε ότι είναι ενημερωμένη η συλλογή σας `ports-base`. ==== + [IMPORTANT] ==== Αν σκοπεύετε να δημιουργήσετε το δικό σας τοπικό αντίγραφο του [.filename]#ports/INDEX#, θα _πρέπει_ να δεχτείτε τη συλλογή `ports-all` (ολόκληρο το δέντρο των ports). H δημιουργία του [.filename]#ports/INDEX# από μη-πλήρες δέντρο δεν υποστηρίζεται. Δείτε το link:{faq}#MAKE-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 για υποστήριξη του συστήματος μεταγλώττισης. Διάφορα αρχεία που βρίσκονται στους υποκαταλόγους [.filename]#Mk/# και [.filename]#Tools/# του [.filename]#/usr/ports#. + [NOTE] ==== Παρακαλούμε δείτε την <>: θα πρέπει _πάντοτε_ να ενημερώνετε αυτή την υποσυλλογή, όταν ενημερώνετε οποιοδήποτε τμήμα της συλλογής Ports του FreeBSD. ==== `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(TM). `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(TM). `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 του FreeBSD. `src-all release=cvs`::: Ο βασικός πηγαίος κώδικα του FreeBSD, συμπεριλαμβανομένου του κώδικα κρυπτογραφίας. `src-base release=cvs`:::: Διάφορα αρχεία στην κορυφή του [.filename]#/usr/src#. `src-bin release=cvs`:::: Εργαλεία που πιθανόν να απαιτούνται σε κατάσταση λειτουργίας ενός χρήστη (single-user) ([.filename]#/usr/src/bin#). `src-cddl release=cvs`:::: Εργαλεία και βιβλιοθήκες που καλύπτονται από την άδεια χρήσης CDDL ([.filename]#/usr/src/cddl#). `src-contrib release=cvs`:::: Εργαλεία και βιβλιοθήκες που δεν ανήκουν στο FreeBSD Project, και τα οποία χρησιμοποιούνται ουσιαστικά αναλλοίωτα ([.filename]#/usr/src/contrib#). `src-crypto release=cvs`:::: Εργαλεία και βιβλιοθήκες κρυπτογράφησης που δεν ανήκουν στο FreeBSD project και τα οποία χρησιμοποιούνται ουσιαστικά αναλλοίωτα ([.filename]#/usr/src/crypto#). `src-eBones release=cvs`:::: Kerberos και DES ([.filename]#/usr/src/eBones#). Δεν χρησιμοποιούνται στις τρέχουσες εκδόσεις του FreeBSD. `src-etc release=cvs`:::: Αρχεία ρυθμίσεων του συστήματος ([.filename]#/usr/src/etc#). `src-games release=cvs`:::: Παιχνίδια ([.filename]#/usr/src/games#). `src-gnu release=cvs`:::: Εργαλεία που καλύπτονται από την άδεια χρήσης GNU Public License ([.filename]#/usr/src/gnu#). `src-include release=cvs`:::: Αρχεία επικεφαλίδων ([.filename]#/usr/src/include#). `src-kerberos5 release=cvs`:::: Πακέτο ασφαλείας Kerberos5 ([.filename]#/usr/src/kerberos5#). `src-kerberosIV release=cvs`:::: Πακέτο ασφαλείας KerberosIV ([.filename]#/usr/src/kerberosIV#). `src-lib release=cvs`:::: Βιβλιοθήκες ([.filename]#/usr/src/lib#). `src-libexec release=cvs`:::: Προγράμματα συστήματος τα οποία φυσιολογικά εκτελούνται από άλλα προγράμματα ([.filename]#/usr/src/libexec#). `src-release release=cvs`:::: Αρχεία που απαιτούνται για την παραγωγή μιας έκδοσης του FreeBSD ([.filename]#/usr/src/release#). `src-rescue release=cvs`:::: Προγράμματα με στατική μεταγλώττιση για χρήση σε έκτακτες περιπτώσεις επαναφοράς του συστήματος. Δείτε το man:rescue[8] ([.filename]#/usr/src/rescue#). `src-sbin release=cvs`:::: Εργαλεία συστήματος για λειτουργία σε κατάσταση ενός χρήστη (single user mode) ([.filename]#/usr/src/sbin#). `src-secure release=cvs`:::: Βιβλιοθήκες και εντολές κρυπτογράφησης ([.filename]#/usr/src/secure#). `src-share release=cvs`:::: Αρχεία τα οποία μπορεί να είναι κοινά ανάμεσα σε πολλαπλά συστήματα ([.filename]#/usr/src/share#). `src-sys release=cvs`:::: Ο πυρήνας ([.filename]#/usr/src/sys#). `src-sys-crypto release=cvs`:::: Κώδικας κρυπτογραφίας του πυρήνα ([.filename]#/usr/src/sys/crypto#). `src-tools release=cvs`:::: Διάφορα εργαλεία για τη συντήρηση του FreeBSD ([.filename]#/usr/src/tools#). `src-usrbin release=cvs`:::: Εργαλεία χρήστη ([.filename]#/usr/src/usr.bin#). `src-usrsbin release=cvs`:::: Εργαλεία συστήματος ([.filename]#/usr/src/usr.sbin#). `www release=cvs`::: Ο πηγαίος κώδικας για την τοποθεσία WWW του FreeBSD. `distrib release=self`:: Τα αρχεία ρυθμίσεων του ίδιου του εξυπηρετητή CVSup. Χρησιμοποιείται από CVSup mirror sites. `gnats release=current`:: H βάση δεδομένων του συστήματος παρακολούθησης προβλημάτων GNATS. `mail-archive release=current`:: Τα αρχεία της λίστας ταχυδρομείου του FreeBSD. `www release=current`:: Προ-επεξεργασμένα αρχεία της δικτυακής τοποθεσίας (WWW) του FreeBSD (όχι ο πηγαίος κώδικας). Χρησιμοποιείται από WWW mirror sites. === Για Περισσότερες Πληροφορίες Για το FAQ του CVSup και άλλες πληροφορίες σχετικά με αυτό, δείτε τη http://www.cvsup.org[Σελίδα του CVSup]. Συζητήσεις σχετικά με τη χρήση του CVSup στο FreeBSD λαμβάνουν χώρα στην {freebsd-hackers}. Στη λίστα αυτή, καθώς και στην {freebsd-announce} ανακοινώνονται και οι νέες εκδόσεις του προγράμματος. Για ερωτήσεις ή αναφορές σφαλμάτων σχετικά με το CVSup ρίξτε μια ματιά στο http://www.cvsup.org/faq.html#bugreports[CVSup FAQ]. [[cvsup-mirrors]] === Τοποθεσίες CVSup Μπορείτε να βρείτε εξυπηρετητές <> για το FreeBSD στις ακόλουθες τοποθεσίες: [[cvs-tags]] == Ετικέτες (Tags) για το CVS Όταν κατεβάζετε ή ανανεώνετε τον πηγαίο κώδικα μέσω της cvs η της CVSup, θα πρέπει να καθορίσετε μια ετικέτα έκδοσης (revision tag). Ένα revision tag αναφέρεται είτε σε μια συγκεκριμένη πορεία ανάπτυξης του FreeBSD, είτε σε ένα συγκεκριμένο χρονικό σημείο. Ο πρώτος τύπος ονομάζεται "ετικέτα κλάδου (branch tag)", και ο δεύτερος ονομάζεται "ετικέτα έκδοσης (release tag)". === Ετικέτες Κλάδων (Branch Tags) Όλες αυτές, με την εξαίρεση του `HEAD` (το οποίο είναι πάντα έγκυρη ετικέτα), ισχύουν μόνο για το δέντρο [.filename]#src/#. Τα δέντρα [.filename]#ports/#, [.filename]#doc/#, και [.filename]#www/# δεν έχουν κλάδους. HEAD:: Πρόκειται για το συμβολικό όνομα της κύριας γραμμής ανάπτυξης, ή FreeBSD-CURRENT. Είναι επίσης το προεπιλεγμένο tag αν δεν καθοριστεί κάποιο συγκεκριμένο revision. + Στο CVSup, το tag αυτό αντιπροσωπεύεται από μια `.` (δεν πρόκειται για σημείο στίξης της πρότασης, αλλά για τον πραγματικό χαρακτήρα `.`). + [NOTE] ==== Στο CVS, αυτή είναι και η προεπιλογή αν δεν καθοριστεί revision tag. Συνήθως _δεν_ είναι καλή ιδέα να κάνετε checkout και ανανέωση στον πηγαίο κώδικα του CURRENT σε ένα μηχάνημα STABLE, εκτός αν αυτή είναι πραγματικά η πρόθεση σας. ==== RELENG_9:: Η γραμμή ανάπτυξης για το FreeBSD-9.X, γνωστή επίσης και ως FreeBSD 9-STABLE RELENG_9_0:: Η γραμμή έκδοσης του FreeBSD-9.0, χρησιμοποιείται μόνο για ενημερώσεις ασφαλείας και άλλες κρίσιμες διορθώσεις. RELENG_8:: Η γραμμή ανάπτυξης για το FreeBSD-8.X, γνωστή επίσης και ως FreeBSD 8-STABLE RELENG_8_3:: Η γραμμή έκδοσης του FreeBSD-8.3, χρησιμοποιείται μόνο για ενημερώσεις ασφαλείας και άλλες κρίσιμες διορθώσεις. RELENG_8_2:: Η γραμμή έκδοσης του FreeBSD-8.2, χρησιμοποιείται μόνο για ενημερώσεις ασφαλείας και άλλες κρίσιμες διορθώσεις. RELENG_8_1:: Η γραμμή έκδοσης του FreeBSD-8.1, χρησιμοποιείται μόνο για ενημερώσεις ασφαλείας και άλλες κρίσιμες διορθώσεις. RELENG_8_0:: Η γραμμή έκδοσης του FreeBSD-8.0, χρησιμοποιείται μόνο για ενημερώσεις ασφαλείας και άλλες κρίσιμες διορθώσεις. RELENG_7:: Η γραμμή ανάπτυξης για το FreeBSD-7.X, γνωστή επίσης και ως FreeBSD 7-STABLE RELENG_7_4:: Η γραμμή έκδοσης του FreeBSD-7.4, χρησιμοποιείται μόνο για ενημερώσεις ασφαλείας και άλλες κρίσιμες διορθώσεις. RELENG_7_3:: Η γραμμή έκδοσης του FreeBSD-7.3, χρησιμοποιείται μόνο για ενημερώσεις ασφαλείας και άλλες κρίσιμες διορθώσεις. RELENG_7_2:: Η γραμμή έκδοσης του FreeBSD-7.2, χρησιμοποιείται μόνο για ενημερώσεις ασφαλείας και άλλες κρίσιμες διορθώσεις. RELENG_7_1:: Η γραμμή έκδοσης του FreeBSD-7.1, χρησιμοποιείται μόνο για ενημερώσεις ασφαλείας και άλλες κρίσιμες διορθώσεις. RELENG_7_0:: Η γραμμή έκδοσης του FreeBSD-7.0, χρησιμοποιείται μόνο για ενημερώσεις ασφαλείας και άλλες κρίσιμες διορθώσεις. RELENG_6:: Η γραμμή ανάπτυξης για το FreeBSD-6.X, γνωστή επίσης και ως FreeBSD 6-STABLE RELENG_6_4:: Η γραμμή έκδοσης του FreeBSD-6.4, χρησιμοποιείται μόνο για ενημερώσεις ασφαλείας και άλλες κρίσιμες διορθώσεις. RELENG_6_3:: Η γραμμή έκδοσης του FreeBSD-6.3, χρησιμοποιείται μόνο για ενημερώσεις ασφαλείας και άλλες κρίσιμες διορθώσεις. RELENG_6_2:: Η γραμμή έκδοσης του FreeBSD-6.2, χρησιμοποιείται μόνο για ενημερώσεις ασφαλείας και άλλες κρίσιμες διορθώσεις. 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. Η γραμμή αυτή θεωρείται ουσιαστικά παρωχημένη. === Ετικέτες Εκδόσεων (Release Tags) Οι ετικέτες αυτές αναφέρονται σε μια συγκεκριμένη χρονική στιγμή κατά την οποία έγινε μια κανονική έκδοση (release) του FreeBSD. Η διαδικασία της έκδοσης τεκμηριώνεται με περισσότερες λεπτομέρειες στα έγγραφα link:https://www.FreeBSD.org/releng/[Πληροφορίες Διαδικασίας Έκδοσης] και link:{releng}#release-proc/[Διαδικασία Έκδοσης]. Το δέντρο [.filename]#src# χρησιμοποιεί ονόματα ετικετών που ξεκινούν με τη λέξη `RELENG_`. Τα δέντρα [.filename]#ports# και [.filename]#doc# χρησιμοποιούν ετικέτες που ξεκινούν με τη λέξη `RELEASE`. Τέλος, στο δέντρο [.filename]#www# δεν δίνεται κάποια ειδική ετικέτα που να έχει σχέση με τις εκδόσεις. RELENG_9_0_0_RELEASE:: FreeBSD 9.0 RELENG_8_3_0_RELEASE:: FreeBSD 8.3 RELENG_8_2_0_RELEASE:: FreeBSD 8.2 RELENG_8_1_0_RELEASE:: FreeBSD 8.1 RELENG_8_0_0_RELEASE:: FreeBSD 8.0 RELENG_7_4_0_RELEASE:: FreeBSD 7.4 RELENG_7_3_0_RELEASE:: FreeBSD 7.3 RELENG_7_2_0_RELEASE:: FreeBSD 7.2 RELENG_7_1_0_RELEASE:: FreeBSD 7.1 RELENG_7_0_0_RELEASE:: FreeBSD 7.0 RELENG_6_4_0_RELEASE:: FreeBSD 6.4 RELENG_6_3_0_RELEASE:: FreeBSD 6.3 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 [[mirrors-afs]] == Τοποθεσίες AFS Εξυπηρετητές AFS για το FreeBSD θα βρείτε στις ακόλουθες τοποθεσίες: Σουηδία:: Η διαδρομή για τα αρχεία είναι: [.filename]#/afs/stacken.kth.se/ftp/pub/FreeBSD/# + [.programlisting] .... 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 .... + Υπεύθυνος Συντήρησης: mailto:ftp@stacken.kth.se[ftp@stacken.kth.se] [[mirrors-rsync]] == Τοποθεσίες rsync Το FreeBSD είναι διαθέσιμο μέσω του πρωτοκόλλου rsync στις ακόλουθες τοποθεσίες. Το βοηθητικό πρόγραμμα rsync λειτουργεί με περίπου τον ίδιο τρόπο με την εντολή man:rcp[1], αλλά έχει περισσότερες επιλογές και χρησιμοποιεί το πρωτόκολλο απομακρυσμένης ανανέωσης το οποίο μεταφέρει μόνο τις διαφορές μεταξύ δύο σετ αρχείων, επιταχύνοντας έτσι ιδιαίτερα το συγχρονισμό μέσω του δικτύου. Αυτό είναι περισσότερο χρήσιμο αν διατηρείτε mirror του διακομιστή FTP ή του CVS Repository του FreeBSD. Η συλλογή εφαρμογών rsync διατίθεται για πολλά λειτουργικά συστήματα, στο FreeBSD δείτε το port package:net/rsync[] ή χρησιμοποιήστε το αντίστοιχο πακέτο. Δημοκρατία της Τσεχίας:: rsync://ftp.cz.FreeBSD.org/ + Διαθέσιμες Συλλογές: ** ftp: Μερικό mirror του διακομιστή FTP του FreeBSD. ** FreeBSD: Πλήρες mirror του διακομιστή FTP του FreeBSD. Ολλανδία:: rsync://ftp.nl.FreeBSD.org/ + Διαθέσιμες Συλλογές: ** FreeBSD: Πλήρες mirror του διακομιστή FTP του FreeBSD. Ρωσία:: rsync://ftp.mtu.ru/ + Διαθέσιμες Συλλογές: ** FreeBSD: Πλήρες mirror του διακομιστή FTP του FreeBSD. ** FreeBSD-gnats: Η βάση δεδομένων του συστήματος παρακολούθησης σφαλμάτων GNATS. ** FreeBSD-Archive: Mirror του διακομιστή FTP παλαιότερων εκδόσεων (archive) του FreeBSD. Σουηδία:: rsync://ftp4.se.freebsd.org/ + Διαθέσιμες Συλλογές: ** FreeBSD: Πλήρες mirror του διακομιστή FTP του FreeBSD Ταΐβάν:: rsync://ftp.tw.FreeBSD.org/ + rsync://ftp2.tw.FreeBSD.org/ + rsync://ftp6.tw.FreeBSD.org/ + Διαθέσιμες Συλλογές: ** FreeBSD: Πλήρες mirror του διακομιστή FTP του FreeBSD. Ηνωμένο Βασίλειο:: rsync://rsync.mirrorservice.org/ + Διαθέσιμες Συλλογές: ** sites/ftp.freebsd.org: Πλήρες mirror του διακομιστή FTP του FreeBSD. Ηνωμένες Πολιτείες Αμερικής:: rsync://ftp-master.FreeBSD.org/ + Ο διακομιστής αυτός μπορεί να χρησιμοποιηθεί μόνο από κύρια mirror sites του FreeBSD. + Διαθέσιμες Συλλογές: ** FreeBSD: To κύριο (master) σύστημα αρχείων του διακομιστή FTP του FreeBSD. ** acl: Η κύρια λίστα ACL του FreeBSD. + rsync://ftp13.FreeBSD.org/ + Διαθέσιμες Συλλογές: ** FreeBSD: Πλήρες mirror του διακομιστή FTP του FreeBSD. diff --git a/documentation/content/en/books/handbook/cutting-edge/_index.adoc b/documentation/content/en/books/handbook/cutting-edge/_index.adoc index ec253c59d2..c0c9684dfd 100644 --- a/documentation/content/en/books/handbook/cutting-edge/_index.adoc +++ b/documentation/content/en/books/handbook/cutting-edge/_index.adoc @@ -1,1081 +1,1081 @@ --- title: Chapter 24. Updating and Upgrading FreeBSD part: Part III. System Administration prev: books/handbook/l10n next: books/handbook/dtrace description: Information about how to keep a FreeBSD system up-to-date with freebsd-update or Git, how to rebuild and reinstall the entire base system, etc tags: ["updating", "upgrading", "documentation", "FreeBSD-STABLE", "FreeBSD-CURRENT", "Security Patches"] --- [[updating-upgrading]] = Updating and Upgrading FreeBSD :doctype: book :toc: macro :toclevels: 1 :icons: font :sectnums: :sectnumlevels: 6 :source-highlighter: rouge :experimental: :skip-front-matter: :xrefstyle: basic :relfileprefix: ../ :outfilesuffix: :sectnumoffset: 24 ifeval::["{backend}" == "html5"] :imagesdir: ../../../../images/books/handbook/cutting-edge/ endif::[] ifeval::["{backend}" == "pdf"] :imagesdir: ../../../../static/images/books/handbook/cutting-edge/ endif::[] ifeval::["{backend}" == "epub3"] :imagesdir: ../../../../static/images/books/handbook/cutting-edge/ endif::[] include::shared/authors.adoc[] include::shared/releases.adoc[] include::shared/en/mailing-lists.adoc[] include::shared/en/teams.adoc[] include::shared/en/urls.adoc[] toc::[] [[updating-upgrading-synopsis]] == Synopsis FreeBSD is under constant development between releases. Some people prefer to use the officially released versions, while others prefer to keep in sync with the latest developments. However, even official releases are often updated with security and other critical fixes. Regardless of the version used, FreeBSD provides all the necessary tools to keep the system updated, and allows for easy upgrades between versions. This chapter describes how to track the development system and the basic tools for keeping a FreeBSD system up-to-date. After reading this chapter, you will know: * How to keep a FreeBSD system up-to-date with freebsd-update or Git. * How to compare the state of an installed system against a known pristine copy. * How to keep the installed documentation up-to-date with Git or documentation ports. * The difference between the two development branches: FreeBSD-STABLE and FreeBSD-CURRENT. * How to rebuild and reinstall the entire base system. Before reading this chapter, you should: * Properly set up the network connection (crossref:advanced-networking[advanced-networking,Advanced Networking]). * Know how to install additional third-party software (crossref:ports[ports,Installing Applications: Packages and Ports]). [NOTE] ==== Throughout this chapter, `git` is used to obtain and update FreeBSD sources. Optionally, the package:devel/git[] port or package may be used. ==== [[updating-upgrading-freebsdupdate]] == FreeBSD Update Applying security patches in a timely manner and upgrading to a newer release of an operating system are important aspects of ongoing system administration. FreeBSD includes a utility called `freebsd-update` which can be used to perform both these tasks. This utility supports binary security and errata updates to FreeBSD, without the need to manually compile and install the patch or a new kernel. Binary updates are available for all architectures and releases currently supported by the security team. The list of supported releases and their estimated end-of-life dates are listed at https://www.FreeBSD.org/security/[https://www.FreeBSD.org/security/]. This utility also supports operating system upgrades to minor point releases as well as upgrades to another release branch. Before upgrading to a new release, review its release announcement as it contains important information pertinent to the release. Release announcements are available from https://www.FreeBSD.org/releases/[https://www.FreeBSD.org/releases/]. [NOTE] ==== If a `crontab` utilizing the features of man:freebsd-update[8] exists, it must be disabled before upgrading the operating system. ==== This section describes the configuration file used by `freebsd-update`, demonstrates how to apply a security patch and how to upgrade to a minor or major operating system release, and discusses some of the considerations when upgrading the operating system. [[freebsdupdate-config-file]] === The Configuration File The default configuration file for `freebsd-update` works as-is. Some users may wish to tweak the default configuration in [.filename]#/etc/freebsd-update.conf#, allowing better control of the process. The comments in this file explain the available options, but the following may require a bit more explanation: [.programlisting] .... # Components of the base system which should be kept updated. Components world kernel .... This parameter controls which parts of FreeBSD will be kept up-to-date. The default is to update the entire base system and the kernel. Individual components can instead be specified, such as `src/base` or `src/sys`. However, the best option is to leave this at the default as changing it to include specific items requires every needed item to be listed. Over time, this could have disastrous consequences as source code and binaries may become out of sync. [.programlisting] .... # Paths which start with anything matching an entry in an IgnorePaths # statement will be ignored. IgnorePaths /boot/kernel/linker.hints .... To leave specified directories, such as [.filename]#/bin# or [.filename]#/sbin#, untouched during the update process, add their paths to this statement. This option may be used to prevent `freebsd-update` from overwriting local modifications. [.programlisting] .... # Paths which start with anything matching an entry in an UpdateIfUnmodified # statement will only be updated if the contents of the file have not been # modified by the user (unless changes are merged; see below). UpdateIfUnmodified /etc/ /var/ /root/ /.cshrc /.profile .... This option will only update unmodified configuration files in the specified directories. Any changes made by the user will prevent the automatic updating of these files. There is another option, `KeepModifiedMetadata`, which will instruct `freebsd-update` to save the changes during the merge. [.programlisting] .... # When upgrading to a new FreeBSD release, files which match MergeChanges # will have any local changes merged into the version from the new release. MergeChanges /etc/ /var/named/etc/ /boot/device.hints .... List of directories with configuration files that `freebsd-update` should attempt to merge. The file merge process is a series of man:diff[1] patches similar to man:mergemaster[8], but with fewer options. Merges are either accepted, open an editor, or cause `freebsd-update` to abort. When in doubt, backup [.filename]#/etc# and just accept the merges. See man:mergemaster[8] for more information about `mergemaster`. [.programlisting] .... # Directory in which to store downloaded updates and temporary # files used by FreeBSD Update. # WorkDir /var/db/freebsd-update .... This directory is where all patches and temporary files are placed. In cases where the user is doing a version upgrade, this location should have at least a gigabyte of disk space available. [.programlisting] .... # When upgrading between releases, should the list of Components be # read strictly (StrictComponents yes) or merely as a list of components # which *might* be installed of which FreeBSD Update should figure out # which actually are installed and upgrade those (StrictComponents no)? # StrictComponents no .... When this option is set to `yes`, `freebsd-update` will assume that the `Components` list is complete and will not attempt to make changes outside of the list. Effectively, `freebsd-update` will attempt to update every file which belongs to the `Components` list. [[freebsdupdate-security-patches]] === Applying Security Patches The process of applying FreeBSD security patches has been simplified, allowing an administrator to keep a system fully patched using `freebsd-update`. More information about FreeBSD security advisories can be found in crossref:security[security-advisories,"FreeBSD Security Advisories"]. FreeBSD security patches may be downloaded and installed using the following commands. The first command will determine if any outstanding patches are available, and if so, will list the files that will be modifed if the patches are applied. The second command will apply the patches. [source,shell] .... # freebsd-update fetch # freebsd-update install .... If the update applies any kernel patches, the system will need a reboot in order to boot into the patched kernel. If the patch was applied to any running binaries, the affected applications should be restarted so that the patched version of the binary is used. [NOTE] ==== Usually, the user needs to be prepared to reboot the system. To know if a reboot is required by a kernel update, execute the commands `freebsd-version -k` and `uname -r` and if it differs a reboot is required. ==== The system can be configured to automatically check for updates once every day by adding this entry to [.filename]#/etc/crontab#: [.programlisting] .... @daily root freebsd-update cron .... If patches exist, they will automatically be downloaded but will not be applied. The `root` user will be sent an email so that the patches may be reviewed and manually installed with `freebsd-update install`. If anything goes wrong, `freebsd-update` has the ability to roll back the last set of changes with the following command: [source,shell] .... # freebsd-update rollback Uninstalling updates... done. .... Again, the system should be restarted if the kernel or any kernel modules were modified and any affected binaries should be restarted. Only the [.filename]#GENERIC# kernel can be automatically updated by `freebsd-update`. If a custom kernel is installed, it will have to be rebuilt and reinstalled after `freebsd-update` finishes installing the updates. The default kernel name is _GENERIC_. The man:uname[1] command may be used to verify its installation. [NOTE] ==== Always keep a copy of the [.filename]#GENERIC# kernel in [.filename]#/boot/GENERIC#. It will be helpful in diagnosing a variety of problems and in performing version upgrades. Refer to <> for instructions on how to get a copy of the [.filename]#GENERIC# kernel. ==== Unless the default configuration in [.filename]#/etc/freebsd-update.conf# has been changed, `freebsd-update` will install the updated kernel sources along with the rest of the updates. Rebuilding and reinstalling a new custom kernel can then be performed in the usual way. The updates distributed by `freebsd-update` do not always involve the kernel. It is not necessary to rebuild a custom kernel if the kernel sources have not been modified by `freebsd-update install`. However, `freebsd-update` will always update [.filename]#/usr/src/sys/conf/newvers.sh#. The current patch level, as indicated by the `-p` number reported by `uname -r`, is obtained from this file. Rebuilding a custom kernel, even if nothing else changed, allows `uname` to accurately report the current patch level of the system. This is particularly helpful when maintaining multiple systems, as it allows for a quick assessment of the updates installed in each one. [[freebsdupdate-upgrade]] === Performing Major and Minor Version Upgrades Upgrades from one minor version of FreeBSD to another, like from FreeBSD 9.0 to FreeBSD 9.1, are called _minor version_ upgrades. _Major version_ upgrades occur when FreeBSD is upgraded from one major version to another, like from FreeBSD 9.X to FreeBSD 10.X. Both types of upgrades can be performed by providing `freebsd-update` with a release version target. [NOTE] ==== If the system is running a custom kernel, make sure that a copy of the [.filename]#GENERIC# kernel exists in [.filename]#/boot/GENERIC# before starting the upgrade. Refer to <> for instructions on how to get a copy of the [.filename]#GENERIC# kernel. ==== The following command, when run on a FreeBSD 9.0 system, will upgrade it to FreeBSD 9.1: [source,shell] .... # freebsd-update -r 9.1-RELEASE upgrade .... After the command has been received, `freebsd-update` will evaluate the configuration file and current system in an attempt to gather the information necessary to perform the upgrade. A screen listing will display which components have and have not been detected. For example: [source,shell] .... Looking up update.FreeBSD.org mirrors... 1 mirrors found. Fetching metadata signature for 9.0-RELEASE from update1.FreeBSD.org... done. Fetching metadata index... done. Inspecting system... done. The following components of FreeBSD seem to be installed: kernel/smp src/base src/bin src/contrib src/crypto src/etc src/games src/gnu src/include src/krb5 src/lib src/libexec src/release src/rescue src/sbin src/secure src/share src/sys src/tools src/ubin src/usbin world/base world/info world/lib32 world/manpages The following components of FreeBSD do not seem to be installed: kernel/generic world/catpages world/dict world/doc world/games world/proflibs Does this look reasonable (y/n)? y .... At this point, `freebsd-update` will attempt to download all files required for the upgrade. In some cases, the user may be prompted with questions regarding what to install or how to proceed. When using a custom kernel, the above step will produce a warning similar to the following: [source,shell] .... WARNING: This system is running a "MYKERNEL" kernel, which is not a kernel configuration distributed as part of FreeBSD 9.0-RELEASE. This kernel will not be updated: you MUST update the kernel manually before running "/usr/sbin/freebsd-update install" .... This warning may be safely ignored at this point. The updated [.filename]#GENERIC# kernel will be used as an intermediate step in the upgrade process. Once all the patches have been downloaded to the local system, they will be applied. This process may take a while, depending on the speed and workload of the machine. Configuration files will then be merged. The merging process requires some user intervention as a file may be merged or an editor may appear on screen for a manual merge. The results of every successful merge will be shown to the user as the process continues. A failed or ignored merge will cause the process to abort. Users may wish to make a backup of [.filename]#/etc# and manually merge important files, such as [.filename]#master.passwd# or [.filename]#group# at a later time. [NOTE] ==== The system is not being altered yet as all patching and merging is happening in another directory. Once all patches have been applied successfully, all configuration files have been merged and it seems the process will go smoothly, the changes can be committed to disk by the user using the following command: [source,shell] .... # freebsd-update install .... ==== The kernel and kernel modules will be patched first. If the system is running with a custom kernel, use man:nextboot[8] to set the kernel for the next boot to the updated [.filename]#/boot/GENERIC#: [source,shell] .... # nextboot -k GENERIC .... [WARNING] ==== Before rebooting with the [.filename]#GENERIC# kernel, make sure it contains all the drivers required for the system to boot properly and connect to the network, if the machine being updated is accessed remotely. In particular, if the running custom kernel contains built-in functionality usually provided by kernel modules, make sure to temporarily load these modules into the [.filename]#GENERIC# kernel using the [.filename]#/boot/loader.conf# facility. It is recommended to disable non-essential services as well as any disk and network mounts until the upgrade process is complete. ==== The machine should now be restarted with the updated kernel: [source,shell] .... # shutdown -r now .... Once the system has come back online, restart `freebsd-update` using the following command. Since the state of the process has been saved, `freebsd-update` will not start from the beginning, but will instead move on to the next phase and remove all old shared libraries and object files. [source,shell] .... # freebsd-update install .... [NOTE] ==== Depending upon whether any library version numbers were bumped, there may only be two install phases instead of three. ==== The upgrade is now complete. If this was a major version upgrade, reinstall all ports and packages as described in <>. [[freebsd-update-custom-kernel-9x]] ==== Custom Kernels with FreeBSD 9.X and Later Before using `freebsd-update`, ensure that a copy of the [.filename]#GENERIC# kernel exists in [.filename]#/boot/GENERIC#. If a custom kernel has only been built once, the kernel in [.filename]#/boot/kernel.old# is the `GENERIC` kernel. Simply rename this directory to [.filename]#/boot/GENERIC#. If a custom kernel has been built more than once or if it is unknown how many times the custom kernel has been built, obtain a copy of the `GENERIC` kernel that matches the current version of the operating system. If physical access to the system is available, a copy of the `GENERIC` kernel can be installed from the installation media: [source,shell] .... # mount /cdrom # cd /cdrom/usr/freebsd-dist # tar -C/ -xvf kernel.txz boot/kernel/kernel .... Alternately, the `GENERIC` kernel may be rebuilt and installed from source: [source,shell] .... # cd /usr/src # make kernel __MAKE_CONF=/dev/null SRCCONF=/dev/null .... For this kernel to be identified as the `GENERIC` kernel by `freebsd-update`, the [.filename]#GENERIC# configuration file must not have been modified in any way. It is also suggested that the kernel is built without any other special options. Rebooting into the [.filename]#GENERIC# kernel is not required as `freebsd-update` only needs [.filename]#/boot/GENERIC# to exist. [[freebsdupdate-portsrebuild]] ==== Upgrading Packages After a Major Version Upgrade Generally, installed applications will continue to work without problems after minor version upgrades. Major versions use different Application Binary Interfaces (ABIs), which will break most third-party applications. After a major version upgrade, all installed packages and ports need to be upgraded. Packages can be upgraded using `pkg upgrade`. To upgrade installed ports, use a utility such as package:ports-mgmt/portmaster[]. A forced upgrade of all installed packages will replace the packages with fresh versions from the repository even if the version number has not increased. This is required because of the ABI version change when upgrading between major versions of FreeBSD. The forced upgrade can be accomplished by performing: [source,shell] .... # pkg-static upgrade -f .... A rebuild of all installed applications can be accomplished with this command: [source,shell] .... # portmaster -af .... This command will display the configuration screens for each application that has configurable options and wait for the user to interact with those screens. To prevent this behavior, and use only the default options, include `-G` in the above command. Once the software upgrades are complete, finish the upgrade process with a final call to `freebsd-update` in order to tie up all the loose ends in the upgrade process: [source,shell] .... # freebsd-update install .... If the [.filename]#GENERIC# kernel was temporarily used, this is the time to build and install a new custom kernel using the instructions in crossref:kernelconfig[kernelconfig,Configuring the FreeBSD Kernel]. Reboot the machine into the new FreeBSD version. The upgrade process is now complete. [[freebsdupdate-system-comparison]] === System State Comparison The state of the installed FreeBSD version against a known good copy can be tested using `freebsd-update IDS`. This command evaluates the current version of system utilities, libraries, and configuration files and can be used as a built-in Intrusion Detection System (IDS). [WARNING] ==== This command is not a replacement for a real IDS such as package:security/snort[]. As `freebsd-update` stores data on disk, the possibility of tampering is evident. While this possibility may be reduced using `kern.securelevel` and by storing the `freebsd-update` data on a read-only file system when not in use, a better solution would be to compare the system against a secure disk, such as a DVD or securely stored external USB disk device. An alternative method for providing IDS functionality using a built-in utility is described in crossref:security[security-ids,"Binary Verification"] ==== To begin the comparison, specify the output file to save the results to: [source,shell] .... # freebsd-update IDS >> outfile.ids .... The system will now be inspected and a lengthy listing of files, along with the SHA256 hash values for both the known value in the release and the current installation, will be sent to the specified output file. The entries in the listing are extremely long, but the output format may be easily parsed. For instance, to obtain a list of all files which differ from those in the release, issue the following command: [source,shell] .... # cat outfile.ids | awk '{ print $1 }' | more /etc/master.passwd /etc/motd /etc/passwd /etc/pf.conf .... This sample output has been truncated as many more files exist. Some files have natural modifications. For example, [.filename]#/etc/passwd# will be modified if users have been added to the system. Kernel modules may differ as `freebsd-update` may have updated them. To exclude specific files or directories, add them to the `IDSIgnorePaths` option in [.filename]#/etc/freebsd-update.conf#. [[updating-upgrading-documentation]] == Updating the Documentation Set Documentation is an integral part of the FreeBSD operating system. While an up-to-date version of the FreeBSD documentation is always available on the FreeBSD web site (link:https://docs.FreeBSD.org[Documentation Portal]), it can be handy to have an up-to-date, local copy of the FreeBSD website, handbooks, FAQ, and articles. This section describes how to use either source or the FreeBSD Ports Collection to keep a local copy of the FreeBSD documentation up-to-date. For information on editing and submitting corrections to the documentation, refer to the FreeBSD Documentation Project Primer for New Contributors (link:{fdp-primer}[FreeBSD Documentation Project Primer for New Contributors]). [[updating-installed-documentation]] === Updating Documentation from Source Rebuilding the FreeBSD documentation from source requires a collection of tools which are not part of the FreeBSD base system. The required tools can be installed following link:{fdp-primer}#overview-quick-start[these steps] from the FreeBSD Documentation Project Primer. Once installed, use `git` to fetch a clean copy of the documentation source: [source,shell] .... # git clone https://git.FreeBSD.org/doc.git /usr/doc .... The initial download of the documentation sources may take a while. Let it run until it completes. Future updates of the documentation sources may be fetched by running: [source,shell] .... # git pull .... Once an up-to-date snapshot of the documentation sources has been fetched to [.filename]#/usr/doc#, everything is ready for an update of the installed documentation. A full update may be performed by typing: [source,shell] .... # cd /usr/doc # make .... [[current-stable]] == Tracking a Development Branch FreeBSD has two development branches: FreeBSD-CURRENT and FreeBSD-STABLE. This section provides an explanation of each branch and its intended audience, as well as how to keep a system up-to-date with each respective branch. [[current]] === Using FreeBSD-CURRENT FreeBSD-CURRENT is the "bleeding edge" of FreeBSD development and FreeBSD-CURRENT users are expected to have a high degree of technical skill. Less technical users who wish to track a development branch should track FreeBSD-STABLE instead. FreeBSD-CURRENT is the very latest source code for FreeBSD and includes works in progress, experimental changes, and transitional mechanisms that might or might not be present in the next official release. While many FreeBSD developers compile the FreeBSD-CURRENT source code daily, there are short periods of time when the source may not be buildable. These problems are resolved as quickly as possible, but whether or not FreeBSD-CURRENT brings disaster or new functionality can be a matter of when the source code was synced. FreeBSD-CURRENT is made available for three primary interest groups: . Members of the FreeBSD community who are actively working on some part of the source tree. . Members of the FreeBSD community who are active testers. They are willing to spend time solving problems, making topical suggestions on changes and the general direction of FreeBSD, and submitting patches. . Users who wish to keep an eye on things, use the current source for reference purposes, or make the occasional comment or code contribution. FreeBSD-CURRENT should _not_ be considered a fast-track to getting new features before the next release as pre-release features are not yet fully tested and most likely contain bugs. It is not a quick way of getting bug fixes as any given commit is just as likely to introduce new bugs as to fix existing ones. FreeBSD-CURRENT is not in any way "officially supported". To track FreeBSD-CURRENT: . Join the {freebsd-current} and the {dev-commits-src-main} lists. This is _essential_ in order to see the comments that people are making about the current state of the system and to receive important bulletins about the current state of FreeBSD-CURRENT. + The {dev-commits-src-main} list records the commit log entry for each change as it is made, along with any pertinent information on possible side effects. + -To join these lists, go to {mailman-lists}, click on the list to subscribe to, and follow the instructions. +To join these lists, go to {mailing-lists}, click on the list to subscribe to, and follow the instructions. In order to track changes to the whole source tree, not just the changes to FreeBSD-CURRENT, subscribe to the {dev-commits-src-all}. . Synchronize with the FreeBSD-CURRENT sources. Typically, `git` is used to check out the -CURRENT code from the `main` branch of the FreeBSD Git repository (see crossref:mirrors[git,“Using Git”] for details). . Due to the size of the repository, some users choose to only synchronize the sections of source that interest them or which they are contributing patches to. However, users that plan to compile the operating system from source must download _all_ of FreeBSD-CURRENT, not just selected portions. + Before compiling FreeBSD-CURRENT, read [.filename]#/usr/src/Makefile# very carefully and follow the instructions in <>. Read the {freebsd-current} and [.filename]#/usr/src/UPDATING# to stay up-to-date on other bootstrapping procedures that sometimes become necessary on the road to the next release. . Be active! FreeBSD-CURRENT users are encouraged to submit their suggestions for enhancements or bug fixes. Suggestions with accompanying code are always welcome. [[stable]] === Using FreeBSD-STABLE FreeBSD-STABLE is the development branch from which major releases are made. Changes go into this branch at a slower pace and with the general assumption that they have first been tested in FreeBSD-CURRENT. This is _still_ a development branch and, at any given time, the sources for FreeBSD-STABLE may or may not be suitable for general use. It is simply another engineering development track, not a resource for end-users. Users who do not have the resources to perform testing should instead run the most recent release of FreeBSD. Those interested in tracking or contributing to the FreeBSD development process, especially as it relates to the next release of FreeBSD, should consider following FreeBSD-STABLE. While the FreeBSD-STABLE branch should compile and run at all times, this cannot be guaranteed. Since more people run FreeBSD-STABLE than FreeBSD-CURRENT, it is inevitable that bugs and corner cases will sometimes be found in FreeBSD-STABLE that were not apparent in FreeBSD-CURRENT. For this reason, one should not blindly track FreeBSD-STABLE. It is particularly important _not_ to update any production servers to FreeBSD-STABLE without thoroughly testing the code in a development or testing environment. To track FreeBSD-STABLE: . Join the {freebsd-stable} in order to stay informed of build dependencies that may appear in FreeBSD-STABLE or any other issues requiring special attention. Developers will also make announcements in this mailing list when they are contemplating some controversial fix or update, giving the users a chance to respond if they have any issues to raise concerning the proposed change. + Join the relevant git list for the branch being tracked. For example, users tracking the {betarel-current-major}-STABLE branch should join the {dev-commits-src-branches}. This list records the commit log entry for each change as it is made, along with any pertinent information on possible side effects. + -To join these lists, go to {mailman-lists}, click on the list to subscribe to, and follow the instructions. +To join these lists, go to {mailing-lists}, click on the list to subscribe to, and follow the instructions. In order to track changes for the whole source tree, subscribe to {dev-commits-src-all}. . To install a new FreeBSD-STABLE system, install the most recent FreeBSD-STABLE release from the crossref:mirrors[mirrors,FreeBSD mirror sites] or use a monthly snapshot built from FreeBSD-STABLE. Refer to link:https://www.FreeBSD.org/snapshots/[www.freebsd.org/snapshots] for more information about snapshots. + To compile or upgrade to an existing FreeBSD system to FreeBSD-STABLE, use `git` to check out the source for the desired branch. Branch names, such as `stable/9`, are listed at link:https://www.FreeBSD.org/releng/[www.freebsd.org/releng]. . Before compiling or upgrading to FreeBSD-STABLE , read [.filename]#/usr/src/Makefile# carefully and follow the instructions in <>. Read the {freebsd-stable} and [.filename]#/usr/src/UPDATING# to keep up-to-date on other bootstrapping procedures that sometimes become necessary on the road to the next release. [[translate-n-number]] === The N-number When tracking down bugs it is important to know which versions of the source code have been used to create the system exhibiting an issue. FreeBSD provides version information compiled into the kernel. man:uname[1] retrieves this information, for example: [source,shell] .... % uname -a FreeBSD 14.0-CURRENT #112 main-n247514-031260d64c18: Tue Jun 22 20:43:19 MDT 2021 fred@machine:/usr/home/fred/obj/usr/home/fred/git/head/amd64.amd64/sys/FRED .... Looking at the 4th field, it is made up of several parts: [source,shell] .... main-n247514-031260d64c18 main <.> n247514 <.> 031260d64c18 <.> <.> .... <.> Git branch name. Note: comparisons of n-numbers are only valid on branches published by the project (`main`, `stable/XX` and `releng/XX`). Local branches will have n-numbers that will overlap commits of their parent branch. <.> The n-number is a linear count of commits back to the start of the Git repository starting with the Git hash included in the line. <.> Git hash of the checked out tree <.> Sometimes a suffix of `-dirty` is present when the kernel was built in a tree with uncommitted changes. It is absent in this example because the FRED kernel was built from a pristine checkout. The `git rev-list` command is used to find the n-number corresponding to a Git hash. For example: [source,shell] .... % git rev-list --first-parent --count 031260d64c18 <.> 247514 <.> .... <.> git hash to translate (the hash from the above example is reused) <.> The n-number. Usually this number is not all that important. However, when bug fixes are committed, this number makes it easy to quickly determine whether the fix is present in the currently running system. Developers will often refer to the hash of the commit (or provide a URL which has that hash), but not the n-number since the hash is the easily visible identifier for a change while the n-number is not. Security advisories and errata notices will also note an n-number, which can be directly compared against your system. When you need to use shallow Git clones, you cannot compare n-numbers reliably as the `git rev-list` command counts all the revisions in the repository which a shallow clone omits. [[makeworld]] == Updating FreeBSD from Source Updating FreeBSD by compiling from source offers several advantages over binary updates. Code can be built with options to take advantage of specific hardware. Parts of the base system can be built with non-default settings, or left out entirely where they are not needed or desired. The build process takes longer to update a system than just installing binary updates, but allows complete customization to produce a tailored version of FreeBSD. [[updating-src-quick-start]] === Quick Start This is a quick reference for the typical steps used to update FreeBSD by building from source. Later sections describe the process in more detail. [.procedure] ==== * Update and Build + [source,shell] .... # git pull /usr/src <.> check /usr/src/UPDATING <.> # cd /usr/src <.> # make -j4 buildworld <.> # make -j4 kernel <.> # shutdown -r now <.> # etcupdate -p <.> # cd /usr/src <.> # make installworld <.> # etcupdate -B <.> # shutdown -r now <.> .... <.> Get the latest version of the source. See <> for more information on obtaining and updating source. <.> Check [.filename]#/usr/src/UPDATING# for any manual steps required before or after building from source. <.> Go to the source directory. <.> Compile the world, everything except the kernel. <.> Compile and install the kernel. This is equivalent to `make buildkernel installkernel`. <.> Reboot the system to the new kernel. <.> Update and merge configuraton files in [.filename]#/etc/# required before installworld. <.> Go to the source directory. <.> Install the world. <.> Update and merge configuration files in [.filename]#/etc/#. <.> Restart the system to use the newly-built world and kernel. ==== [[updating-src-preparing]] === Preparing for a Source Update Read [.filename]#/usr/src/UPDATING#. Any manual steps that must be performed before or after an update are described in this file. [[updating-src-obtaining-src]] === Updating the Source FreeBSD source code is located in [.filename]#/usr/src/#. The preferred method of updating this source is through the Git version control system. Verify that the source code is under version control: [source,shell] .... # cd /usr/src # git remote --v origin https://git.freebsd.org/src.git (fetch) origin https://git.freebsd.org/src.git (push) .... This indicates that [.filename]#/usr/src/# is under version control and can be updated with man:git[1]: [[synching]] [source,shell] .... # git pull /usr/src .... The update process can take some time if the directory has not been updated recently. After it finishes, the source code is up to date and the build process described in the next section can begin. [NOTE] ==== *Obtaining the Source:* + If the output says `fatal: not a git repository`, the files there are missing or were installed with a different method. A new checkout of the source is required. [[updating-src-obtaining-src-repopath]] .FreeBSD Versions and Repository Branchs [cols="10%,10%,80%", options="header"] |=== | uname -r Output | Repository Path | Description |`_X.Y_-RELEASE` |`releng/_X.Y_` |The Release version plus only critical security and bug fix patches. This branch is recommended for most users. |`_X.Y_-STABLE` |`stable/_X_` | The Release version plus all additional development on that branch. _STABLE_ refers to the Applications Binary Interface (ABI) not changing, so software compiled for earlier versions still runs. For example, software compiled to run on FreeBSD 10.1 will still run on FreeBSD 10-STABLE compiled later. STABLE branches occasionally have bugs or incompatibilities which might affect users, although these are typically fixed quickly. |`_X_-CURRENT` |`main` |The latest unreleased development version of FreeBSD. The CURRENT branch can have major bugs or incompatibilities and is recommended only for advanced users. |=== Determine which version of FreeBSD is being used with man:uname[1]: [source,shell] .... # uname -r 10.3-RELEASE .... Based on <>, the source used to update `10.3-RELEASE` has a repository path of `releng/10.3`. That path is used when checking out the source: [source,shell] .... # mv /usr/src /usr/src.bak <.> # git clone --branch releng/10.3 https://git.FreeBSD.org/src.git /usr/src <.> .... <.> Move the old directory out of the way. If there are no local modifications in this directory, it can be deleted. <.> The path from <> is added to the repository URL. The third parameter is the destination directory for the source code on the local system. ==== [[updating-src-building]] === Building from Source The _world_, or all of the operating system except the kernel, is compiled. This is done first to provide up-to-date tools to build the kernel. Then the kernel itself is built: [source,shell] .... # cd /usr/src # make buildworld # make buildkernel .... The compiled code is written to [.filename]#/usr/obj#. These are the basic steps. Additional options to control the build are described below. [[updating-src-building-clean-build]] ==== Performing a Clean Build Some versions of the FreeBSD build system leave previously-compiled code in the temporary object directory, [.filename]#/usr/obj#. This can speed up later builds by avoiding recompiling code that has not changed. To force a clean rebuild of everything, use `cleanworld` before starting a build: [source,shell] .... # make cleanworld .... [[updating-src-building-jobs]] ==== Setting the Number of Jobs Increasing the number of build jobs on multi-core processors can improve build speed. Determine the number of cores with `sysctl hw.ncpu`. Processors vary, as do the build systems used with different versions of FreeBSD, so testing is the only sure method to tell how a different number of jobs affects the build speed. For a starting point, consider values between half and double the number of cores. The number of jobs is specified with `-j`. [[updating-src-building-jobs-example]] .Increasing the Number of Build Jobs [example] ==== Building the world and kernel with four jobs: [source,shell] .... # make -j4 buildworld buildkernel .... ==== [[updating-src-building-only-kernel]] ==== Building Only the Kernel A `buildworld` must be completed if the source code has changed. After that, a `buildkernel` to build a kernel can be run at any time. To build just the kernel: [source,shell] .... # cd /usr/src # make buildkernel .... [[updating-src-building-custom-kernel]] ==== Building a Custom Kernel The standard FreeBSD kernel is based on a _kernel config file_ called [.filename]#GENERIC#. The [.filename]#GENERIC# kernel includes the most commonly-needed device drivers and options. Sometimes it is useful or necessary to build a custom kernel, adding or removing device drivers or options to fit a specific need. For example, someone developing a small embedded computer with severely limited RAM could remove unneeded device drivers or options to make the kernel slightly smaller. Kernel config files are located in [.filename]#/usr/src/sys/arch/conf/#, where _arch_ is the output from `uname -m`. On most computers, that is `amd64`, giving a config file directory of [.filename]#/usr/src/sys/amd64/conf/#. [TIP] ==== [.filename]#/usr/src# can be deleted or recreated, so it is preferable to keep custom kernel config files in a separate directory, like [.filename]#/root#. Link the kernel config file into the [.filename]#conf# directory. If that directory is deleted or overwritten, the kernel config can be re-linked into the new one. ==== A custom config file can be created by copying the [.filename]#GENERIC# config file. In this example, the new custom kernel is for a storage server, so is named [.filename]#STORAGESERVER#: [source,shell] .... # cp /usr/src/sys/amd64/conf/GENERIC /root/STORAGESERVER # cd /usr/src/sys/amd64/conf # ln -s /root/STORAGESERVER . .... [.filename]#/root/STORAGESERVER# is then edited, adding or removing devices or options as shown in man:config[5]. The custom kernel is built by setting `KERNCONF` to the kernel config file on the command line: [source,shell] .... # make buildkernel KERNCONF=STORAGESERVER .... [[updating-src-installing]] === Installing the Compiled Code After the `buildworld` and `buildkernel` steps have been completed, the new kernel and world are installed: [source,shell] .... # cd /usr/src # make installkernel # shutdown -r now # cd /usr/src # make installworld # shutdown -r now .... If a custom kernel was built, `KERNCONF` must also be set to use the new custom kernel: [source,shell] .... # cd /usr/src # make installkernel KERNCONF=STORAGESERVER # shutdown -r now # cd /usr/src # make installworld # shutdown -r now .... [[updating-src-completing]] === Completing the Update A few final tasks complete the update. Any modified configuration files are merged with the new versions, outdated libraries are located and removed, then the system is restarted. [[updating-src-completing-merge-etcupdate]] ==== Merging Configuration Files with man:etcupdate[8] man:etcupdate[8] is a tool for managing updates to files that are not updated as part of an installworld such as files located in [.filename]#/etc/#. It manages updates by doing a three-way merge of changes made to these files against the local versions. It is also designed to minimize the amount of user intervention, in contrast to man:mergemaster[8]'s interactive prompts. [NOTE] ==== In general, man:etcupdate[8] does not need any specific arguments for its job. There is however a handy in between command for sanity checking what will be done the first time man:etcupdate[8] is used: [source,shell] .... # etcupdate diff .... This command allows the user to audit configuration changes. ==== If man:etcupdate[8] is not able to merge a file automatically, the merge conflicts can be resolved with manual interaction by issuing: [source,shell] .... # etcupdate resolve .... [WARNING] ==== When switching from man:mergemaster[8] to man:etcupdate[8], the first run might merge changes incorrectly generating spurious conflicts. To prevent this, perform the following steps *before* updating sources and building the new world: [source,shell] .... # etcupdate extract <.> # etcupdate diff <.> .... <.> Bootstrap the database of stock [.filename]#/etc# files, for more information see man:etcupdate[8]. <.> Check the diff after bootstrapping. Trim any local changes that are no longer needed to reduce the chance of conflicts in future updates. ==== [[updating-src-completing-merge-mergemaster]] ==== Merging Configuration Files with man:mergemaster[8] man:mergemaster[8] provides a way to merge changes that have been made to system configuration files with new versions of those files. man:mergemaster[8] is an alternative to the preferred man:etcupdate[8] With `-Ui`, man:mergemaster[8] automatically updates files that have not been user-modified and installs new files that are not already present: [source,shell] .... # mergemaster -Ui .... If a file must be manually merged, an interactive display allows the user to choose which portions of the files are kept. See man:mergemaster[8] for more information. [[updating-src-completing-check-old]] ==== Checking for Outdated Files and Libraries Some obsolete files or directories can remain after an update. These files can be located: [source,shell] .... # make check-old .... and deleted: [source,shell] .... # make delete-old .... Some obsolete libraries can also remain. These can be detected with: [source,shell] .... # make check-old-libs .... and deleted with [source,shell] .... # make delete-old-libs .... Programs which were still using those old libraries will stop working when the library has been deleted. These programs must be rebuilt or replaced after deleting the old libraries. [TIP] ==== When all the old files or directories are known to be safe to delete, pressing kbd:[y] and kbd:[Enter] to delete each file can be avoided by setting `BATCH_DELETE_OLD_FILES` in the command. For example: [source,shell] .... # make BATCH_DELETE_OLD_FILES=yes delete-old-libs .... ==== [[updating-src-completing-restart]] ==== Restarting After the Update The last step after updating is to restart the computer so all the changes take effect: [source,shell] .... # shutdown -r now .... [[small-lan]] == Tracking for Multiple Machines When multiple machines need to track the same source tree, it is a waste of disk space, network bandwidth, and CPU cycles to have each system download the sources and rebuild everything. The solution is to have one machine do most of the work, while the rest of the machines mount that work via NFS. This section outlines a method of doing so. For more information about using NFS, refer to crossref:network-servers[network-nfs,"Network File System (NFS)"]. First, identify a set of machines which will run the same set of binaries, known as a _build set_. Each machine can have a custom kernel, but will run the same userland binaries. From that set, choose a machine to be the _build machine_ that the world and kernel are built on. Ideally, this is a fast machine that has sufficient spare CPU to run `make buildworld` and `make buildkernel`. Select a machine to be the _test machine_, which will test software updates before they are put into production. This _must_ be a machine that can afford to be down for an extended period of time. It can be the build machine, but need not be. All the machines in this build set need to mount [.filename]#/usr/obj# and [.filename]#/usr/src# from the build machine via NFS. For multiple build sets, [.filename]#/usr/src# should be on one build machine, and NFS mounted on the rest. Ensure that [.filename]#/etc/make.conf# and [.filename]#/etc/src.conf# on all the machines in the build set agree with the build machine. That means that the build machine must build all the parts of the base system that any machine in the build set is going to install. Also, each build machine should have its kernel name set with `KERNCONF` in [.filename]#/etc/make.conf#, and the build machine should list them all in its `KERNCONF`, listing its own kernel first. The build machine must have the kernel configuration files for each machine in its [.filename]#/usr/src/sys/arch/conf#. On the build machine, build the kernel and world as described in <>, but do not install anything on the build machine. Instead, install the built kernel on the test machine. On the test machine, mount [.filename]#/usr/src# and [.filename]#/usr/obj# via NFS. Then, run `shutdown now` to go to single-user mode in order to install the new kernel and world and run `mergemaster` as usual. When done, reboot to return to normal multi-user operations. After verifying that everything on the test machine is working properly, use the same procedure to install the new software on each of the other machines in the build set. The same methodology can be used for the ports tree. The first step is to share [.filename]#/usr/ports# via NFS to all the machines in the build set. To configure [.filename]#/etc/make.conf# to share distfiles, set `DISTDIR` to a common shared directory that is writable by whichever user `root` is mapped to by the NFS mount. Each machine should set `WRKDIRPREFIX` to a local build directory, if ports are to be built locally. Alternately, if the build system is to build and distribute packages to the machines in the build set, set `PACKAGES` on the build system to a directory similar to `DISTDIR`. diff --git a/documentation/content/en/books/handbook/eresources/_index.adoc b/documentation/content/en/books/handbook/eresources/_index.adoc index 08922502dd..3335096c10 100644 --- a/documentation/content/en/books/handbook/eresources/_index.adoc +++ b/documentation/content/en/books/handbook/eresources/_index.adoc @@ -1,1310 +1,1310 @@ --- title: Appendix C. Resources on the Internet part: Part V. Appendices prev: books/handbook/bibliography next: books/handbook/pgpkeys description: FreeBSD additional resources on internet like websites, mailing lists, mirrors, etc tags: ["eresources", "Websites", "Mailing Lists", "Usenet", "Newsgroups"] --- [appendix] [[eresources]] = Resources on the Internet :doctype: book :icons: font :sectnums: :sectnumlevels: 6 :source-highlighter: rouge :experimental: :skip-front-matter: :xrefstyle: basic :relfileprefix: ../ :outfilesuffix: :sectnumoffset: C include::shared/mirrors.adoc[] include::shared/authors.adoc[] include::shared/releases.adoc[] include::shared/en/mailing-lists.adoc[] include::shared/en/teams.adoc[] include::shared/en/urls.adoc[] The rapid pace of FreeBSD progress makes print media impractical as a means of following the latest developments. Electronic resources are the best, if not often the only, way to stay informed of the latest advances. Since FreeBSD is a volunteer effort, the user community itself also generally serves as a "technical support department" of sorts, with electronic mail, web forums, and USENET news being the most effective way of reaching that community. The most important points of contact with the FreeBSD user community are outlined below. Please send other resources not mentioned here to the {freebsd-doc} so that they may also be included. [[eresources-www]] == Websites * https://forums.FreeBSD.org/[The FreeBSD Forums] provide a web based discussion forum for FreeBSD questions and technical discussion. * The http://www.youtube.com/bsdconferences[BSDConferences YouTube Channel] provides a collection of high quality videos from BSD conferences around the world. This is a great way to watch key developers give presentations about new work in FreeBSD. [[eresources-mail]] == Mailing Lists The mailing lists are the most direct way of addressing questions or opening a technical discussion to a concentrated FreeBSD audience. There are a wide variety of lists on a number of different FreeBSD topics. Sending questions to the most appropriate mailing list will invariably assure a faster and more accurate response. The charters for the various lists are given at the bottom of this document. _Please read the charter before joining or sending mail to any list_. Most list subscribers receive many hundreds of FreeBSD related messages every day, and the charters and rules for use are meant to keep the signal-to-noise ratio of the lists high. To do less would see the mailing lists ultimately fail as an effective communications medium for the Project. [NOTE] ==== _To test the ability to send email to FreeBSD lists, send a test message to {freebsd-test}._ Please do not send test messages to any other list. ==== When in doubt about what list to post a question to, see link:{freebsd-questions-article}[How to get best results from the FreeBSD-questions mailing list]. Before posting to any list, please learn about how to best use the mailing lists, such as how to help avoid frequently-repeated discussions, by reading the link:{mailing-list-faq}[Mailing List Frequently Asked Questions] (FAQ) document. Archives are kept for all of the mailing lists and can be searched using the https://www.FreeBSD.org/search/[FreeBSD World Wide Web server]. The keyword searchable archive offers an excellent way of finding answers to frequently asked questions and should be consulted before posting a question. Note that this also means that messages sent to FreeBSD mailing lists are archived in perpetuity. When protecting privacy is a concern, consider using a disposable secondary email address and posting only public information. [[eresources-summary]] === List Summary _General lists:_ The following are general lists which anyone is free (and encouraged) to join: [.informaltable] [cols="20%,80%", frame="none", options="header"] |=== | List | Purpose |link:{freebsd-advocacy-url}[freebsd-advocacy] |FreeBSD Evangelism |link:{freebsd-announce-url}[freebsd-announce] |Important events and Project milestones (moderated) |link:{freebsd-arch-url}[freebsd-arch] |Architecture and design discussions |link:{freebsd-bugbusters-url}[freebsd-bugbusters] |Discussions pertaining to the maintenance of the FreeBSD problem report database and related tools |link:{freebsd-bugs-url}[freebsd-bugs] |Bug reports |link:{freebsd-chat-url}[freebsd-chat] |Non-technical items related to the FreeBSD community |link:{freebsd-chromium-url}[freebsd-chromium] |FreeBSD-specific Chromium issues |link:{freebsd-current-url}[freebsd-current] |Discussion concerning the use of FreeBSD-CURRENT |link:{freebsd-isp-url}[freebsd-isp] |Issues for Internet Service Providers using FreeBSD |link:{freebsd-jobs-url}[freebsd-jobs] |FreeBSD employment and consulting opportunities |link:{freebsd-quarterly-calls-url}[freebsd-quarterly-calls] |Calls for quarterly status reports (moderated) |link:{freebsd-questions-url}[freebsd-questions] |User questions and technical support |link:{freebsd-security-notifications-url}[freebsd-security-notifications] |Security notifications (moderated) |link:{freebsd-stable-url}[freebsd-stable] |Discussion concerning the use of FreeBSD-STABLE |link:{freebsd-test-url}[freebsd-test] |Where to send test messages instead of to one of the actual lists |link:{freebsd-women-url}[freebsd-women] |FreeBSD advocacy for women |=== _Technical lists:_ The following lists are for technical discussion. Read the charter for each list carefully before joining or sending mail to one as there are firm guidelines for their use and content. [.informaltable] [cols="20%,80%", frame="none", options="header"] |=== | List | Purpose |link:{freebsd-acpi-url}[freebsd-acpi] |ACPI and power management development |link:{freebsd-amd64-url}[freebsd-amd64] |Porting FreeBSD to AMD64 systems (moderated) |link:{freebsd-apache-url}[freebsd-apache] |Discussion about Apache related ports |link:{freebsd-arm-url}[freebsd-arm] |Porting FreeBSD to ARM(R) processors |link:{freebsd-atm-url}[freebsd-atm] |Using ATM networking with FreeBSD |link:{freebsd-bluetooth-url}[freebsd-bluetooth] |Using Bluetooth(R) technology in FreeBSD |link:{freebsd-cloud-url}[freebsd-cloud] |FreeBSD on cloud platforms (EC2, GCE, Azure, etc.) |link:{freebsd-cluster-url}[freebsd-cluster] |Using FreeBSD in a clustered environment |link:{freebsd-database-url}[freebsd-database] |Discussing database use and development under FreeBSD |link:{freebsd-desktop-url}[freebsd-desktop] |Using and improving FreeBSD on the desktop |link:{dev-ci-url}[dev-ci] |Build and test reports from the Continuous Integration servers |link:{dev-reviews-url}[dev-reviews] |Notifications of the FreeBSD review system |link:{freebsd-doc-url}[freebsd-doc] |Creating FreeBSD related documents |link:{freebsd-drivers-url}[freebsd-drivers] |Writing device drivers for FreeBSD |link:{freebsd-dtrace-url}[freebsd-dtrace] |Using and working on DTrace in FreeBSD |link:{freebsd-eclipse-url}[freebsd-eclipse] |FreeBSD users of Eclipse IDE, tools, rich client applications and ports. |link:{freebsd-elastic-url}[freebsd-elastic] |FreeBSD-specific ElasticSearch discussions |link:{freebsd-embedded-url}[freebsd-embedded] |Using FreeBSD in embedded applications |link:{freebsd-eol-url}[freebsd-eol] |Peer support of FreeBSD-related software that is no longer supported by the FreeBSD Project. |link:{freebsd-emulation-url}[freebsd-emulation] |Emulation of other systems such as Linux/MS-DOS(R)/Windows(R) |link:{freebsd-enlightenment-url}[freebsd-enlightenment] |Porting Enlightenment and Enlightenment applications |link:{freebsd-erlang-url}[freebsd-erlang] |FreeBSD-specific Erlang discussions |link:{freebsd-firewire-url}[freebsd-firewire] |FreeBSD FireWire(R) (iLink, IEEE 1394) technical discussion |link:{freebsd-fortran-url}[freebsd-fortran] |Fortran on FreeBSD |link:{freebsd-fs-url}[freebsd-fs] |File systems |link:{freebsd-games-url}[freebsd-games] |Support for Games on FreeBSD |link:{freebsd-gecko-url}[freebsd-gecko] |Gecko Rendering Engine issues |link:{freebsd-geom-url}[freebsd-geom] |GEOM-specific discussions and implementations |link:{freebsd-git-url}[freebsd-git] |Discussion of git use in the FreeBSD project |link:{freebsd-gnome-url}[freebsd-gnome] |Porting GNOME and GNOME applications |link:{freebsd-hackers-url}[freebsd-hackers] |General technical discussion |link:{freebsd-haskell-url}[freebsd-haskell] |FreeBSD-specific Haskell issues and discussions |link:{freebsd-hardware-url}[freebsd-hardware] |General discussion of hardware for running FreeBSD |link:{freebsd-i18n-url}[freebsd-i18n] |FreeBSD Internationalization |link:{freebsd-infiniband-url}[freebsd-infiniband] |Infiniband on FreeBSD |link:{freebsd-ipfw-url}[freebsd-ipfw] |Technical discussion concerning the redesign of the IP firewall code |link:{freebsd-isdn-url}[freebsd-isdn] |ISDN developers |link:{freebsd-jail-url}[freebsd-jail] |Discussion about the man:jail[8] facility |link:{freebsd-java-url}[freebsd-java] |Java(TM) developers and people porting JDK(TM)s to FreeBSD |link:{freebsd-kde-url}[freebsd-kde] |Porting KDE and KDE applications |link:{freebsd-lfs-url}[freebsd-lfs] |Porting LFS to FreeBSD |link:{freebsd-mips-url}[freebsd-mips] |Porting FreeBSD to MIPS(R) |link:{freebsd-mono-url}[freebsd-mono] |Mono and C# applications on FreeBSD |link:{freebsd-multimedia-url}[freebsd-multimedia] |Multimedia applications |link:{freebsd-new-bus-url}[freebsd-new-bus] |Technical discussions about bus architecture |link:{freebsd-net-url}[freebsd-net] |Networking discussion and TCP/IP source code |link:{freebsd-numerics-url}[freebsd-numerics] |Discussions of high quality implementation of libm functions |link:{freebsd-ocaml-url}[freebsd-ocaml] |FreeBSD-specific OCaml discussions |link:{freebsd-office-url}[freebsd-office] |Office applications on FreeBSD |link:{freebsd-performance-url}[freebsd-performance] |Performance tuning questions for high performance/load installations |link:{freebsd-perl-url}[freebsd-perl] |Maintenance of a number of Perl-related ports |link:{freebsd-pf-url}[freebsd-pf] |Discussion and questions about the packet filter firewall system |link:{freebsd-pkg-url}[freebsd-pkg] |Binary package management and package tools discussion |link:{freebsd-pkg-fallout-url}[freebsd-pkg-fallout] |Fallout logs from package building |link:{freebsd-pkgbase-url}[freebsd-pkgbase] |Packaging the FreeBSD base system |link:{freebsd-platforms-url}[freebsd-platforms] |Concerning ports to non Intel(R) architecture platforms |link:{freebsd-ports-url}[freebsd-ports] |Discussion of the Ports Collection |link:{freebsd-ports-announce-url}[freebsd-ports-announce] |Important news and instructions about the Ports Collection (moderated) |link:{freebsd-ports-bugs-url}[freebsd-ports-bugs] |Discussion of the ports bugs/PRs |link:{freebsd-ppc-url}[freebsd-ppc] |Porting FreeBSD to the PowerPC(R) |link:{freebsd-proliant-url}[freebsd-proliant] |Technical discussion of FreeBSD on HP ProLiant server platforms |link:{freebsd-python-url}[freebsd-python] |FreeBSD-specific Python issues |link:{freebsd-rc-url}[freebsd-rc] |Discussion related to the [.filename]#rc.d# system and its development |link:{freebsd-realtime-url}[freebsd-realtime] |Development of realtime extensions to FreeBSD |link:{freebsd-risc-url}[freebsd-risc] |Porting FreeBSD to RISC-V(R) systems |link:{freebsd-ruby-url}[freebsd-ruby] |FreeBSD-specific Ruby discussions |link:{freebsd-scsi-url}[freebsd-scsi] |The SCSI subsystem |link:{freebsd-security-url}[freebsd-security] |Security issues affecting FreeBSD |link:{freebsd-snapshots-url}[freebsd-snapshots] |FreeBSD Development Snapshot Announcements |link:{freebsd-sparc64-url}[freebsd-sparc64] |Porting FreeBSD to SPARC(R) based systems |link:{freebsd-standards-url}[freebsd-standards] |FreeBSD's conformance to the C99 and the POSIX(R) standards |link:{freebsd-sysinstall-url}[freebsd-sysinstall] |man:sysinstall[8] development |link:{freebsd-tcltk-url}[freebsd-tcltk] |FreeBSD-specific Tcl/Tk discussions |link:{freebsd-testing-url}[freebsd-testing] |Testing on FreeBSD |link:{freebsd-tex-url}[freebsd-tex] |Porting TeX and its applications to FreeBSD |link:{freebsd-threads-url}[freebsd-threads] |Threading in FreeBSD |link:{freebsd-tilera-url}[freebsd-tilera] |Porting FreeBSD to the Tilera family of CPUs |link:{freebsd-tokenring-url}[freebsd-tokenring] |Support Token Ring in FreeBSD |link:{freebsd-toolchain-url}[freebsd-toolchain] |Maintenance of FreeBSD's integrated toolchain |link:{freebsd-translators-url}[freebsd-translators] |Translating FreeBSD documents and programs |link:{freebsd-transport-url}[freebsd-transport] |Discussions of transport level network protocols in FreeBSD |link:{freebsd-usb-url}[freebsd-usb] |Discussing FreeBSD support for USB |link:{freebsd-virtualization-url}[freebsd-virtualization] |Discussion of various virtualization techniques supported by FreeBSD |link:{freebsd-vuxml-url}[freebsd-vuxml] |Discussion on VuXML infrastructure |link:{freebsd-x11-url}[freebsd-x11] |Maintenance and support of X11 on FreeBSD |link:{freebsd-xen-url}[freebsd-xen] |Discussion of the FreeBSD port to Xen(TM) - implementation and usage |link:{freebsd-xfce-url}[freebsd-xfce] |XFCE for FreeBSD - porting and maintaining |link:{freebsd-zope-url}[freebsd-zope] |Zope for FreeBSD - porting and maintaining |=== _Limited lists:_ The following lists are for more specialized (and demanding) audiences and are probably not of interest to the general public. It is also a good idea to establish a presence in the technical lists before joining one of these limited lists in order to understand the communications etiquette involved. [.informaltable] [cols="20%,80%", frame="none", options="header"] |=== | List | Purpose |link:{freebsd-hubs-url}[freebsd-hubs] |People running mirror sites (infrastructural support) |link:{freebsd-user-groups-url}[freebsd-user-groups] |User group coordination |link:{freebsd-wip-status-url}[freebsd-wip-status] |FreeBSD Work-In-Progress Status |link:{freebsd-wireless-url}[freebsd-wireless] |Discussions of 802.11 stack, tools, device driver development |=== _Digest lists:_ All of the above lists are available in a digest format. Once subscribed to a list, the digest options can be changed in the account options section. _Commit message lists:_ The following lists are for people interested in seeing the log messages for changes to various areas of the source tree. [NOTE] ==== SVN log messages are sent to SVN lists. ==== [.informaltable] [cols="1,1,1", frame="none", options="header"] |=== | List | Source area | Area Description (source for) |{dev-commits-doc-all-url}[dev-commits-doc-all] |[.filename]#/usr/doc# |All changes to the doc repository |{dev-commits-ports-all-url}[dev-commits-ports-all] |[.filename]#/usr/ports# |All changes to the ports repository |{dev-commits-ports-main-url}[dev-commits-ports-main] |[.filename]#/usr/ports# |All changes to the "main" branch of the ports repository |{dev-commits-ports-branches-url}[dev-commits-ports-branches] |[.filename]#/usr/ports# |All changes to the quarterly branches of the ports repository |{dev-commits-src-all-url}[dev-commits-src-all] |[.filename]#/usr/src# |All changes to the src repository |{dev-commits-src-main-url}[dev-commits-src-main] |[.filename]#/usr/src# |All changes to the "main" branch of the src repository (the FreeBSD-CURRENT branch) |{dev-commits-src-branches-url}[dev-commits-src-branches] |[.filename]#/usr/src# |All changes to all stable branches of the src repository |=== _SVN lists:_ The following lists are for people interested in seeing the SVN log messages for changes to various areas of the source tree. [NOTE] ==== Only SVN log messages are sent to SVN lists. After the SVN to Git Migration, the following lists no longer receives new commit messages. ==== [.informaltable] [cols="20%,20%,60%", frame="none", options="header"] |=== | List | Source area | Area Description (source for) |link:{svn-doc-all-url}[svn-doc-all] |[.filename]#/usr/doc# |All changes to the doc Subversion repository (except for [.filename]#user#, [.filename]#projects# and [.filename]#translations#) |link:{svn-doc-head-url}[svn-doc-head] |[.filename]#/usr/doc# |All changes to the "head" branch of the doc Subversion repository |link:{svn-doc-projects-url}[svn-doc-projects] |[.filename]#/usr/doc/projects# |All changes to the [.filename]#projects# area of the doc Subversion repository |link:{svn-doc-svnadmin-url}[svn-doc-svnadmin] |[.filename]#/usr/doc# |All changes to the administrative scripts, hooks, and other configuration data of the doc Subversion repository |link:{svn-ports-all-url}[svn-ports-all] |[.filename]#/usr/ports# |All changes to the ports Subversion repository |link:{svn-ports-head-url}[svn-ports-head] |[.filename]#/usr/ports# |All changes to the "head" branch of the ports Subversion repository |link:{svn-ports-svnadmin-url}[svn-ports-svnadmin] |[.filename]#/usr/ports# |All changes to the administrative scripts, hooks, and other configuration data of the ports Subversion repository |link:{svn-src-all-url}[svn-src-all] |[.filename]#/usr/src# |All changes to the src Subversion repository (except for [.filename]#user# and [.filename]#projects#) |link:{svn-src-head-url}[svn-src-head] |[.filename]#/usr/src# |All changes to the "head" branch of the src Subversion repository (the FreeBSD-CURRENT branch) |link:{svn-src-projects-url}[svn-src-projects] |[.filename]#/usr/projects# |All changes to the [.filename]#projects# area of the src Subversion repository |link:{svn-src-release-url}[svn-src-release] |[.filename]#/usr/src# |All changes to the [.filename]#releases# area of the src Subversion repository |link:{svn-src-releng-url}[svn-src-releng] |[.filename]#/usr/src# |All changes to the [.filename]#releng# branches of the src Subversion repository (the security / release engineering branches) |link:{svn-src-stable-url}[svn-src-stable] |[.filename]#/usr/src# |All changes to the all stable branches of the src Subversion repository |link:{svn-src-stable-6-url}[svn-src-stable-6] |[.filename]#/usr/src# |All changes to the [.filename]#stable/6# branch of the src Subversion repository |link:{svn-src-stable-7-url}[svn-src-stable-7] |[.filename]#/usr/src# |All changes to the [.filename]#stable/7# branch of the src Subversion repository |link:{svn-src-stable-8-url}[svn-src-stable-8] |[.filename]#/usr/src# |All changes to the [.filename]#stable/8# branch of the src Subversion repository |link:{svn-src-stable-9-url}[svn-src-stable-9] |[.filename]#/usr/src# |All changes to the [.filename]#stable/9# branch of the src Subversion repository |link:{svn-src-stable-10-url}[svn-src-stable-10] |[.filename]#/usr/src# |All changes to the [.filename]#stable/10# branch of the src Subversion repository |link:{svn-src-stable-11-url}[svn-src-stable-11] |[.filename]#/usr/src# |All changes to the [.filename]#stable/11# branch of the src Subversion repository |link:{svn-src-stable-12-url}[svn-src-stable-12] |[.filename]#/usr/src# |All changes to the [.filename]#stable/12# branch of the src Subversion repository |link:{svn-src-stable-other-url}[svn-src-stable-other] |[.filename]#/usr/src# |All changes to the older [.filename]#stable# branches of the src Subversion repository |link:{svn-src-svnadmin-url}[svn-src-svnadmin] |[.filename]#/usr/src# |All changes to the administrative scripts, hooks, and other configuration data of the src Subversion repository |link:{svn-src-user-url}[svn-src-user] |[.filename]#/usr/src# |All changes to the experimental [.filename]#user# area of the src Subversion repository |link:{svn-src-vendor-url}[svn-src-vendor] |[.filename]#/usr/src# |All changes to the vendor work area of the src Subversion repository |=== [[eresources-subscribe]] === How to Subscribe -To subscribe to a list, click the list name at {mailman-lists-url}. +To subscribe to a list, click the list name at {mailing-lists-url}. The page that is displayed should contain all of the necessary subscription instructions for that list. To actually post to a given list, send mail to mailto:listname@FreeBSD.org[listname@FreeBSD.org]. It will then be redistributed to mailing list members world-wide. To unsubscribe from a list, click on the URL found at the bottom of every email received from the list. It is also possible to send an email to mailto:listname+unsubscribe@FreeBSD.org[listname+unsubscribe@FreeBSD.org] to unsubscribe. It is important to keep discussion in the technical mailing lists on a technical track. To only receive important announcements, instead join the {freebsd-announce}, which is intended for infrequent traffic. [[eresources-charters]] === List Charters _All_ FreeBSD mailing lists have certain basic rules which must be adhered to by anyone using them. Failure to comply with these guidelines will result in two (2) written warnings from the FreeBSD Postmaster mailto:postmaster@FreeBSD.org[postmaster@FreeBSD.org], after which, on a third offense, the poster will removed from all FreeBSD mailing lists and filtered from further posting to them. We regret that such rules and measures are necessary at all, but today's Internet is a pretty harsh environment, it would seem, and many fail to appreciate just how fragile some of its mechanisms are. Rules of the road: * The topic of any posting should adhere to the basic charter of the list it is posted to. If the list is about technical issues, the posting should contain technical discussion. Ongoing irrelevant chatter or flaming only detracts from the value of the mailing list for everyone on it and will not be tolerated. For free-form discussion on no particular topic, the {freebsd-chat} is freely available and should be used instead. * No posting should be made to more than 2 mailing lists, and only to 2 when a clear and obvious need to post to both lists exists. For most lists, there is already a great deal of subscriber overlap and except for the most esoteric mixes (say "-stable & -scsi"), there really is no reason to post to more than one list at a time. If a message is received with multiple mailing lists on the `Cc` line, trim the `Cc` line before replying. _The person who replies is still responsible for cross-posting, no matter who the originator might have been._ * Personal attacks and profanity (in the context of an argument) are not allowed, and that includes users and developers alike. Gross breaches of netiquette, like excerpting or reposting private mail when permission to do so was not and would not be forthcoming, are frowned upon but not specifically enforced. _However_, there are also very few cases where such content would fit within the charter of a list and it would therefore probably rate a warning (or ban) on that basis alone. * Advertising of non-FreeBSD related products or services is strictly prohibited and will result in an immediate ban if it is clear that the offender is advertising by spam. _Individual list charters:_ link:{freebsd-acpi-url}[freebsd-acpi]:: _ACPI and power management development_ link:{freebsd-announce-url}[freebsd-announce]:: _Important events / milestones_ + This is the mailing list for people interested only in occasional announcements of significant FreeBSD events. This includes announcements about snapshots and other releases. It contains announcements of new FreeBSD capabilities. It may contain calls for volunteers etc. This is a low volume, strictly moderated mailing list. link:{freebsd-arch-url}[freebsd-arch]:: _Architecture and design discussions_ + This list is for discussion of the FreeBSD architecture. Messages will mostly be kept strictly technical in nature. Examples of suitable topics are: ** How to re-vamp the build system to have several customized builds running at the same time. ** What needs to be fixed with VFS to make Heidemann layers work. ** How do we change the device driver interface to be able to use the same drivers cleanly on many buses and architectures. ** How to write a network driver. link:{freebsd-bluetooth-url}[freebsd-bluetooth]:: _Bluetooth(R) in FreeBSD_ + This is the forum where FreeBSD's Bluetooth(R) users congregate. Design issues, implementation details, patches, bug reports, status reports, feature requests, and all matters related to Bluetooth(R) are fair game. link:{freebsd-bugbusters-url}[freebsd-bugbusters]:: _Coordination of the Problem Report handling effort_ + The purpose of this list is to serve as a coordination and discussion forum for the Bugmeister, his Bugbusters, and any other parties who have a genuine interest in the PR database. This list is not for discussions about specific bugs, patches or PRs. link:{freebsd-bugs-url}[freebsd-bugs]:: _Bug reports_ + This is the mailing list for reporting bugs in FreeBSD. Whenever possible, bugs should be submitted using the https://bugs.freebsd.org/bugzilla/enter_bug.cgi[web interface] to it. link:{freebsd-chat-url}[freebsd-chat]:: _Non technical items related to the FreeBSD community_ + This list contains the overflow from the other lists about non-technical, social information. It includes discussion about whether Jordan looks like a toon ferret or not, whether or not to type in capitals, who is drinking too much coffee, where the best beer is brewed, who is brewing beer in their basement, and so on. Occasional announcements of important events (such as upcoming parties, weddings, births, new jobs, etc) can be made to the technical lists, but the follow ups should be directed to this -chat list. link:{freebsd-chromium-url}[freebsd-chromium]:: _FreeBSD-specific Chromium issues_ + This is a list for the discussion of Chromium support for FreeBSD. This is a technical list to discuss development and installation of Chromium. link:{freebsd-cloud-url}[freebsd-cloud]:: _Running FreeBSD on various cloud platforms_ + This list discusses running FreeBSD on Amazon EC2, Google Compute Engine, Microsoft Azure, and other cloud computing platforms. _FreeBSD core team_:: This is an internal mailing list for use by the core members. Messages can be sent to it when a serious FreeBSD-related matter requires arbitration or high-level scrutiny. link:{freebsd-current-url}[freebsd-current]:: _Discussions about the use of FreeBSD-CURRENT_ + This is the mailing list for users of FreeBSD-CURRENT. It includes warnings about new features coming out in -CURRENT that will affect the users, and instructions on steps that must be taken to remain -CURRENT. Anyone running "CURRENT" must subscribe to this list. This is a technical mailing list for which strictly technical content is expected. link:{freebsd-desktop-url}[freebsd-desktop]:: _Using and improving FreeBSD on the desktop_ + This is a forum for discussion of FreeBSD on the desktop. It is primarily a place for desktop porters and users to discuss issues and improve FreeBSD's desktop support. link:{dev-ci-url}[dev-ci]:: _Continuous Integration reports of build and test results_ + All Continuous Integration reports of build and test results link:{dev-reviews-url}[dev-reviews]:: _Notifications of work in progress in FreeBSD's review tool_ + Automated notifications of work in progress for review in FreeBSD's review tools, including patches. link:{freebsd-doc-url}[freebsd-doc]:: _Documentation Project_ + This mailing list is for the discussion of issues and projects related to the creation of documentation for FreeBSD. The members of this mailing list are collectively referred to as "The FreeBSD Documentation Project". It is an open list; feel free to join and contribute! link:{freebsd-drivers-url}[freebsd-drivers]:: _Writing device drivers for FreeBSD_ + This is a forum for technical discussions related to device drivers on FreeBSD. It is primarily a place for device driver writers to ask questions about how to write device drivers using the APIs in the FreeBSD kernel. link:{freebsd-dtrace-url}[freebsd-dtrace]:: _Using and working on DTrace in FreeBSD_ + DTrace is an integrated component of FreeBSD that provides a framework for understanding the kernel as well as user space programs at run time. The mailing list is an archived discussion for developers of the code as well as those using it. link:{freebsd-eclipse-url}[freebsd-eclipse]:: _FreeBSD users of Eclipse IDE, tools, rich client applications and ports._ + The intention of this list is to provide mutual support for everything to do with choosing, installing, using, developing and maintaining the Eclipse IDE, tools, rich client applications on the FreeBSD platform and assisting with the porting of Eclipse IDE and plugins to the FreeBSD environment. + The intention is also to facilitate exchange of information between the Eclipse community and the FreeBSD community to the mutual benefit of both. + Although this list is focused primarily on the needs of Eclipse users it will also provide a forum for those who would like to develop FreeBSD specific applications using the Eclipse framework. link:{freebsd-embedded-url}[freebsd-embedded]:: _Using FreeBSD in embedded applications_ + This list discusses topics related to using FreeBSD in embedded systems. This is a technical mailing list for which strictly technical content is expected. For the purpose of this list, embedded systems are those computing devices which are not desktops and which usually serve a single purpose as opposed to being general computing environments. Examples include, but are not limited to, all kinds of phone handsets, network equipment such as routers, switches and PBXs, remote measuring equipment, PDAs, Point Of Sale systems, and so on. link:{freebsd-emulation-url}[freebsd-emulation]:: _Emulation of other systems such as Linux/MS-DOS(R)/Windows(R)_ + This is a forum for technical discussions related to running programs written for other operating systems on FreeBSD. link:{freebsd-enlightenment-url}[freebsd-enlightenment]:: _Enlightenment_ + Discussions concerning the Enlightenment Desktop Environment for FreeBSD systems. This is a technical mailing list for which strictly technical content is expected. link:{freebsd-eol-url}[freebsd-eol]:: _Peer support of FreeBSD-related software that is no longer supported by the FreeBSD Project._ + This list is for those interested in providing or making use of peer support of FreeBSD-related software for which the FreeBSD Project no longer provides official support in the form of security advisories and patches. link:{freebsd-firewire-url}[freebsd-firewire]:: _FireWire(R) (iLink, IEEE 1394)_ + This is a mailing list for discussion of the design and implementation of a FireWire(R) (aka IEEE 1394 aka iLink) subsystem for FreeBSD. Relevant topics specifically include the standards, bus devices and their protocols, adapter boards/cards/chips sets, and the architecture and implementation of code for their proper support. link:{freebsd-fortran-url}[freebsd-fortran]:: _Fortran on FreeBSD_ + This is the mailing list for discussion of Fortran related ports on FreeBSD: compilers, libraries, scientific and engineering applications from laptops to HPC clusters. link:{freebsd-fs-url}[freebsd-fs]:: _File systems_ + Discussions concerning FreeBSD filesystems. This is a technical mailing list for which strictly technical content is expected. link:{freebsd-games-url}[freebsd-games]:: _Games on FreeBSD_ + This is a technical list for discussions related to bringing games to FreeBSD. It is for individuals actively working on porting games to FreeBSD, to bring up problems or discuss alternative solutions. Individuals interested in following the technical discussion are also welcome. link:{freebsd-gecko-url}[freebsd-gecko]:: _Gecko Rendering Engine_ + This is a forum about Gecko applications using FreeBSD. + Discussion centers around Gecko Ports applications, their installation, their development and their support within FreeBSD. link:{freebsd-geom-url}[freebsd-geom]:: _GEOM_ + Discussions specific to GEOM and related implementations. This is a technical mailing list for which strictly technical content is expected. link:{freebsd-git-url}[freebsd-git]:: _Use of git in the FreeBSD project_ + Discussions of how to use git in FreeBSD infrastructure including the github mirror and other uses of git for project collaboration. Discussion area for people using git against the FreeBSD github mirror. People wanting to get started with the mirror or git in general on FreeBSD can ask here. link:{freebsd-gnome-url}[freebsd-gnome]:: _GNOME_ + Discussions concerning The GNOME Desktop Environment for FreeBSD systems. This is a technical mailing list for which strictly technical content is expected. link:{freebsd-infiniband-url}[freebsd-infiniband]:: _Infiniband on FreeBSD_ + Technical mailing list discussing Infiniband, OFED, and OpenSM on FreeBSD. link:{freebsd-ipfw-url}[freebsd-ipfw]:: _IP Firewall_ + This is the forum for technical discussions concerning the redesign of the IP firewall code in FreeBSD. This is a technical mailing list for which strictly technical content is expected. link:{freebsd-isdn-url}[freebsd-isdn]:: _ISDN Communications_ + This is the mailing list for people discussing the development of ISDN support for FreeBSD. link:{freebsd-java-url}[freebsd-java]:: _Java(TM) Development_ + This is the mailing list for people discussing the development of significant Java(TM) applications for FreeBSD and the porting and maintenance of JDK(TM)s. [[eresources-charters-jobs]] link:{freebsd-jobs-url}[freebsd-jobs]:: _Jobs offered and sought_ + This is a forum for posting employment notices specifically related to FreeBSD and resumes from those seeking FreeBSD-related employment. This is _not_ a mailing list for general employment issues since adequate forums for that already exist elsewhere. + Note that this list, like other `FreeBSD.org` mailing lists, is distributed worldwide. Be clear about the geographic location and the extent to which telecommuting or assistance with relocation is available. + Email should use open formats only - preferably plain text, but basic Portable Document Format (PDF), HTML, and a few others are acceptable to many readers. Closed formats such as Microsoft(R) Word ([.filename]#.doc#) will be rejected by the mailing list server. link:{freebsd-kde-url}[freebsd-kde]:: _KDE_ + Discussions concerning KDE on FreeBSD systems. This is a technical mailing list for which strictly technical content is expected. link:{freebsd-hackers-url}[freebsd-hackers]:: _Technical discussions_ + This is a forum for technical discussions related to FreeBSD. This is the primary technical mailing list. It is for individuals actively working on FreeBSD, to bring up problems or discuss alternative solutions. Individuals interested in following the technical discussion are also welcome. This is a technical mailing list for which strictly technical content is expected. link:{freebsd-hardware-url}[freebsd-hardware]:: _General discussion of FreeBSD hardware_ + General discussion about the types of hardware that FreeBSD runs on, various problems and suggestions concerning what to buy or avoid. link:{freebsd-hubs-url}[freebsd-hubs]:: _Mirror sites_ + Announcements and discussion for people who run FreeBSD mirror sites. link:{freebsd-isp-url}[freebsd-isp]:: _Issues for Internet Service Providers_ + This mailing list is for discussing topics relevant to Internet Service Providers (ISPs) using FreeBSD. This is a technical mailing list for which strictly technical content is expected. link:{freebsd-mono-url}[freebsd-mono]:: _Mono and C# applications on FreeBSD_ + This is a list for discussions related to the Mono development framework on FreeBSD. This is a technical mailing list. It is for individuals actively working on porting Mono or C# applications to FreeBSD, to bring up problems or discuss alternative solutions. Individuals interested in following the technical discussion are also welcome. link:{freebsd-ocaml-url}[freebsd-ocaml]:: _FreeBSD-specific OCaml discussions_ + This is a list for discussions related to the OCaml support on FreeBSD. This is a technical mailing list. It is for individuals working on OCaml ports, 3rd party libraries and frameworks. Individuals interested in the technical discussion are also welcome. link:{freebsd-office-url}[freebsd-office]:: _Office applications on FreeBSD_ + Discussion centers around office applications, their installation, their development and their support within FreeBSD. link:{freebsd-ops-announce-url}[freebsd-ops-announce]:: _Project Infrastructure Announcements_ + This is the mailing list for people interested in changes and issues related to the FreeBSD.org Project infrastructure. + This moderated list is strictly for announcements: no replies, requests, discussions, or opinions. link:{freebsd-performance-url}[freebsd-performance]:: _Discussions about tuning or speeding up FreeBSD_ + This mailing list exists to provide a place for hackers, administrators, and/or concerned parties to discuss performance related topics pertaining to FreeBSD. Acceptable topics includes talking about FreeBSD installations that are either under high load, are experiencing performance problems, or are pushing the limits of FreeBSD. Concerned parties that are willing to work toward improving the performance of FreeBSD are highly encouraged to subscribe to this list. This is a highly technical list ideally suited for experienced FreeBSD users, hackers, or administrators interested in keeping FreeBSD fast, robust, and scalable. This list is not a question-and-answer list that replaces reading through documentation, but it is a place to make contributions or inquire about unanswered performance related topics. link:{freebsd-pf-url}[freebsd-pf]:: _Discussion and questions about the packet filter firewall system_ + Discussion concerning the packet filter (pf) firewall system in terms of FreeBSD. Technical discussion and user questions are both welcome. This list is also a place to discuss the ALTQ QoS framework. link:{freebsd-pkg-url}[freebsd-pkg]:: _Binary package management and package tools discussion_ + Discussion of all aspects of managing FreeBSD systems by using binary packages to install software, including binary package toolkits and formats, their development and support within FreeBSD, package repository management, and third party packages. + Note that discussion of ports which fail to generate packages correctly should generally be considered as ports problems, and so inappropriate for this list. link:{freebsd-pkg-fallout-url}[freebsd-pkg-fallout]:: _Fallout logs from package building_ + All packages building failures logs from the package building clusters link:{freebsd-pkgbase-url}[freebsd-pkgbase]:: _Packaging the FreeBSD base system._ + Discussions surrounding implementation and issues regarding packaging the FreeBSD base system. link:{freebsd-platforms-url}[freebsd-platforms]:: _Porting to Non Intel(R) platforms_ + Cross-platform FreeBSD issues, general discussion and proposals for non Intel(R) FreeBSD ports. This is a technical mailing list for which strictly technical content is expected. link:{freebsd-ports-url}[freebsd-ports]:: _Discussion of "ports"_ + Discussions concerning FreeBSD's "ports collection" ([.filename]#/usr/ports#), ports infrastructure, and general ports coordination efforts. This is a technical mailing list for which strictly technical content is expected. link:{freebsd-ports-announce-url}[freebsd-ports-announce]:: _Important news and instructions about the FreeBSD "Ports Collection"_ + Important news for developers, porters, and users of the "Ports Collection" ([.filename]#/usr/ports#), including architecture/infrastructure changes, new capabilities, critical upgrade instructions, and release engineering information. This is a low-volume mailing list, intended for announcements. link:{freebsd-ports-bugs-url}[freebsd-ports-bugs]:: _Discussion of "ports" bugs_ + Discussions concerning problem reports for FreeBSD's "ports collection" ([.filename]#/usr/ports#), proposed ports, or modifications to ports. This is a technical mailing list for which strictly technical content is expected. link:{freebsd-proliant-url}[freebsd-proliant]:: _Technical discussion of FreeBSD on HP ProLiant server platforms_ + This mailing list is to be used for the technical discussion of the usage of FreeBSD on HP ProLiant servers, including the discussion of ProLiant-specific drivers, management software, configuration tools, and BIOS updates. As such, this is the primary place to discuss the hpasmd, hpasmcli, and hpacucli modules. link:{freebsd-python-url}[freebsd-python]:: _Python on FreeBSD_ + This is a list for discussions related to improving Python-support on FreeBSD. This is a technical mailing list. It is for individuals working on porting Python, its third party modules and Zope stuff to FreeBSD. Individuals interested in following the technical discussion are also welcome. link:{freebsd-questions-url}[freebsd-questions]:: _User questions_ + This is the mailing list for questions about FreeBSD. Do not send "how to" questions to the technical lists unless the question is quite technical. link:{freebsd-ruby-url}[freebsd-ruby]:: _FreeBSD-specific Ruby discussions_ + This is a list for discussions related to the Ruby support on FreeBSD. This is a technical mailing list. It is for individuals working on Ruby ports, third party libraries and frameworks. + Individuals interested in the technical discussion are also welcome. link:{freebsd-scsi-url}[freebsd-scsi]:: _SCSI subsystem_ + This is the mailing list for people working on the SCSI subsystem for FreeBSD. This is a technical mailing list for which strictly technical content is expected. link:{freebsd-security-url}[freebsd-security]:: _Security issues_ + FreeBSD computer security issues (DES, Kerberos, known security holes and fixes, etc). This is a technical mailing list for which strictly technical discussion is expected. Note that this is not a question-and-answer list, but that contributions (BOTH question AND answer) to the FAQ are welcome. link:{freebsd-security-notifications-url}[freebsd-security-notifications]:: _Security Notifications_ + Notifications of FreeBSD security problems and fixes. This is not a discussion list. The discussion list is FreeBSD-security. link:{freebsd-snapshots-url}[freebsd-snapshots]:: _FreeBSD Development Snapshot Announcements_ + This list provides notifications about the availability of new FreeBSD development snapshots for the head/ and stable/ branches. link:{freebsd-stable-url}[freebsd-stable]:: _Discussions about the use of FreeBSD-STABLE_ + This is the mailing list for users of FreeBSD-STABLE. "STABLE" is the branch where development continues after a RELEASE, including bug fixes and new features. The ABI is kept stable for binary compatibility. It includes warnings about new features coming out in -STABLE that will affect the users, and instructions on steps that must be taken to remain -STABLE. Anyone running "STABLE" should subscribe to this list. This is a technical mailing list for which strictly technical content is expected. link:{freebsd-standards-url}[freebsd-standards]:: _C99 POSIX Conformance_ + This is a forum for technical discussions related to FreeBSD Conformance to the C99 and the POSIX standards. link:{freebsd-teaching-url}[freebsd-teaching]:: _Teaching with FreeBSD_ + Non technical mailing list discussing teaching with FreeBSD. link:{freebsd-testing-url}[freebsd-testing]:: _Testing on FreeBSD_ + Technical mailing list discussing testing on FreeBSD, including ATF/Kyua, test build infrastructure, port tests to FreeBSD from other operating systems (NetBSD, ...), etc. link:{freebsd-tex-url}[freebsd-tex]:: _Porting TeX and its applications to FreeBSD_ + This is a technical mailing list for discussions related to TeX and its applications on FreeBSD. It is for individuals actively working on porting TeX to FreeBSD, to bring up problems or discuss alternative solutions. Individuals interested in following the technical discussion are also welcome. link:{freebsd-toolchain-url}[freebsd-toolchain]:: _Maintenance of FreeBSD's integrated toolchain_ + This is the mailing list for discussions related to the maintenance of the toolchain shipped with FreeBSD. This could include the state of Clang and GCC, but also pieces of software such as assemblers, linkers and debuggers. link:{freebsd-transport-url}[freebsd-transport]:: _Discussions of transport level network protocols in FreeBSD_ + The transport mailing list exists for the discussion of issues and designs around the transport level protocols in the FreeBSD network stack, including TCP, SCTP and UDP. Other networking topics, including driver specific and network protocol issues should be discussed on the {freebsd-net}. link:{freebsd-translators-url}[freebsd-translators]:: _Translating FreeBSD documents and programs_ + A discussion list where translators of FreeBSD documents from English into other languages can talk about translation methods and tools. New members are asked to introduce themselves and mention the languages they are interested in translating. link:{freebsd-usb-url}[freebsd-usb]:: _Discussing FreeBSD support for USB_ + This is a mailing list for technical discussions related to FreeBSD support for USB. link:{freebsd-user-groups-url}[freebsd-user-groups]:: _User Group Coordination List_ + This is the mailing list for the coordinators from each of the local area Users Groups to discuss matters with each other and a designated individual from the Core Team. This mail list should be limited to meeting synopsis and coordination of projects that span User Groups. link:{freebsd-virtualization-url}[freebsd-virtualization]:: _Discussion of various virtualization techniques supported by FreeBSD_ + A list to discuss the various virtualization techniques supported by FreeBSD. On one hand the focus will be on the implementation of the basic functionality as well as adding new features. On the other hand users will have a forum to ask for help in case of problems or to discuss their use cases. link:{freebsd-wip-status-url}[freebsd-wip-status]:: _FreeBSD Work-In-Progress Status_ + This mailing list can be used by developers to announce the creation and progress of FreeBSD related work. Messages will be moderated. It is suggested to send the message "To:" a more topical FreeBSD list and only "BCC:" this list. This way the WIP can also be discussed on the topical list, as no discussion is allowed on this list. + Look inside the archives for examples of suitable messages. + An editorial digest of the messages to this list might be posted to the FreeBSD website every few months as part of the Status Reports footnote:[https://www.freebsd.org/news/status/]. Past reports are archived. link:{freebsd-wireless-url}[freebsd-wireless]:: _Discussions of 802.11 stack, tools device driver development_ + The FreeBSD-wireless list focuses on 802.11 stack (sys/net80211), device driver and tools development. This includes bugs, new features and maintenance. link:{freebsd-xen-url}[freebsd-xen]:: _Discussion of the FreeBSD port to Xen(TM) - implementation and usage_ + A list that focuses on the FreeBSD Xen(TM) port. The anticipated traffic level is small enough that it is intended as a forum for both technical discussions of the implementation and design details as well as administrative deployment issues. link:{freebsd-xfce-url}[freebsd-xfce]:: _XFCE_ + This is a forum for discussions related to bring the XFCE environment to FreeBSD. This is a technical mailing list. It is for individuals actively working on porting XFCE to FreeBSD, to bring up problems or discuss alternative solutions. Individuals interested in following the technical discussion are also welcome. link:{freebsd-zope-url}[freebsd-zope]:: _Zope_ + This is a forum for discussions related to bring the Zope environment to FreeBSD. This is a technical mailing list. It is for individuals actively working on porting Zope to FreeBSD, to bring up problems or discuss alternative solutions. Individuals interested in following the technical discussion are also welcome. [[eresources-mailfiltering]] === Filtering on the Mailing Lists The FreeBSD mailing lists are filtered in multiple ways to avoid the distribution of spam, viruses, and other unwanted emails. The filtering actions described in this section do not include all those used to protect the mailing lists. Only certain types of attachments are allowed on the mailing lists. All attachments with a MIME content type not found in the list below will be stripped before an email is distributed on the mailing lists. * application/octet-stream * application/pdf * application/pgp-signature * application/x-pkcs7-signature * message/rfc822 * multipart/alternative * multipart/related * multipart/signed * text/html * text/plain * text/x-diff * text/x-patch [NOTE] ==== Some of the mailing lists might allow attachments of other MIME content types, but the above list should be applicable for most of the mailing lists. ==== If an email contains both an HTML and a plain text version, the HTML version will be removed. If an email contains only an HTML version, it will be converted to plain text. [[eresources-news]] == Usenet Newsgroups In addition to two FreeBSD specific newsgroups, there are many others in which FreeBSD is discussed or are otherwise relevant to FreeBSD users. === BSD Specific Newsgroups * link:news:comp.unix.bsd.freebsd.announce[comp.unix.bsd.freebsd.announce] * link:news:comp.unix.bsd.freebsd.misc[comp.unix.bsd.freebsd.misc] * link:news:de.comp.os.unix.bsd[de.comp.os.unix.bsd] (German) * link:news:fr.comp.os.bsd[fr.comp.os.bsd] (French) === Other UNIX(R) Newsgroups of Interest * link:news:comp.unix[comp.unix] * link:news:comp.unix.questions[comp.unix.questions] * link:news:comp.unix.admin[comp.unix.admin] * link:news:comp.unix.programmer[comp.unix.programmer] * link:news:comp.unix.shell[comp.unix.shell] * link:news:comp.unix.misc[comp.unix.misc] * link:news:comp.unix.bsd[comp.unix.bsd] === X Window System * link:news:comp.windows.x[comp.windows.x] [[eresources-web]] == Official Mirrors <>, <>, <>, <>, <>, <>, <>, <>, <>, <>, <>, <>, <>, <>, <>, <>, <>, <>, <>, <>, <>, <>, <>, <>, <>. [[central-mirrors]] *{central}* * {central-www} [[armenia-mirrors]] *{mirrors-armenia}* * {mirrors-armenia-www-httpv6} (IPv6) [[australia-mirrors]] *{mirrors-australia}* * {mirrors-australia-www-http} * {mirrors-australia-www2-http} [[austria-mirrors]] *{mirrors-austria}* * {mirrors-armenia-www-httpv6} (IPv6) [[czech-republic-mirrors]] *{mirrors-czech}* * {mirrors-czech-www-httpv6} (IPv6) [[denmark-mirrors]] *{mirrors-denmark}* * {mirrors-denmark-www-httpv6} (IPv6) [[finland-mirrors]] *{mirrors-finland}* * {mirrors-finland-www-http} [[france-mirrors]] *{mirrors-france}* * {mirrors-france-www-http} [[germany-mirrors]] *{mirrors-germany}* * {mirrors-germany-www-http} [[hong-kong-mirrors]] *{mirrors-hongkong}* * {mirrors-hongkong-www} [[ireland-mirrors]] *{mirrors-ireland}* * {mirrors-ireland-www} [[japan-mirrors]] *{mirrors-japan}* * {mirrors-japan-www-httpv6} (IPv6) [[latvia-mirrors]] *{mirrors-latvia}* * {mirrors-latvia-www} [[lithuania-mirrors]] *{mirrors-lithuania}* * {mirrors-lithuania-www} [[netherlands-mirrors]] *{mirrors-netherlands}* * {mirrors-netherlands-www} [[norway-mirrors]] *{mirrors-norway}* * {mirrors-norway-www} [[russia-mirrors]] *{mirrors-russia}* * {mirrors-russia-www-httpv6} (IPv6) [[slovenia-mirrors]] *{mirrors-slovenia}* * {mirrors-slovenia-www} [[south-africa-mirrors]] *{mirrors-south-africa}* * {mirrors-south-africa-www} [[spain-mirrors]] *{mirrors-spain}* * {mirrors-spain-www} * {mirrors-spain-www2} [[sweden-mirrors]] *{mirrors-sweden}* * {mirrors-sweden-www} [[switzerland-mirrors]] *{mirrors-switzerland}* * {mirrors-switzerland-www-httpv6} (IPv6) * {mirrors-switzerland-www2-httpv6} (IPv6) [[taiwan-mirrors]] *{mirrors-taiwan}* * {mirrors-taiwan-www} * {mirrors-taiwan-www2} * {mirrors-taiwan-www4} * {mirrors-taiwan-www5-httpv6} (IPv6) [[uk-mirrors]] *{mirrors-uk}* * {mirrors-uk-www} * {mirrors-uk-www3} [[usa-mirrors]] *{mirrors-us}* * {mirrors-us-www5-httpv6} (IPv6) :sectnums: :sectnumlevels: 6 diff --git a/documentation/content/es/books/handbook/jails/_index.adoc b/documentation/content/es/books/handbook/jails/_index.adoc index 215a65f786..b2b9e1d6d5 100644 --- a/documentation/content/es/books/handbook/jails/_index.adoc +++ b/documentation/content/es/books/handbook/jails/_index.adoc @@ -1,525 +1,525 @@ --- title: Capítulo 15. Jaulas part: Parte III. Administración del sistema prev: books/handbook/security next: books/handbook/mac --- [[jails]] = Jaulas :doctype: book :toc: macro :toclevels: 1 :icons: font :sectnums: :sectnumlevels: 6 :source-highlighter: rouge :experimental: :skip-front-matter: :toc-title: Tabla de contenidos :table-caption: Tabla :figure-caption: Figura :example-caption: Ejemplo :xrefstyle: basic :relfileprefix: ../ :outfilesuffix: :sectnumoffset: 15 ifeval::["{backend}" == "html5"] :imagesdir: ../../../images/books/handbook/jails/ endif::[] ifeval::["{backend}" == "pdf"] :imagesdir: ../../../../static/images/books/handbook/jails/ endif::[] ifeval::["{backend}" == "epub3"] :imagesdir: ../../../../static/images/books/handbook/jails/ endif::[] include::shared/authors.adoc[] include::shared/releases.adoc[] include::shared/es/mailing-lists.adoc[] include::shared/es/teams.adoc[] include::shared/es/urls.adoc[] toc::[] [[jails-synopsis]] == Sinopsis En este capítulo se explica qué son las jaulas en FreeBSD y cómo usarlas. Las jaulas, citadas con frecuencia como la nueva generación de _entornos chroot_, son una herramienta muy poderosa que se ha puesto al servicio de los administradores de sistemas, aunque su uso más básico puede ser también de suma utilidad para usuarios avanzados. Tras leer este capítulo sabrá usted: * Qué es una jaula y para qué puede usarse en sistemas FreeBSD. * Cómo generar, arrancar y parar una jaula. * Cómo manejarse con los rudimentos de la administración de las jaulas, tanto desde dentro como desde fuera de la jaula. Otras fuentes de información útil sobre las jaulas: * La página de manual man:jail[8]. Es la referencia completa de `jail`, la herramienta administrativa de FreeBSD con la que se arrancan, paran y controlan las jaulas. -* Las listas de correo y sus respectivos archivos. Los archivos de la {freebsd-questions}, entre otras listas de correo alojadas en el {mailman-lists} contienen una enorme cantidad de información sobre jaulas. La ayuda que está buscando puede obtenerla, por tanto, de una búsqueda en los archivos de las listas o de enviar una pregunta que nadie haya hecho en la lista de correo link:{freebsd-questions-url}[freebsd-questions]. +* Las listas de correo y sus respectivos archivos. Los archivos de la {freebsd-questions}, entre otras listas de correo alojadas en el {mailing-lists} contienen una enorme cantidad de información sobre jaulas. La ayuda que está buscando puede obtenerla, por tanto, de una búsqueda en los archivos de las listas o de enviar una pregunta que nadie haya hecho en la lista de correo link:{freebsd-questions-url}[freebsd-questions]. [[jails-terms]] == Términos relacionados con las jaulas Para ayudar a comprender las partes de FreeBSD que intervienen en el funcionamiento de las jaulas, su funcionamiento interno y el modo en que interactuan con el resto de FreeBSD, durante el resto del capítulo se utilizarán los siguientes términos: man:chroot[2] (comando):: Es una llamada al sistema de FreeBSD que restringe el directorio raiz de un proceso y sus hijos. man:chroot[2] (entorno):: Es el entorno de procesos que se ejecutan en un "chroot". Esto incluye recursos como la parte visible del sistema de ficheros, los ID de usuario y grupo disponibles, interfaces de red u otros mecanismos IPC. man:jail[8] (comando):: La herramienta de administración que permite arrancar procesos dentro del entorno de una jaula. servidor (sistema, proceso, usuario, etc):: El sistema que controla una jaula. El servidor tiene acceso a todos los recursos de hardware y puede controlar procesos tanto dentro como fuera de la jaula. Una de las diferencias importantes entre el sistema que aloja la jaula y la jaula propiamente dicha: las limitaciones que afectan a los procesos que se ejecutan con privilegios de superusuario dentro de la jaula no dependen de los procesos del servidor que la aloja. enjaulado (sistema, proceso, usuario, etc.):: Un proceso, usuario u otra entidad, cuyo acceso a los recursos está restringido por una jaula de FreeBSD. [[jails-intro]] == Introducción Dado lo dificil y desconcertante de la tarea de administrar sistemas se han ido desarrollando poderosas herramientas con el fin de hacer la vida del administrador más sencilla. Dichas herramientas suelen facilitar cierto tipo de mejoras en la instalación, configuración o mantenimiento de los sistemas. Una de las tareas que se espera que cumpla un administrador de sistemas es la configuración adecuada de la seguridad, de modo que pueda dar el servicio para el que se ha destinado sin que pueda verse comprometido. Una de las herramientas disponibles para mejorar los niveles de seguridad de un sistema FreeBSD es el uso de _jaulas_. Las jaulas fueron introducidas en FreeBSD 4.X por {phk}, pero en FreeBSD 5.X sus capacidades fueron aumentadas hasta hacer de ellas un subsistema poderoso y flexible. Su desarrollo sigue avanzando, aumentando así su utilidad, rendimiento, fiabilidad y seguridad. [[jails-what]] === Qué es una jaula Los sistemas tipo BSD disponen de man:chroot[2] desde la época de 4.2BSD. man:chroot[8] permite restringir el directorio raiz de un conjunto de procesos, creando un entorno seguro y separado del resto del sistema. Los procesos creados dentro de un entorno chroot no pueden acceder a ficheros o recursos ubicados fuera del mismo. Por esta razón, si un atacante logra comprometer un servicio que se ejecuta en un entorno chroot no debería automáticamente poder acceder al resto del sistema. man:chroot[8] es una buena herramienta para tareas sencillas que no requieran mucha flexibilidad o características complejas o muy avanzadas. Por desgracia, desde la invención de chroot se han ido encontrando muchas formas de saltarse las barreras que chroot impone y, aunque estén corregidas en las versiones más modernas del kernel de FreeBSD, era evidente que man:chroot[2] no era la solución ideal para ejecutar servicios con seguridad. Había que implementar un nuevo subsistema. Este es uno de los principales motivos por los que se crearon las _jaulas_. Las jaulas llevan más allá en muchos sentidos el concepto tradicional de entorno man:chroot[2]. En un entorno man:chroot[2] tradicional los procesos solo ven limitada la parte del sistema de ficheros a la que pueden acceder. El resto de recursos del sistema, es decir, el conjunto de usuarios del sistema, los procesos en ejecución o el subsistema de red están compartidos entre el sistema alojado y el servidor. Las jaulas extienden este modelo virtualizando no solamente el acceso al sistema de ficheros, sino al conjunto de usuarios, al subsistema de red del kernel de FreeBSD y unas cuantas cosas más. En la <> se detallan diversas opciones de control exhaustivo para configurar el acceso a recursos de un entorno enjaulado. Una jaula se caracteriza por disponer de cuatro elementos: * Un "subárbol" de directorios: el punto desde el que se entra a una jaula. Una vez dentro de la jaula un proceso no puede escapar de dicho "subárbol". Los típicos problemas de seguridad que aparecín una y otra vez en el diseño del man:chroot[2] original no afectan a las jaulas de FreeBSD. * Un nombre de máquina ("hostname"), que definirá a la jaula. Las jaulas se usan principalmente para albergar servicios de red, por lo que disponer de un nombre de máquina descriptivo ayuda enormemente al administrador de sistemas. * Una dirección IP: debe asignarse a la jaula y no cambiarse durante el ciclo de vida de la jaula. La dirección IP de una jaula suele ser un alias de un interfaz de red, aunque no es imprescindible que así sea. * Un comando: La ruta de un ejecutable ubicado dentro de la jaula. La ruta es relativa al directorio raiz de la jaula, por lo que puede ser muy diferentes según el entorno. Además, las jaulas pueden tener sus propios usuarios e incluso su propio `root`. Es obvio que este usuario `root` tiene su poder para hacer circunscrito a la jaula y, desde el punto de vista del servidor, el usuario `root` de la jaula no es omnipotente. El usuario `root` de la jaula no puede ejecutar tareas críticas fuera de la jaula (man:jail[8]) a la que pertenece. Más adelante, en la <>, se dará más información sobre las restricciones del usuario `root`. [[jails-build]] == Creación y gestión de jaulas Algunos administradores dividen las jaulas en dos tipos: jaulas "completas", que recrean un sistema FreeBSD real, y jaulas "de servicio", que son aquellas que están dedicadas a una sola aplicación o servicio, en muchos casos ejecutándose sin privilegios. Se trata de una división exclusivamente conceptual, por lo que el proceso de generación de una jaula no se ve afectado por ella. La página de manual man:jail[8] explica claramente el procedimiento a seguir para generar una jaula: [source,shell] .... # setenv D /aquí/está/la/jaula # mkdir -p $D <.> # cd /usr/src # make world DESTDIR=$D <.> # cd etc/ [9] # make distribution DESTDIR=$D <.> # mount_devfs devfs $D/dev <.> .... <.> El mejor punto de partida es la elección del punto del sistema de ficheros del servidor donde estará físicamente ubicada la jaula. [.filename]#/usr/jail/nombredelajaula# es un buen sitio. _nombredelajaula_ es el nombre de máquina que identifica a la jaula. El sistema de ficheros [.filename]#/usr/# suele tener espacio suficiente para albergar el sistema de ficheros de la jaula que, cuando se trata de jaulas "completas", es esencialmente lo necesario para alojar todos y cada uno de los sistemas de ficheros en una instalación del sistema base por omisión de FreeBSD. <.> Este comando creará el contenido necesario (binarios, bibliotecas, páginas de manual, etc.) y lo copiará al "subárbol" elegido como ubicación física de la jaula. Todo se hace al típico estilo FreeBSD: se compila todo y luego se instala en la ruta de destino. <.> Al pasar el "target" `distribution` a make se instalan todos los ficheros de configuración necesarios. En pocas palabras, instala cada fichero instalable que haya en [.filename]#/usr/src/etc/# en el directorio [.filename]#/etc# de la jaula, es decir, en [.filename]#$D/etc/#. <.> No es imprescindible montar el sistema de ficheros man:devfs[8] dentro de la jaula aunque por otra parte (casi) todas las aplicaciones necesitan acceso al menos a un dispositivo, dependiendo esto del propósito de la aplicación. Es muy importante el control del acceso a dispositivos desde la jaula, puesto que una configuración descuidada puede permitir que un atacante haga de las suyas. El control sobre man:devfs[8] se gestiona mediante reglas que se detallan en las páginas de manual man:devfs[8] y man:devfs.conf[5]. Una vez instalada la jaula puede arrancarla mediante man:jail[8]. man:jail[8] usa los cuatro argumentos que se detallan en la <>. Puede pasarle otros argumentos además de estos, por ejemplo para ejecutar procesos enjaulados bajo los permisos de un usuario específico. El argumento `_comando_` depende del tipo de jaula; si se trata de un _virtual system_[.filename]#/etc/rc# es una buena elección, puesto que ejecutará la secuencia de arranque de un sistema FreeBSD real. Si se trata de una jaula _de servicio_ depende del servicio o aplicación que se quiera ejecutar mediante la jaula. Con frecuencia las jaulas se arrancan durante el arranque del servidor que las aloja; el sistema [.filename]#rc# de FreeBSD permite hacerlo de un modo muy sencillo. [.procedure] . Puede crear una lista de jaulas que quiera arrancar en el inicio del sistema en el fichero man:rc.conf[5]: + [.programlisting] .... jail_enable="YES" # Ponga NO si quiere desactivar el arranque de jaulas jail_list="www" # Lista de nombres de jaulas separados por espacios .... . Tendrá que añadir parámetros específicos para cada jaula al fichero man:rc.conf[5]: + [.programlisting] .... jail_www_rootdir="/usr/jail/www" # directorio raiz de la jaula jail_www_hostname="www.example.org" # nombre de máquina de la jaula jail_www_ip="192.168.0.10" # dirección IP de la jaula jail_www_devfs_enable="YES" # montar devfs en la jaula jail_www_devfs_ruleset="www_ruleset" # reglas a aplicar a devfs dentro de la jaula .... + El arranque de jaulas por omisión que se configure en man:rc.conf[5] ejecutará el script [.filename]#/etc/rc# de la jaula y asumirá que es un sistema virtual completo. Si se trata de una jaula de servicio el comando de arranque por omisión tendrá que cambiarse configurando la opción `jail__nombredejaula__exec_start` según convenga. + [NOTE] ==== Si quiere consultar la lista completa de opciones consulte la página de manual man:rc.conf[5]. ==== Puede arrancar o parar a mano una jaula mediante el script [.filename]#/etc/rc.d/jail# siempre y cuando la jaula aparezca en [.filename]#rc.conf#: [source,shell] .... # /etc/rc.d/jail start www # /etc/rc.d/jail stop www .... De momento no hay una forma limpia de apagar una jaula (man:jail[8]) debido a que los comandos que se usan normalmente para producir un apagado limpio del sistema no pueden usarse dentro de una jaula. La mejor forma de parar una jaula es ejecutar el siguiente comando desde dentro de la propia jaula o bien mediante man:jexec[8] desde fuera: [source,shell] .... # sh /etc/rc.shutdown .... Para más información consulte la página de manual man:jail[8]. [[jails-tuning]] == Administración y personalización a fondo Hay diversas opciones que pueden usarse en las jaulas y varios tipos de formas de combinar un sistema FreeBSD servidor y las jaulas y poder disponer de aplicaciones de alto nivel. En esta sección se muestra lo siguiente: * Algunas de las opciones disponibles para personalizar el comportamiento y las restricciones de seguridad que pueden aplicarse en una jaula. * Algunas de las aplicaciones de alto nivel creadas para la administración de jaulas. Estas aplicaciones están en la colección de ports y pueden utilizarse en conjunto para implementar productos basados en jaulas. [[jails-tuning-utilities]] === Herramientas del sistema para la personalización de jaulas en FreeBSD La personalización a fondo de las jaulas se hace en su mayor parte mediante la configuración de variables man:sysctl[8]. Hay una subcategoría especial de sysctl para que sea más sencillo organizar las opciones más más importantes: se trata de las opciones de la jerarquía `security.jail.*` del kernel de FreeBSD. A continuación veremos una lista de las principales sysctl relacionadas con las jaulas y los valores que tienen por omisión. Los nombres deberían describir por sí mismos qué función tienen (N. del T.: En inglés, claro) pero si necesita más información sobre ellas consulte las páginas de manual man:jail[8] y man:sysctl[8]. * `security.jail.set_hostname_allowed: 1` * `security.jail.socket_unixiproute_only: 1` * `security.jail.sysvipc_allowed: 0` * `security.jail.enforce_statfs: 2` * `security.jail.allow_raw_sockets: 0` * `security.jail.chflags_allowed: 0` * `security.jail.jailed: 0` El administrador del _servidor_ puede usar estas variables para añadir o quitar limitaciones impuestas por omisión al usuario `root`. Tenga en cuenta que hay ciertas limitaciones que no pueden quitarse. El usuario `root` no puede montar o desmontar sistemas de ficheros desde su jaula. El usuario `root` no puede cargar o descargar reglas de man:devfs[8], configurar reglas de cortafuegos ni ejecutar muchas otras tareas administrativas que requieran modificaciones o acceso a datos internos del kernel, como cambiar el nivel de seguridad `securelevel` del kernel. El sistema base de FreeBSD contiene un conjunto básico de herramientas que permiten el acceso a información sobre jaulas activas en el sistema, así como la conexión a una jaula para ejecutar comandos administrativos. man:jls[8] y man:jexec[8] forman parte del sistema base de FreeBSD y permiten ejecutar las siguientes tareas: * Mostrar una lista de jaulas activas y sus correspondientes identificadores de jaula (JID), dirección IP, nombre de máquina y ruta. * Conectarse a una jaula en ejecució desde el servidor y ejecutar un comando dentro de la jaula o realizar tareas administrativas dentro de dicha jaula. Esto es muy útil cuando el usuario `root` quiere apagar la jaula de forma limpia. La herramienta man:jexec[8] permite también arrancar una shell dentro de la jaula para realizar tareas administrativas. Veamos un ejemplo: + [source,shell] .... # jexec 1 tcsh .... [[jails-tuning-admintools]] === Herramientas para tareas administrativas de alto nivel en la Colección de Ports Entre las variadas aplicaciones ajenas al Proyecto FreeBSD que han ido apareciendo para administrar jaulas una de las más completas y útiles es package:sysutils/jailutils[]. Es un conjunto de pequeñas aplicaciones de mucha ayuda en la gestión de una jaula (man:jail[8]). Por favor, consulte su página web para más información. [[jails-application]] == Uso de las jaulas [[jails-service-jails]] === Jaulas "de servicio" Esta sección está basada en una idea que {simon} presentó por primera vez en http://simon.nitro.dk/service-jails.html[http://simon.nitro.dk/service-jails.html] y en un artículo con contenido adicional escrito por Ken Tom mailto:locals@gmail.com[locals@gmail.com]. En esta sección se detalla cómo configurar un sistema FreeBSD que añade una capa adicional de seguridad mediante el uso de man:jail[8]. Para su verdadero aprovechamiento se asume que el sistema en el que se vaya a aplicar ejecuta al menos RELENG_6_0 y que la información que contienen las secciones previas de este capítulo se ha comprendido totalmente. [[jails-service-jails-design]] ==== Diseño Uno de los mayores problemas de las jaulas es la gestión de su proceso de actualización. Este proceso tiene a ser un problema porque cada jaula tiene que recompilarse íntegramente desde el código fuente cada vez que hay que actualizarla. Esto no es un gran problema si tenemos una sola jaula puesto que el proceso de actualización es bastante simple, pero si hay muchas jaulas será un trabajo largo y tedioso. [WARNING] ==== : Esta configuración requiere mucha experiencia con FreeBSD y el uso de sus características. Si los pasos que se detallan a continuación le parecen demasiado complicados puede echar un vistazo a sistemas más sencillos como package:sysutils/ezjail[], que le permitirá acceder a un método de administración de jaulas en FreeBSD más sencillo y no es tan sofisticado como el que le proponemos a continuación. ==== El origen de esta idea es resolver los problemas antes descritos compartiendo el máximo posible entre distintas jaulas, de un modo seguro (utilizando montajes using read-only man:mount_nullfs[8] mounts) para que la actualización sea más sencilla y el ubicar servicios aislados en jaulas sea más interesante. Además, se presenta una forma sencilla de añadir o borrar jaulas así como una forma de actualizarlas. [NOTE] ==== Los ejemplos de servicios en este contexto son: un servidor HTTP,un servidor DNS, un servidor SMTP, etc. ==== Los objetivos de la configuración descrita en esta sección son: * Crear una estructura de jaulas simple y fácil de entender. Esto implica _no_ tener que ejecutar un "installworld" completo en todas y cada una de las jaulas. * Facilitar la creación de nuevas jaulas o el borrado de jaulas previamente existentes. * Facilitar la actualización de jaulas ya existentes. * Hacer posible el uso de una rama de FreeBSD personalizada. * Ser paranoico en cuanto a seguridad, reduciendo todo lo posible la posibilidad de que los sistemas se vean comprometidos. * Ahorrar todo el espacio e inodos que sea posible. Como ya se ha dicho, este diseño se basa en gran medida en el disponer de una única plantilla en modo de sólo lectura (a la que llamaremos nullfs) montada en cada jaula y un dispositivo en modo lectura-escritura por cada jaula. El dispositivo puede ser otro disco físico adicional, una partición o un dispositivo man:md[4] basado en un vnode. En este ejemplo utilizaremos montajes nullfs en modo lectura-escritura. La estructura del sistema de ficheros se detalla en la siguiente lista: * Cada jaula se montará bajo [.filename]#/home/j#. * [.filename]#/home/j/mroot# será la plantilla para cada jaula y la partición de sólo lectura para todas las jaulas. * Se creará un directorio vacío para cada jaula bajo el directorio [.filename]#/home/j#. * Cada jaula tendrá un directorio [.filename]#/s# que estará enlazado con la parte de lectura-escritura del sistema. * Cada jaula tendrá su propio sistema en modo lectura-escritura basado en [.filename]#/home/j/skel#. * Cada parte de lectura-escritura correspondiente a cada jaula se creará en [.filename]#/home/js#. [NOTE] ==== Se asume que las jaulas se instalarán bajo la partición [.filename]#/home#. Por supuesto esto no es en absoluto obligatorio, pero hay que tener en cuenta que debe hacerse el mismo cambio en cada uno de los ejemplos que se muestran más adelante. ==== [[jails-service-jails-template]] ==== Creación de la plantilla En esta sección se describen los pasos necesarios para crear la plantilla maestra que conformará la parte de sólo lectura que usarán las jaulas. Siempre es recomendable actualizar el sistema FreeBSD a la última rama -RELEASE. Consulte el crossref:cutting-edge[makeworld,capítulo] correspondiente de este libro si necesita más información. En caso de que la actualización no sea posible tendrá que usar "buidworld" para poder seguir adelante. También necesitará el paquete package:sysutils/cpdup[]. Usaremos man:portsnap[8] para descargar la Colección de Ports de FreeBSD. El capítulo sobre crossref:ports[portsnap,Portsnap] es siempre una lectura muy recomendable para quienes no tengan experiencia con su funcionamiento. [.procedure] . Lo primero que haremos será crear una estructura de directorios para el sistema de ficheros de sólo lectura que contendrá los binarios de nuestras jaulas, luego iremos al directorio que contiene el árbol de código de FreeBSD e instalaremos el sistema de ficheros de sólo lectura en la plantilla de las jaulas: + [source,shell] .... # mkdir /home/j /home/j/mroot # cd /usr/src # make installworld DESTDIR=/home/j/mroot .... . Una vez hecho esto, prepararemos la Colección de Ports de FreeBSD para nuestras jaulas así como un árbol de código FreeBSD, necesario para usar mergemaster: + [source,shell] .... # cd /home/j/mroot # mkdir usr/ports # portsnap -p /home/j/mroot/usr/ports fetch extract # cpdup /usr/src /home/j/mroot/usr/src .... . Crear la estructura de directorios necesaria para la parte de lectura-escritura del sistema: + [source,shell] .... # mkdir /home/j/skel /home/j/skel/home /home/j/skel/usr-X11R6 /home/j/skel/distfiles # mv etc /home/j/skel # mv usr/local /home/j/skel/usr-local # mv tmp /home/j/skel # mv var /home/j/skel # mv root /home/j/skel .... . Usamos mergemaster para instalar los ficheros de configuración que falten. Después nos libramos de los directorios adicionales que haya creado mergemaster: + [source,shell] .... # mergemaster -t /home/j/skel/var/tmp/temproot -D /home/j/skel -i # cd /home/j/skel # rm -R bin boot lib libexec mnt proc rescue sbin sys usr dev .... . Ahora enlazamos simbólicamente el sistema de ficheros de lectura-escritura con el sistema de ficheros de sólo lectura. Por favor, asegúrese de que los enlaces simbólicos se crean en las ubicaciones correctas: [.filename]#s/#. Si se usan directorios reales o directorios erróneos la instalación no funcionará. + [source,shell] .... # cd /home/j/mroot # mkdir s # ln -s s/etc etc # ln -s s/home home # ln -s s/root root # ln -s ../s/usr-local usr/local # ln -s ../s/usr-X11R6 usr/X11R6 # ln -s ../../s/distfiles usr/ports/distfiles # ln -s s/tmp tmp # ln -s s/var var .... . Como último paso, cree un [.filename]#/home/j/skel/etc/make.conf# genérico con el siguiente contenido: + [.programlisting] .... WRKDIRPREFIX?= /s/portbuild .... + El tener `WRKDIRPREFIX` configurado de este modo hará posible compilar ports de FreeBSD dentro de cada jaula. Recuerde que el el directorio de los ports es de sólo lectura. La ruta personalizada por `WRKDIRPREFIX` permite ejecutar compilaciones en la parte de sólo lectura de cada jaula. [[jails-service-jails-creating]] ==== Creación de las jaulas Ya tenemos una plantilla de jaulas de FreeBSD completa, así que podemos configurar nuestras jaulas en [.filename]#/etc/rc.conf#. En este ejemplo crearemos 3 jaulas: "NS", "MAIL" y "WWW". [.procedure] ==== . Introduzca lassiguientes lineas en el fichero [.filename]#/etc/fstab#; con esto cada jaula tendrá acceso a la plantilla de sólo lectura y al espacio de lectura-escritura: + [.programlisting] .... /home/j/mroot /home/j/ns nullfs ro 0 0 /home/j/mroot /home/j/mail nullfs ro 0 0 /home/j/mroot /home/j/www nullfs ro 0 0 /home/js/ns /home/j/ns/s nullfs rw 0 0 /home/js/mail /home/j/mail/s nullfs rw 0 0 /home/js/www /home/j/www/s nullfs rw 0 0 .... + [NOTE] ====== Las particiones que tienen un 0 en la columna "pass" no serán revisadas por man:fsck[8] durante el arranque y las que tienen un 0 en la columna "dump" no serán copiadas por man:dump[8]. No nos interesa que fsck compruebe la integridad de montajes nullfs ni que dump haga copias de seguridad de montajes nullfs de sólo lectura de las jaulas. Por esta razón el ejemplo de [.filename]#fstab# tiene en las dos últimas columnas "0 0". ====== . Configure las jaulas en [.filename]#/etc/rc.conf#: + [.programlisting] .... jail_enable="YES" jail_set_hostname_allow="NO" jail_list="ns mail www" jail_ns_hostname="ns.ejemplo.org" jail_ns_ip="192.168.3.17" jail_ns_rootdir="/usr/home/j/ns" jail_ns_devfs_enable="YES" jail_mail_hostname="mail.ejemplo.org" jail_mail_ip="192.168.3.18" jail_mail_rootdir="/usr/home/j/mail" jail_mail_devfs_enable="YES" jail_www_hostname="www.ejemplo.org" jail_www_ip="62.123.43.14" jail_www_rootdir="/usr/home/j/www" jail_www_devfs_enable="YES" .... + [WARNING] ====== : La razón por la que `jail__nombre__rootdir` contiene [.filename]#/usr/home# y no [.filename]#/home# es que la ruta física del directorio [.filename]#/home# en una instalación de FreeBSD por omisión es [.filename]#/usr/home#. La variable `jail__nombre__rootdir` _no_ debe apuntar a una ruta que contenga un enlace simbólico porque sería imposible arrancar las jaulas. Utilice la herramienta man:realpath[1] para asegurarse del valor exacto que debe asignar a la variable. Por favor, consulte el aviso de seguridad FreeBSD-SA-07:01.jail para más información. ====== . Creamos los puntos de montaje de sistemas de ficheros de sólo lectura correspondientes a cada jaula: + [source,shell] .... # mkdir /home/j/ns /home/j/mail /home/j/www .... . Instalamos la plantilla de lectura-escritura dentro de cada jaula. Observe que utilizamos package:sysutils/cpdup[] para asegurarnos de que se hace una copia exacta de cada directorio: + [source,shell] .... # mkdir /home/js # cpdup /home/j/skel /home/js/ns # cpdup /home/j/skel /home/js/mail # cpdup /home/j/skel /home/js/www .... . Llegados a este punto las jaulas están configuradas y listas para arrancar. Monte los sistemas de ficheros de cada jaula y luego arránquelas con el script [.filename]#/etc/rc.d/jail#: + [source,shell] .... # mount -a # /etc/rc.d/jail start .... ==== Las jaulas deberían haber arrancado. Asegúrese de ello con man:jls[8]. La salida que verá debe parecerse a esta: [source,shell] .... # jls JID IP Address Hostname Path 3 192.168.3.17 ns.ejemplo.org /home/j/ns 2 192.168.3.18 mail.ejemplo.org /home/j/mail 1 62.123.43.14 www.ejemplo.org /home/j/www .... En este punto debería ser posible entrar a cada una de las jaulas, añadir nuevos usuarios o configurar dæmons. La columna `JID` indica el número de identificación de cada jaula que esté funcionando en el sistema. Con el siguiente comando puede ejecutar tareas administrativas en la jaula cuyo `JID` sea 3: [source,shell] .... # jexec 3 tcsh .... [[jails-service-jails-upgrading]] ==== Actualización Llegará el momento en el que sea necesario actualizar el sistema, bien por seguridad o porque sea útil para las jaulas disponer de alguna nueva característica del sistema. El diseño de esta configuración facilita una forma fácil de actualizar sus jaulas. Además, minimiza la pérdida de servicio, puesto que las jaulas deben apagarse sólamente al final de todo el proceso. Se ofrece también la posibilidad de volver a la versión anterior en caso de que algo salga mal. [.procedure] ==== . El primer paso es actualizar el servidor que aloja las jaulas de la forma habitual. Después creamos una plantilla de sólo lectura temporal en [.filename]#/home/j/mroot2#. + [source,shell] .... # mkdir /home/j/mroot2 # cd /usr/src # make installworld DESTDIR=/home/j/mroot2 # cd /home/j/mroot2 # cpdup /usr/src usr/src # mkdir s .... + La ejecución de `installworld` crea unos cuantos directorios innecesarios que debemos borrar: + [source,shell] .... # chflags -R 0 var # rm -R etc var root usr/local tmp .... . Creamos de nuevo los enlaces simbólicos de lectura-escritura del sistema de ficheros principal: + [source,shell] .... # ln -s s/etc etc # ln -s s/root root # ln -s s/home home # ln -s ../s/usr-local usr/local # ln -s ../s/usr-X11R6 usr/X11R6 # ln -s s/tmp tmp # ln -s s/var var .... . Ha llegado el momento de parar las jaulas: + [source,shell] .... # /etc/rc.d/jail stop .... . Desmontamos los sistemas de ficheros originales: + [source,shell] .... # umount /home/j/ns/s # umount /home/j/ns # umount /home/j/mail/s # umount /home/j/mail # umount /home/j/www/s # umount /home/j/www .... + [NOTE] ====== Los sistemas de ficheros de lectura-escritura cuelgan del sistema de sólo lectura [.filename]#/s# y por tanto deben desmontarse antes. ====== . Movemos el sistema de ficheros de sólo lectura viejo y lo reemplazamos por el nuevo. Nos servirá de copia de seguridad y como archivo en caso de que haya problemas. Para darle un nombre usamos la fecha en la que se creado una nueva copia del sistema de ficheros de sólo lectura. Movemos también la Colección de Ports de FreeBSD al sistema de ficheros nuevo para ahorrar un poco más de espacio e inodos: + [source,shell] .... # cd /home/j # mv mroot mroot.20060601 # mv mroot2 mroot # mv mroot.20060601/usr/ports mroot/usr .... . Una vez llegados a este punto la nueva plantilla de sólo lectura está lista, de manera que lo único que nos queda por hacer es montar los sistemas de ficheros y arrancar las jaulas: + [source,shell] .... # mount -a # /etc/rc.d/jail start .... ==== Compruebe con man:jls[8] si las jaulas han arrancado sin contratiempos. No olvide ejecutar mergemaster en cada jaula. Tendrá que actualizar tanto los ficheros de configuración como los scripts rc.d. diff --git a/documentation/content/fr/books/handbook/cutting-edge/_index.adoc b/documentation/content/fr/books/handbook/cutting-edge/_index.adoc index ae44f5906a..9b6368e66f 100644 --- a/documentation/content/fr/books/handbook/cutting-edge/_index.adoc +++ b/documentation/content/fr/books/handbook/cutting-edge/_index.adoc @@ -1,1198 +1,1198 @@ --- title: Chapitre 25. Mise à jour de FreeBSD part: Partie III. Administration Système prev: books/handbook/l10n next: books/handbook/dtrace --- [[updating-upgrading]] = Mise à jour de FreeBSD :doctype: book :toc: macro :toclevels: 1 :icons: font :sectnums: :sectnumlevels: 6 :source-highlighter: rouge :experimental: :skip-front-matter: :toc-title: Table des matières :table-caption: Tableau :example-caption: Exemple :xrefstyle: basic :relfileprefix: ../ :outfilesuffix: :sectnumoffset: 25 ifeval::["{backend}" == "html5"] :imagesdir: ../../../images/books/handbook/cutting-edge/ endif::[] ifeval::["{backend}" == "pdf"] :imagesdir: ../../../../static/images/books/handbook/cutting-edge/ endif::[] ifeval::["{backend}" == "epub3"] :imagesdir: ../../../../static/images/books/handbook/cutting-edge/ endif::[] include::shared/authors.adoc[] include::shared/releases.adoc[] include::shared/fr/mailing-lists.adoc[] include::shared/fr/teams.adoc[] include::shared/fr/urls.adoc[] toc::[] [[updating-upgrading-synopsis]] == Synopsis FreeBSD est en constant développement entre deux versions. Certains utilisateurs préfèrent utiliser les versions publiées officiellement alors que d'autres voudront rester à jour avec les tous derniers développements. Mêmes les versions officielles sont souvent mises à jour avec les correctifs de problèmes critiques et de sécurité. Indépendamment de la version utilisée, FreeBSD fournit tous les outils nécessaires à la mise à jour de votre système, et permet également des mises à jour aisées entre versions. Ce chapitre vous aidera à décider si vous voulez suivre les développements, ou vous en tenir aux versions publiées. Les outils de base pour le maintien à jour de votre système seront également présentés. Après la lecture de ce chapitre, vous connaîtrez: * Quels utilitaires peuvent être employés pour mettre à jour le système et le catalogue des logiciels portés. * Comment maintenir votre système à jour avec freebsd-update, CVSup, CVS, ou CTM. * Comment comparer l'état d'un système installé avec une copie de confiance. * La différence entre les deux branches de développement: FreeBSD-STABLE et FreeBSD-CURRENT. * Comment recompiler et réinstaller l'intégralité du système de base avec la commande `make buildworld` (etc.). Avant de lire ce chapitre, vous devrez: * Correctement configurer votre connexion réseau (crossref:advanced-networking[advanced-networking,Administration réseau avancée]). * Savoir comment installer des logiciels tiers (crossref:ports[ports,Installer des applications. les logiciels pré-compilés et les logiciels portés]). [NOTE] ==== Tout au long de ce chapitre, la commande `cvsup` sera utilisée pour récupérer et mettre à jour les sources de FreeBSD. Pour l'utiliser, vous devrez installer un logiciel porté ou pré-compilé tel que package:net/cvsup-without-gui[]. Si vous utilisez FreeBSD 6.2-RELEASE ou une version ultérieure, vous pouvez remplacer cette commande par man:csup[1], qui fait désormais partie du système de base. ==== [[updating-upgrading-freebsdupdate]] == Mise à jour de FreeBSD Appliquer des correctifs de sécurité est une part importante de la maintenance de logiciels informatiques tout particulièrement dans le cas du système d'exploitation. Pendant très longtemps sous FreeBSD, ce processus n'était pas aisé. Les correctifs devaient être appliqués au code source, le code ensuite recompilé sous forme de binaires, et enfin les binaires devaient être ré-installés. Ce processus n'est plus de mise comme FreeBSD dispose désormais d'un utilitaire appelé simplement `freebsd-update`. Cet utilitaire fournit deux fonctions distinctes. Tout d'abord, il permet l'application de mises à jour de correction et de sécurité sur le système de base de FreeBSD sans nécessiter une compilation et une ré-installation. En second lieu, l'utilitaire supporte les mises à jour mineures et majeures des versions publiées. [NOTE] ==== Les mise à jour binaires sont disponibles pour toutes les architectures actuellement supportées par l'équipe de sécurité. Avant de mettre à jour vers une nouvelle version, les annonces concernant la version devront être passées en revue sachant qu'elles peuvent contenir des informations importantes au sujet de cette version. Ces annonces peuvent être consultées à l'adresse suivante: http://www.FreeBSD.org/releases/[http://www.FreeBSD.org/releases/]. ==== S'il existe une table `crontab` utilisant `freebsd-update`, elle doit être désactivée avant de démarrer les opérations qui vont suivre. [[freebsdupdate-config-file]] === Le fichier de configuration Certains utilisateurs peuvent souhaiter adapter le fichier de configuration par défaut [.filename]#/etc/freebsd-update.conf#, permettant un meilleur contrôle du processus. Les options sont très bien documentées, mais les suivantes demandent un peu plus d'explication: [.programlisting] .... # Composants du système de base qui doivent être maintenus à jour. Components src world kernel .... Ce paramètre contrôle quelles sont les parties de FreeBSD qui seront mises à jour. Par défaut on met à jour le code source, l'intégralité du système de base et le noyau. Les composants sont les mêmes que ceux disponibles durant l'installation, par exemple, ajouter `world/games` ici permettrait d'appliquer les correctifs relatifs aux jeux. Utiliser `src/bin` permettrait la mise à jour du code source du répertoire [.filename]#src/bin#. La meilleure option est de laisser telle quelle la configuration par défaut car la modifier pour ajouter des éléments particuliers demandera à l'utilisateur de lister chaque élément qu'il désire mettre à jour. Cela pourrait avoir des conséquences désastreuses puisque le code source et les binaires peuvent à terme ne plus être en phase. [.programlisting] .... # Les chemins d'accès commençant par quelque chose correspondant à une # entrée de type IgnorePaths seront ignorés. IgnorePaths .... Ajoute les chemins d'accès comme [.filename]#/bin# ou [.filename]#/sbin# pour préserver intacts ces répertoires durant le processus de mise à jour. Cette option peut être utilisée pour empêcher `freebsd-update` d'écraser des modifications locales. [.programlisting] .... # Les chemins d'accès qui commencent par quelque chose correspondant à # une entrée de type UpdateIfUnmodified seront mis à jour que si le # contenu du fichier n'a pas été modifié par l'utilisateur (à moins # que les modifications ne soient fusionnées; voir plus bas). UpdateIfUnmodified /etc/ /var/ /root/ /.cshrc /.profile .... Met à jour les fichiers de configuration dans les répertoires désignés seulement s'ils n'ont pas été modifiés. Tout changement effectué par l'utilisateur invalidera automatiquement la mise à jour de ces fichiers. Il existe une autre option `KeepModifiedMetadata` qui indiquera à `freebsd-update` de sauvegarder les changements durant la fusion. [.programlisting] .... # Quand on met à jour vers une nouvelle version de FreeBSD, les fichiers # correspondant à une entrée de type MergeChanges verront leurs # différences locales fusionnées avec le fichier de la nouvelle # version de FreeBSD. MergeChanges /etc/ /var/named/etc/ .... Liste des répertoires avec des fichiers de configuration que `freebsd-update` devrait tenter de fusionner. Le processus de fusion des fichiers est l'application d'une série de correctifs man:diff[1] similaires à ceux de man:mergemaster[8] avec cependant moins d'options, les fusions sont soit acceptées, ouvrant un éditeur, soit abandonnées par `freebsd-update`. En cas de doute, sauvegardez [.filename]#/etc# et acceptez les fusions. Consultez la section sur <> pour plus d'information sur la commande `mergemaster`. [.programlisting] .... # Répertoire dans lequel stocker les mise à jour téléchargées et les # fichiers temporaires utilisés par la mise à jour de FreeBSD. # WorkDir /var/db/freebsd-update .... Ce répertoire est l'endroit où tous les correctifs et les fichiers temporaires seront placés. Dans les cas où l'utilisateur effectue une mise à jour de version, cet emplacement doit disposer d'au moins un gigaoctet d'espace disponible. [.programlisting] .... # Lors de mises à jour entre versions de FreeBSD, doit-on lire la liste # de composants de manière stricte (StrictComponents yes) # ou tout simplement comme une liste de composants qui *pourraient* # être installés et pour lesquels la mise à jour de FreeBSD devrait # déterminer lesquels sont effectivement installés et les mettre à # jour (StrictComponents no)? # StrictComponents no .... Cette option fixée à `yes`, `freebsd-update` supposera que la liste de composants est complète et n'essaiera pas d'effectuer des modifications en dehors de cette liste. Concrètement, `freebsd-update` tentera de mettre à jour chaque fichier appartenant à la liste de composants. [[freebsdupdate-security-patches]] === Correctifs de sécurité Les correctifs de sécurité sont stockés sur une machine distante et peuvent être téléchargés et installés en utilisant la commande suivante: [source,shell] .... # freebsd-update fetch # freebsd-update install .... Si des correctifs ont été appliqués au noyau le système devra être redémarré. Si tout s'est bien passé le système est corrigé et `freebsd-update` pourra être exécuté chaque nuit via un processus man:cron[8]. Une entrée dans le fichier [.filename]#/etc/crontab# devrait être suffisante pour accomplir cette tâche: [.programlisting] .... @daily root freebsd-update cron .... Cette entrée indique qu'une fois par jour, l'utilitaire `freebsd-update` sera exécuté. De cette manière, en employant l'option `cron`, `freebsd-update` vérifiera seulement l'existence de mises à jour. Si des correctifs existent, il seront automatiquement téléchargés sur le disque local mais non-appliqués. L'utilisateur `root` sera contacté par courrier électronique, il pourra ainsi les installer manuellement. Si quelque s'est mal passé, `freebsd-update` a la capacité d'annuler le dernier ensemble de changements avec la commande suivante: [source,shell] .... # freebsd-update rollback .... Une fois la commande achevée, le système devra être redémarré si le noyau ou un de ses modules ont été modifiés. Cela permettra à FreeBSD de charger en mémoire les nouveaux binaires. L'utilitaire `freebsd-update` peut mettre à jour uniquement et automatiquement le noyau `GENERIC`. Si un noyau personnalisé est utilisé, il devra être recompilé et réinstallé après que la commande `freebsd-update` ait achevé l'installation du reste des mises à jour. Cependant `freebsd-update` détectera et mettra à jour le noyau `GENERIC` dans [.filename]#/boot/GENERIC# (s'il existe), et cela même si ce n'est pas le noyau actuel (qui tourne) du système. [NOTE] ==== C'est toujours une bonne idée de conserver une copie du noyau `GENERIC` dans [.filename]#/boot/GENERIC#. Cela sera utile pour diagnostiquer une variété de problèmes, et lors des mises à jour utilisant `freebsd-update` comme décrit dans la <>. ==== A moins que la configuration par défaut présente dans [.filename]#/etc/freebsd-update.conf# n'ait été modifiée, `freebsd-update` installera les sources du noyau mises à jour avec le reste des mises à jour. La recompilation et la réinstallation d'un noyau personnalisé peuvent effectuées de la manière classique. [NOTE] ==== Les mises à jour distribuées via `freebsd-update`, n'impliquent pas toujours le noyau. Il ne sera pas nécessaire de recompiler votre noyau personnalisé si les sources du noyau n'ont pas été modifiées par l'exécution de `freebsd-update install`. Cependant `freebsd-update` met toujours à jour le fichier [.filename]#/usr/src/sys/conf/newvers.sh#. Le niveau ou la version de correctifs (comme indiqué par le nombre `-p` rapporté par `uname -r`) est obtenu à partir de ce fichier. Recompiler votre noyau personnalisé, même si rien d'autre n'a changé, permettra à la commande man:uname[1] de rapporter précisément le niveau de correctifs du système. C'est particulièrement utile quand on gère de multiples systèmes, car cela permet une évaluation rapide des mises à jour présentes sur chacun d'eux. ==== [[freebsdupdate-upgrade]] === Mises à jour mineures et majeures Ce processus supprimera les anciens fichiers objets et bibliothèques qui rendent inutilisables la plupart des applications tierce-partie. Il est recommandé que tous les logiciels portés soient supprimés et réinstallés ou mis à jour ultérieurement en utilisant l'outil package:ports-mgmt/portupgrade[]. La plupart des utilisateurs voudront lancer une compilation test à l'aide de la commande suivante: [source,shell] .... # portupgrade -af .... Cela garantira que tout sera réinstallé correctement. Notez que fixer la variable d'environnement `BATCH` à `yes` répondra `yes` à toute question lors de ce processus, supprimant ainsi la nécessité d'une intervention humaine durant le processus de compilation. Si un noyau personnalisé est utilisé, le processus de mise à jour est un peu plus complexe. Une copie du noyau `GENERIC` est nécessaire et devrait être placée dans le répertoire [.filename]#/boot/GENERIC#. Si le noyau `GENERIC` n'est pas présent sur le système, il peut être obtenu en utilisant une des méthodes suivantes: * Si un noyau personnalisé a déjà été compilé, le noyau présent dans [.filename]#/boot/kernel.old# est en fait le noyau `GENERIC`. Renommer ce répertoire en [.filename]#/boot/GENERIC#. * En supposant qu'un accès physique à la machine est possible, une copie du noyau `GENERIC` peut être installé à partir d'un CD-ROM. Insérer votre disque d'installation et utiliser les commandes suivantes: + [source,shell] .... # mount /cdrom # cd /cdrom/X.Y-RELEASE/kernels # ./install.sh GENERIC .... + Remplacer [.filename]#X.Y-RELEASE# avec la version que vous utilisez. Le noyau `GENERIC` sera installé par défaut dans [.filename]#/boot/GENERIC#. * En dehors de ce qui précède le noyau `GENERIC` peut être recompilé et installé à partir des sources: + [source,shell] .... # cd /usr/src # env DESTDIR=/boot/GENERIC make kernel # mv /boot/GENERIC/boot/kernel/* /boot/GENERIC # rm -rf /boot/GENERIC/boot .... + Pour que ce noyau soit pris en compte comme `GENERIC` par `freebsd-update`, le fichier de configuration `GENERIC` devra ne pas avoir été modifié. Il est également suggéré qu'il soit compilé sans aucune option particulière (de préférence avec un fichier [.filename]#/etc/make.conf# vide). Redémarrer avec le noyau `GENERIC` n'est pas nécessaire à ce stade. Les mises à jour de versions majeures et mineures peuvent être effectuées en passant à la commande `freebsd-update` la version vers laquelle on désire mettre à jour, par exemple, la commande suivante effectuera la mise à jour vers FreeBSD 8.1: [source,shell] .... # freebsd-update -r 8.1-RELEASE upgrade .... La commande `freebsd-update` analysera le fichier de configuration et le système afin de récupérer les informations nécessaires à la mise à jour du système. A l'écran s'affichera quels sont les composants détectés et quels sont ceux qui n'ont pas été détectés. Par exemple: [source,shell] .... Looking up update.FreeBSD.org mirrors... 1 mirrors found. Fetching metadata signature for 8.0-RELEASE from update1.FreeBSD.org... done. Fetching metadata index... done. Inspecting system... done. The following components of FreeBSD seem to be installed: kernel/smp src/base src/bin src/contrib src/crypto src/etc src/games src/gnu src/include src/krb5 src/lib src/libexec src/release src/rescue src/sbin src/secure src/share src/sys src/tools src/ubin src/usbin world/base world/info world/lib32 world/manpages The following components of FreeBSD do not seem to be installed: kernel/generic world/catpages world/dict world/doc world/games world/proflibs Does this look reasonable (y/n)? y .... A ce niveau `freebsd-update` tentera de télécharger tous les fichiers nécessaires à la mise à jour. Dans certains cas l'utilisateur sera interrogé sur ce qu'il faut installer ou sur comment procéder à certaines actions. Si un noyau personnalisé est utilisé, l'étape précédente produira un avertissement semblable au suivant: [source,shell] .... WARNING: This system is running a "MYKERNEL" kernel, which is not a kernel configuration distributed as part of FreeBSD 8.0-RELEASE. This kernel will not be updated: you MUST update the kernel manually before running "/usr/sbin/freebsd-update install" .... Cet avertissement peut sans risque être ignoré à ce niveau. Le noyau [.filename]#GENERIC# mis à jour sera utilisé comme une étape intermédiaire dans le processus de mise à jour. Une fois l'ensemble des correctifs téléchargé sur le système local, ils seront appliqués. Ce processus peut prendre plus ou moins de temps en fonction de la vitesse et de la charge de la machine. Les fichiers de configuration seront fusionnés - cette partie du processus demande l'intervention de l'utilisateur car un fichier peut être automatiquement fusionné ou en cas de besoin un éditeur peut apparaître sur l'écran pour une fusion manuelle. Les résultats des fusions réussies seront affichés au fur et à mesure que se déroule l'opération. Un échec ou une fusion ignorée provoqueront l'arrêt du processus. Certains utilisateurs peuvent vouloir conserver une sauvegarde du répertoire [.filename]#/etc# et fusionner plus tard à la main les fichiers importants comme [.filename]#master.passwd# ou [.filename]#group#. [NOTE] ==== Le système n'a pas encore été réellement modifié, les fusions et l'application des correctifs ont lieu dans un autre répertoire. Quand tous les correctifs ont été appliqués avec succès, que tous les fichiers de configuration ont été fusionnés et que le processus s'est déroulé sans problème, les modifications devront être appliquées définitivement au système par l'utilisateur. ==== Une fois les opérations précédentes achevées, la mise à jour peut être appliquée en utilisant la commande suivante: [source,shell] .... # freebsd-update install .... Le noyau et les modules seront corrigés les premiers. A ce moment la machine doit être obligatoirement redémarrée. Si le système utilisait un noyau personnalisé, utiliser la commande man:nextboot[8] pour indiquer le noyau [.filename]#/boot/GENERIC# (qui a été mis à jour) pour le prochain démarrage: [source,shell] .... # nextboot -k GENERIC .... [WARNING] ==== Avant de redémarrer sur le noyau `GENERIC`, assurez-vous qu'il contient tous les pilotes nécessaires pour que votre système démarre correctement (et se connecte au réseau, si la mise à jour de la machine se fait à distance). En particulier, si le noyau précédemment utilisé contient des fonctions généralement fournies par des modules, faites en sorte de charger temporairement ces modules avec le noyau [.filename]#GENERIC# à l'aide de [.filename]#/boot/loader.conf#. Vous pouvez également avoir intérêt à désactiver les services non-indispensables, les montages réseaux ou disques, etc. avant que le processus de mise à jour ne soit achevé. ==== La machine doit maintenant être redémarrée avec le noyau mis à jour: [source,shell] .... # shutdown -r now .... Une fois la machine de nouveau active, `freebsd-update` devra être lancée à nouveau. L'état du processus de mise à jour a été sauvegardé, et donc `freebsd-update` ne recommencera pas au début, mais supprimera les anciens fichiers objet et bibliothèques partagées. Afin de poursuivre les opérations, taper la commande suivante: [source,shell] .... # freebsd-update install .... [NOTE] ==== En fonction d'un changement ou non de numérotation d'une ou plusieurs bibliothèques, il pourra y avoir deux phases d'installation au lieu de trois. ==== Tous les logiciels tierce-partie doivent être maintenant recompilés et réinstallés. Cela est nécessaire comme certains logiciels peuvent dépendre de bibliothèques qui ont été supprimées lors du processus de mise à jour. La commande package:ports-mgmt/portupgrade[] peut être employée pour automatiser la chose. Les commandes suivantes peuvent être utilisées pour initier le processus: [source,shell] .... # portupgrade -f ruby # rm /var/db/pkg/pkgdb.db # portupgrade -f ruby18-bdb # rm /var/db/pkg/pkgdb.db /usr/ports/INDEX-*.db # portupgrade -af .... Une fois cela effectué, terminer le processus de mise à jour avec un dernier appel à `freebsd-update`. Taper la commande suivante pour régler les derniers détails: [source,shell] .... # freebsd-update install .... Si le noyau `GENERIC` a été utilisé temporairement, il est temps de compiler et d'installer un nouveau noyau personnalisé suivant la méthode habituelle. Redémarrer la machine avec la nouvelle version de FreeBSD. Le processus de mise à jour est terminé. [[freebsdupdate-system-comparison]] === Comparaison de l'état du système L'utilitaire `freebsd-update` peut être utilisé pour comparer l'état du système FreeBSD installé avec une copie de confiance. Cette fonctionnalité inspecte la version actuelle des utilitaires système, des bibliothèques et des fichiers de configuration. Pour lancer la comparaison, utiliser la commande suivante: [source,shell] .... # freebsd-update IDS >> outfile.ids .... [WARNING] ==== Bien que le nom de la commande soit IDS, elle ne devrait en aucun cas être considérée comme un système de détection d'intrusion du type de package:security/snort[]. Etant donné que `freebsd-update` stocke des données sur le disque, le risque de modification des données est évident. Alors que cette possibilité peut être minimisée en utilisant le paramétrage `kern.securelevel` et en stockant les données `freebsd-update` sur un système de fichiers en lecture seule quand elles ne sont pas utilisées, une bien meilleure solution serait de comparer le système avec un disque sécurisé comme un DVD ou un disque USB conservé à l'extérieur. ==== Le système sera analysé, et une liste de fichiers ainsi que la valeur de leur empreinte numérique man:sha256[1], celle de la version d'origine et celle de la version actuellement installée, seront affichés. C'est pour cela que cet affichage est copié dans le fichier [.filename]#outfile.ids#. L'affichage défile trop rapidement une comparaison visuelle et remplira rapidement le tampon de la console. Ces lignes sont également très longues mais le format de sortie peut être facilement passé par une analyse syntaxique. Par exemple, pour obtenir une liste des fichiers qui diffèrent avec ceux de la version d'origine, utiliser la commande suivante: [source,shell] .... # cat outfile.ids | awk '{ print $1 }' | more /etc/master.passwd /etc/motd /etc/passwd /etc/pf.conf .... La sortie de cette commande a été tronquée, bien plus de fichiers sont concernés. Certains de ces fichiers sont naturellement modifiés, le fichier [.filename]#/etc/passwd# a été modifié en raison de l'ajout d'utilisateurs au système. Dans certains cas, d'autres fichiers apparaîtrons, comme les modules du noyau, qui diffèrent puisque `freebsd-update` peut les avoir mis à jour. Pour exclure des fichiers ou des répertoires spécifiques, ajoutez-les au paramètre `IDSIgnorePaths` dans le fichier [.filename]#/etc/freebsd-update.conf#. Ce système peut prendre part à une méthode de mise à jour élaboré, en dehors de ce qui a été présenté précédemment. [[updating-upgrading-portsnap]] == Portsnap: un outil de mise à jour du catalogue des logiciels portés Le système de base de FreeBSD dispose également d'un utilitaire pour la mise à jour du catalogue des logiciels portés: man:portsnap[8]. Lors de son exécution, il se connectera sur un site distant, contrôlera la clé de sécurité et téléchargera une nouvelle copie du catalogue des logiciels portés. La clé est utilisée pour vérifier l'intégrité de tous les fichiers téléchargés, s'assurant qu'ils n'ont pas été modifiés au vol. Pour récupérer les tout derniers fichiers du catalogue des logiciels portés, utiliser la commande suivante: [source,shell] .... # portsnap fetch Looking up portsnap.FreeBSD.org mirrors... 3 mirrors found. Fetching snapshot tag from portsnap1.FreeBSD.org... done. Fetching snapshot metadata... done. Updating from Wed Aug 6 18:00:22 EDT 2008 to Sat Aug 30 20:24:11 EDT 2008. Fetching 3 metadata patches.. done. Applying metadata patches... done. Fetching 3 metadata files... done. Fetching 90 patches.....10....20....30....40....50....60....70....80....90. done. Applying patches... done. Fetching 133 new ports or files... done. .... Cet exemple nous montre que man:portsnap[8] a trouvé et contrôlé plusieurs mises à jour pour les données actuelles du catalogue. Est également indiqué si l'utilitaire a été précédemment exécuté, si cela avait été une première exécution, le catalogue aurait été tout simplement téléchargé. Lorsque man:portsnap[8] termine avec succès une opération de récupération (`fetch`), le catalogue des logiciels portés et ses mises à jour sont présents sur le système. A la première exécution de `portsnap` vous devez utiliser la commande `extract` pour installer les fichiers téléchargés: [source,shell] .... # portsnap extract /usr/ports/.cvsignore /usr/ports/CHANGES /usr/ports/COPYRIGHT /usr/ports/GIDs /usr/ports/KNOBS /usr/ports/LEGAL /usr/ports/MOVED /usr/ports/Makefile /usr/ports/Mk/bsd.apache.mk /usr/ports/Mk/bsd.autotools.mk /usr/ports/Mk/bsd.cmake.mk ... .... Pour mettre à jour un catalogue des logiciels portés déjà installé utilisez la commande `portsnap update`: [source,shell] .... # portsnap update .... Le processus est maintenant terminé et les applications peuvent être installées ou mises à jour à l'aide du catalogue à jour. Les opérations `fetch` et `extract` ou `update` peuvent être exécutées à la suite comme montré dans l'exemple suivant: [source,shell] .... # portsnap fetch update .... Cette commande téléchargera la dernière version du catalogue des logiciels portés et mettra à jour votre version locale située dans [.filename]#/usr/ports#. [[updating-upgrading-documentation]] == Updating the Documentation Set ** Traduction en Cours ** [[updating-installed-documentation]] === Updating Documentation from Source [[doc-ports-install-package]] === Updating Documentation from Ports [[current-stable]] == Suivre une branche de développement Il existe deux branches de développement de FreeBSD: FreeBSD-CURRENT et FreeBSD-STABLE. Cette section détaillera un peu chacune d'elles et décrira comment garder à jour votre système avec chaque arborescence respective. FreeBSD-CURRENT sera tout d'abord traité, suivit de FreeBSD-STABLE. [[current]] === Se synchroniser avec la version -CURRENT de FreeBSD En lisant ces lignes, gardez à l'esprit que FreeBSD-CURRENT représente "les tout derniers" développement de FreeBSD. On attend des utilisateurs de FreeBSD-CURRENT un degré élevé de compétences techniques, et devraient être capables de résoudre des problèmes système compliqués par eux-mêmes. Si vous êtes nouveau à FreeBSD, pensez à deux fois avant de l'installer. ==== Qu'est-ce que FreeBSD-CURRENT? FreeBSD-CURRENT est la toute dernière version des sources de FreeBSD en cours de développement. Cela inclut des évolutions en cours, des modifications expérimentales, et des mécanismes de transition qui feront ou ne feront pas partie de la prochaine version officielle du logiciel. Bien que de nombreux développeurs de FreeBSD compilent les sources de FreeBSD-CURRENT quotidiennement, il arrive que celles-ci ne soient pas compilables pendant une certaine période de temps. Ces problèmes sont résolus aussi rapidement que possible, mais que FreeBSD-CURRENT soit à l'origine d'un désastre ou de l'apport d'une nouvelle fonctionnalité attendue peut parfois dépendre que du moment auquel vous avez chargé le code source. ==== Qui a besoin de FreeBSD-CURRENT? FreeBSD-CURRENT est mis à disposition pour 3 types de personnes: . Les membres de la communauté FreeBSD qui travaillent activement sur une partie de l'arborescence des sources et pour qui rester constamment à jour est une nécessité absolue. . Les membres de la communauté FreeBSD qui participent activement aux tests et sont disposés à passer du temps à résoudre les problèmes pour garantir que FreeBSD-CURRENT reste aussi saine que possible. Il y a également ceux qui désirent faire des suggestions dans certains domaines sur les modifications à faire et la direction générale que prend FreeBSD, et soumettent des correctifs pour les implémenter. . Ceux qui veulent simplement garder un oeil sur les évolutions, ou utiliser les dernières sources comme référence (e.g. pour les _lire_, et non pour les utiliser). Ces personnes font parfois des remarques ou contribuent au code. ==== Qu'est-ce que _n'est pas_ FreeBSD-CURRENT? . Un raccourci pour se procurer des pré-versions parce que vous avez entendu dire qu'il y a de nouvelles fonctionnalités géniales et que vous voulez être le premier du coin à les avoir. Etre le premier à avoir la nouvelle fonctionnalité signifie être le premier à avoir les nouveaux bogues également. . Une moyen rapide d'avoir des corrections de bogues. N'importe quelle version de FreeBSD-CURRENT apportera probablement de nouveaux bogues comme elle corrigera ceux déjà présents. . Nous ne le "supportons officiellement" en aucun cas. Nous faisons du mieux que nous pouvons pour aider les personnes qui font vraiment partie des trois groupes "légitimes" à qui s'adresse FreeBSD-CURRENT, mais nous n'avons tout simplement "pas le temps" de fournir un support technique. Ce n'est pas parce que nous sommes des personnes détestables qui n'aiment pas aider les autres (nous ne ferions pas FreeBSD si tel était le cas), nous ne pouvons simplement pas répondre à des centaines de messages par jour _et_ travailler sur FreeBSD! Entre améliorer FreeBSD et répondre à de nombreuses questions sur le code expérimental, les développeurs optent pour le premier choix. ==== Utiliser FreeBSD-CURRENT . Inscrivez-vous à la {freebsd-current} et la {svn-src-head}. Ce n'est pas seulement une bonne idée, c'est _indispensable_. Si vous n'êtes pas sur la liste _{freebsd-current}_, vous ne verrez pas les commentaires qui sont faits sur l'état courant du système et vous vous retrouverez probablement confrontés à de nombreux problèmes que d'autres ont déjà identifiés et résolus. Encore plus grave, vous manqueriez des bulletins importants potentiellement critiques pour la bonne santé de votre système. + La liste {svn-src-head} vous permettra de voir les courriers de trace des soumissions de toutes les modifications dès qu'elles sont faites et des informations pertinentes sur les éventuels effets de bord. + -Pour vous inscrire à ces listes, ou à une autre, rendez vous à {mailman-lists-url} et cliquez sur la liste à laquelle vous désirez vous inscrire. Des instructions sur le reste de la procédure sont alors données. Si vous êtes intéressé par le suivi des modifications appliquées à l'ensemble de l'arborescence des sources, nous vous recommandons de vous inscrire à {svn-src-all}. +Pour vous inscrire à ces listes, ou à une autre, rendez vous à {mailing-lists-url} et cliquez sur la liste à laquelle vous désirez vous inscrire. Des instructions sur le reste de la procédure sont alors données. Si vous êtes intéressé par le suivi des modifications appliquées à l'ensemble de l'arborescence des sources, nous vous recommandons de vous inscrire à {svn-src-all}. . Récupérez les sources sur un crossref:mirrors[mirrors,site miroir] FreeBSD. Vous pouvez le faire de deux manières: .. Utilisez le programme crossref:mirrors[cvsup,cvsup] avec le fichier [.filename]#supfile# nommé [.filename]#standard-supfile# disponible dans le répertoire [.filename]#/usr/shared/examples/cvsup#. C'est la méthode recommandée, puisqu'elle permet de récupérer la totalité des sources la première fois et par la suite uniquement ce qui a été modifié. De nombreuses personnes exécutent `cvsup` depuis `cron` et maintiennent ainsi automatiquement à jour leurs sources. Vous devez personnaliser l'exemple de [.filename]#supfile# précédent, et configurer crossref:mirrors[cvsup,cvsup] pour votre environnement. + [NOTE] ==== Le fichier d'exemple [.filename]#standard-supfile# est destiné au suivi d'une branche de sécurité FreeBSD spécifique et non pas à celui de FreeBSD-CURRENT. Vous devrez éditer ce fichier et remplacer la ligne suivante: [.programlisting] .... *default release=cvs tag=RELENG_X_Y .... Par celle-ci: [.programlisting] .... *default release=cvs tag=. .... Pour une explication détaillée des étiquettes utilisables, veuillez vous référer à la section crossref:mirrors[cvs-tags,Etiquettes CVS] de ce manuel. ==== .. Utilisez CTM. Si vous disposez d'une mauvaise connexion (connexions chères ou seulement un accès au courrier électronique) CTM est une bonne solution. Cependant, c'est une source de problèmes et peut donner lieu à des fichiers endommagés. C'est pourquoi cette méthode est rarement utilisée, ce qui augmente les chances que cela ne fonctionne pas pendant d'assez longue périodes. Nous recommandons d'utiliser CVSup à tous ceux disposant d'un modem 9600 bps ou d'une connexion plus rapide. . Si vous récupérez les sources pour compiler un système opérationnel, et pas simplement pour les lire, alors récupérez _tout_ FreeBSD-CURRENT, et pas uniquement certaines portions. La raison de cela est que diverses parties des sources dépendent de modifications effectuées ailleurs, et si vous essayez de compiler juste une partie des source, il est quasiment certain que vous aurez des problèmes. . Avant de compiler FreeBSD-CURRENT, lisez attentivement le [.filename]#Makefile# dans [.filename]#/usr/src#. Vous devriez au moins la première fois <>, comme étape nécessaire à votre processus de mise à jour. La lecture de la {freebsd-current} et du fichier [.filename]#/usr/src/UPDATING# vous tiendra au courant des autres procédures de transition qui sont parfois nécessaires lorsque nous préparons la prochaine version. . Participez! Si vous utilisez FreeBSD-CURRENT, nous aimerions savoir ce que vous en pensez, tout particulièrement si vous avez des améliorations à nous suggérer ou des corrections de bogues à nous soumettre. Les suggestions accompagnées de code sont accueillies avec enthousiasme! [[stable]] === Se synchroniser avec la version -STABLE de FreeBSD ==== Qu'est-ce que FreeBSD-STABLE? FreeBSD-STABLE est notre branche de développement à partir de laquelle sont extraites les versions majeures. Les modifications sur cette branche se font à une allure différente, et en supposant généralement qu'elles ont été tout d'abord testées sur FreeBSD-CURRENT. Cela reste cependant _toujours_ une branche de développement, et cela signifie qu'à certains moments, les sources de FreeBSD-STABLE pourront être ou pas utilisables pour une quelconque raison. C'est tout simplement une autre branche de mise au point, et non pas une ressource pour l'utilisateur final. ==== Qui a besoin de FreeBSD-STABLE? Si vous désirez suivre ou contribuer au processus de développement de FreeBSD, tout particulièrement si cela a rapport avec la prochaine version de FreeBSD, alors vous devriez penser à suivre FreeBSD-STABLE. Bien qu'il soit vrai que les correctifs de sécurité vont également dans la branche FreeBSD-STABLE, vous n'avez pas _besoin_ de suivre FreeBSD-STABLE pour cela. Chaque rapport de sécurité concernant FreeBSD explique comment corriger le problème sur les versions affectées , et suivre intégralement une branche de développement juste pour des raisons de sécurité apportera également de nombreux changements non désirés. Bien que nous tentons de nous assurer que la branche FreeBSD-STABLE soit compilable et constamment stable, cela ne peut être garanti. De plus, alors que le code est développé sous FreeBSD-CURRENT avant de l'inclure dans FreeBSD-STABLE, le nombre de personnes utilisant FreeBSD-STABLE est plus nombreux que celui utilisant FreeBSD-CURRENT, aussi il est inévitable que des bogues et des problèmes pourront parfois apparaître sous FreeBSD-STABLE alors qu'ils n'existaient pas sous FreeBSD-CURRENT. Pour ces raisons, nous ne recommandons _pas_ de suivre aveuglément FreeBSD-STABLE, et il est tout particulièrement important que vous ne mettiez pas à jour des serveurs de production sous FreeBSD-STABLE sans avoir tout d'abord testé le code dans votre environnement de travail. Si vous ne disposez pas des ressources pour faire cela alors nous recommandons que vous utilisiez la version de FreeBSD la plus récente, et que vous utilisiez le mécanisme de mise à jour binaire pour passer d'une version à une autre. ==== Utiliser FreeBSD-STABLE . Inscrivez-vous à à la liste {freebsd-stable}. Vous serez tenu au courant des dépendances de compilation qui peuvent apparaître dans la branche FreeBSD-STABLE ou de tout autre problème demandant une attention particulière. Les développeurs publieront également des annonces sur cette liste lorsqu'ils envisagent une correction ou modification controversée, offrant la possibilité aux utilisateurs de répondre s'ils ont des questions à soulever en rapport avec la modification proposée. + Inscrivez-vous à la liste SVN correspondant à la branche que vous suivez. Par exemple, si vous suivez la branche 7-STABLE, inscrivez-vous à la liste link:{svn-src-stable-7-url}[svn-src-stable-7]. Cela vous permettra de lire les courriers de trace des soumissions de toutes les modifications dès qu'elles sont faites et des informations pertinentes sur les éventuels effets de bord. + -Pour vous inscrire à ces listes, ou à une autre, rendez vous à {mailman-lists-url} et cliquez sur la liste à laquelle vous désirez vous inscrire. Des instructions sur le reste de la procédure sont alors données. Si vous êtes intéressé par le suivi des modifications appliquées à l'ensemble de l'arborescence des sources, nous vous recommandons de vous inscrire à {svn-src-all}. +Pour vous inscrire à ces listes, ou à une autre, rendez vous à {mailing-lists-url} et cliquez sur la liste à laquelle vous désirez vous inscrire. Des instructions sur le reste de la procédure sont alors données. Si vous êtes intéressé par le suivi des modifications appliquées à l'ensemble de l'arborescence des sources, nous vous recommandons de vous inscrire à {svn-src-all}. . Si vous installez un nouveau système et vous voulez qu'il utilise le dernier instantané publié tous les mois à partir de la branche FreeBSD-STABLE, consultez la page sur les link:https://www.FreeBSD.org/snapshots/[instantanés] pour plus d'information. D'autre part, vous pouvez installer la version FreeBSD-STABLE la plus récente à partir des crossref:mirrors[mirrors,sites miroirs] et suivre les instructions ci-dessous pour mettre à jour votre système avec les sources FreeBSDstable; les plus récentes. + Si vous faites tourner une version précédente de FreeBSD et que vous désirez mettre à jour via les sources vous pouvez aisément le faire à partir d'un crossref:mirrors[mirrors,site miroir] FreeBSD. Cela peut être fait de deux manières: .. Utilisez le programme crossref:mirrors[cvsup,cvsup] avec le fichier [.filename]#supfile# nommé [.filename]#stable-supfile# disponible dans le répertoire [.filename]#/usr/shared/examples/cvsup#. C'est la méthode recommandée, puisqu'elle permet de récupérer la totalité des sources la première fois et par la suite uniquement ce qui a été modifié. De nombreuses personnes exécutent `cvsup` depuis `cron` et maintiennent ainsi automatiquement à jour leurs sources. Vous devez personnaliser l'exemple de [.filename]#supfile# précédent, et configurer crossref:mirrors[cvsup,cvsup] pour votre environnement. .. Utilisez CTM. Si vous ne disposez pas d'une connexion Internet rapide et peu coûteuse, c'est la méthode que vous devriez penser à utiliser. . Avant tout, si vous avez besoin d'un accès rapide à la demande aux sources et que la bande passante n'est pas un problème, utilisez `cvsup` ou `ftp`. Sinon, utilisez CTM. . Avant de compiler FreeBSD-STABLE, lisez attentivement le [.filename]#Makefile# dans [.filename]#/usr/src#. Vous devriez au moins la première fois <>, comme étape nécessaire à votre processus de mise à jour. La lecture de la {freebsd-stable} et du fichier [.filename]#/usr/src/UPDATING# vous tiendra au courant des autres procédures de transition qui sont parfois nécessaires lorsque nous préparons la prochaine version. [[synching]] == Synchroniser vos sources Il existe différentes façons d'utiliser une connexion Internet (ou le courrier électronique) pour garder à jour les sources de n'importe quelle partie, ou de l'ensemble, du projet FreeBSD, selon ce qui vous intéresse. Les principaux services que nous fournissons sont le crossref:mirrors[anoncvs,CVS anonyme], crossref:mirrors[cvsup,CVSup], et crossref:mirrors[ctm,CTM]. [WARNING] ==== Alors qu'il est possible de mettre à jour seulement certaines parties de l'arbre des sources, la seule procédure de mise à jour supportée est celle consistant à mettre à jour l'intégralité de l'arborescence et de recompiler les sources des applicatifs de base-"userland" (i.e., tous les programmes qui tournent dans l'espace utilisateur, comme ceux des répertoires [.filename]#/bin# et [.filename]#/sbin#) et du noyau. Ne mettre à jour qu'une partie des sources, uniquement le noyau, ou seul le "userland" mènera souvent à des problèmes. Ces problèmes pourront aller d'erreurs de compilation à des paniques du noyau ou même des corruptions de données. ==== CVS anonyme et CVSup utilisent une méthode de mise à jour pilotée par le client-_pull_. Dans le cas de CVSup, l'utilisateur (ou une procédure `cron`) appelle le programme `cvsup`, qui interagit avec un serveur `cvsupd` distant, pour mettre à jour vos fichiers. Les mises à jour que vous recevez sont les plus récentes, et vous ne les recevez seulement lorsque vous le désirez. Vous pouvez aisément restreindre vos mises à jour aux fichiers ou répertoires particuliers qui vous intéressent. Les mises à jour sont générées à la volée par le serveur, en fonction de ce que vous avez déjà et de ce que vous voulez. CVS anonyme est plus simpliste que CVSup, car ce n'est qu'une extension de CVS qui permet de récupérer des modifications directement d'une archive CVS distante. Pour cela, CVSup est bien plus efficace mais CVS anonyme est plus facile à utiliser. CTM, à l'inverse, ne compare pas interactivement les sources dont vous disposez avec celles qui sont sur l'archive de référence. Au lieu de cela, une procédure qui identifie les modifications intervenues depuis qu'elle a été exécutée pour la dernière fois, est lancée plusieurs fois par jour sur la machine CTM de référence (maître), les modifications détectées sont compressées, affectées d'un numéro de séquence et encodées pour pouvoir être envoyées par courrier électronique (en ASCII imprimable uniquement). Une fois reçus, ces "deltas CTM" peuvent être passés à l'utilitaire man:ctm_rmail[1] qui décodera, contrôlera et appliquera automatiquement les modifications à l'exemplaire des sources de l'utilisateur. Cette méthode est beaucoup plus efficace que CVSup et consomme beaucoup moins de ressources sur notre serveur, parce que c'est un modèle piloté par le serveur-_push_ plutôt que par l'utilisateur-_pull_. Il y a, bien sûr, quelques contreparties. Si vous effacez par inadvertance des parties de votre archive, CVSup s'en apercevra et vous reconstruira les parties endommagées. CTM ne le fera pas, et si vous effacez des parties de votre l'arborescence des sources (et que vous n'avez pas fait de sauvegarde) alors vous devrez repartir de zéro (à partir du plus récent "delta de base" CVS) et tout reconstituer avec CTM ou CVS anonyme, effacer les parties endommagées et resynchroniser. [[makeworld]] == Recompiler le système Une fois que vous avez synchronisé votre arborescence des sources avec une version donnée de FreeBSD (FreeBSD-STABLE, FreeBSD-CURRENT, et ainsi de suite) vous pouvez alors utiliser cette arborescence des sources pour recompiler le système. [WARNING] .Faites une sauvegarde ==== On n'insistera jamais assez sur l'importance de faire une sauvegarde de votre système _avant_ tout autre chose. Bien qu'il soit facile de "refaire le monde" (recompiler FreeBSD), si vous suivez ces instructions, vous ferez inévitablement des erreurs à un moment ou un autre, ou d'autres feront des erreurs au niveau de l'arborescence des sources qui empêcheraient votre système de redémarrer. Assurez-vous que vous avez bien fait une sauvegarde. Ayez une disquette de maintenance, ou un CD démarrable à portée de la main. Vous ne l'utiliserez probablement pas, mais prudence est mère de sûreté! ==== [WARNING] .S'abonner à la bonne liste de diffusion ==== Les branches FreeBSD-STABLE et FreeBSD-CURRENT sont, par nature, _en développement_. Les personnes qui participent à FreeBSD sont des humains, et des erreurs se produisent occasionnellement. Ces erreurs sont parfois bénignes, provocant simplement l'affichage d'un nouveau message d'avertissement par votre système. Elles peuvent aussi être catastrophiques, et empêcher votre système de redémarrer ou détruire vos systèmes de fichiers (ou pire). Quand de tels problèmes se produisent, un avertissement "heads up" est posté sur la liste de diffusion appropriée, décrivant la nature du problème et quels systèmes sont concernés. Un message "all clear" est posté quand le problème est résolu. Si vous tentez de suivre FreeBSD-STABLE ou FreeBSD-CURRENT et que vous ne lisez pas la {freebsd-stable} ou la {freebsd-current}, vous allez au devant d'ennuis. ==== [WARNING] .N'utilisez pas la commande `make world` ==== De nombreuses anciennes documentations préconisent d'utiliser la commande `make world`. Cette commande n'effectue pas un certain nombre d'étapes importantes et ne devrait être utilisée que si vous êtes sûr de ce que vous faites. Dans presque tout les cas `make world` n'est pas une bonne chose à faire, et la procédure décrite dans la suite de ce document devrait être utilisée à la place. ==== === La méthode générique de mise à jour du système Pour mettre à jour votre système, vous devriez consulter [.filename]#/usr/src/UPDATING# pour toute opération préliminaire nécessaire en fonction de la version de vos sources et ensuite utiliser la procédure suivante: [source,shell] .... # cd /usr/src # make buildworld # make buildkernel # make installkernel # shutdown -r now .... [NOTE] ==== Dans quelques rares cas, il est nécessaire de lancer un `mergemaster -p` avant l'étape `buildworld`. Ces cas sont décrits dans le fichier [.filename]#UPDATING#. Généralement, vous pouvez omettre cette opération si vous ne mettez pas à jour d'une version majeure de FreeBSD à une autre. ==== Une fois l'opération `installkernel` terminée avec succès, vous devrez démarrer en mode mono-utilisateur (en utilisant par exemple la commande `boot -s` à l'invite du chargeur). Exécutez ensuite: [source,shell] .... # mount -a -t ufs # mergemaster -p # cd /usr/src # make installworld # mergemaster # reboot .... [WARNING] .Lisez les explications supplémentaires ==== La séquence décrite ci-dessus n'est qu'un court résumé pour vous aider à démarrer. Vous devriez cependant lire les sections suivantes afin de comprendre clairement chaque étape, tout particulièrement si vous désirez utiliser une configuration du noyau personnalisée. ==== === Lire [.filename]#/usr/src/UPDATING# Avant tout autre chose, lisez [.filename]#/usr/src/UPDATING# (ou le fichier équivalent en fonction de l'endroit où se trouve vos sources). Ce fichier devrait contenir les informations importantes au sujet des problèmes que vous pourriez rencontrer, ou indique l'ordre dans lequel vous devriez exécuter certaines commandes. Si le fichier [.filename]#UPDATING# contredit quelque chose d'écrit ici, [.filename]#UPDATING# prime sur tout le reste. [IMPORTANT] ==== La lecture du fichier [.filename]#UPDATING# n'est pas un substitut à l'abonnement à la liste de diffusion correcte, comme décrit précédemment. Ces deux prérequis sont complémentaires, et non pas exclusifs. ==== === Contrôler [.filename]#/etc/make.conf# Contrôlez les fichiers [.filename]#/usr/shared/examples/etc/make.conf# et [.filename]#/etc/make.conf#. Le premier contient des paramètres par défaut - la plupart étant placés en commentaires. Pour les utiliser quand vous recompilez votre système à partir des sources, rajoutés-les au fichier [.filename]#/etc/make.conf#. Gardez à l'esprit que tout ce que vous ajoutez au fichier [.filename]#/etc/make.conf# est utilisé chaque fois que vous invoquez la commande `make`, il est donc bon de s'assurer que les valeurs par défaut sont appropriées à votre système. Un utilisateur typique voudra probablement copier les lignes `CFLAGS` et `NO_PROFILE` se trouvant dans [.filename]#/usr/shared/examples/etc/make.conf# vers [.filename]#/etc/make.conf# et les décommenter. Examinez les autres définitions (`COPTFLAGS`, `NOPORTDOCS` et ainsi de suite) et décidez si elles vous conviennent. === Mettre à jour les fichiers dans [.filename]#/etc# Le répertoire [.filename]#/etc# contient la plupart des informations de configuration de votre système, ainsi que les procédures de démarrage. Certaines de ces procédures changent d'une version à l'autre de FreeBSD. Certains fichiers de configuration sont également utilisés en permanence par le système. En particulier [.filename]#/etc/group#. Il est arrivé que la phase d'installation `make installworld` ait besoin que certains utilisateurs et groupes existent. Il y a de fortes chances qu'ils n'aient pas été définis avant la mise à jour. C'est une source de problèmes. Dans certains cas `make buildworld` contrôlera si ces utilisateurs ou groupes existent. Un exemple de cela fut l'addition de l'utilisateur `smmsp`. Le processus d'installation échouait quand `mtree` tentait de créer [.filename]#/var/spool/clientmqueue#. La solution est d'exécuter man:mergemaster[8] dans le mode pré-"buildworld" en ajoutant l'option `-p`. Cela effectuera la comparaison uniquement des fichiers essentiels pour le succès de la procédure `buildworld` ou `installworld`. Si votre vieille version de `mergemaster` ne supporte pas l'option `-p`, utilisez la nouvelle version présente dans l'arborescence des sources quand vous l'exécutez pour la première fois: [source,shell] .... # cd /usr/src/usr.sbin/mergemaster # ./mergemaster.sh -p .... [TIP] ==== Si vous êtes particulièrement paranoïaque, vous pouvez contrôler votre système afin de voir quels fichiers appartiennent au groupe que vous renommez ou effacez: [source,shell] .... # find / -group GID -print .... affichera les fichiers appartenant au groupe _GID_ (qui peut être soit un nom de groupe ou un identifiant numérique de groupe). ==== [[makeworld-singleuser]] === Passer en mode mono-utilisateur Il vaut mieux recompiler le système en mode mono-utilisateur. En dehors du fait que cela sera légèrement plus rapide, la réinstallation va modifier un grand nombre de fichiers systèmes importants, tous les binaires de base du système, les bibliothèques, les fichiers d'include et ainsi de suite. Les modifier sur un système en fonctionnement (en particulier s'il y a des utilisateurs connectés à ce moment là), c'est aller au devant de problèmes. Une autre méthode consiste à compiler le système en mode multi-utilisateurs, et passer dans le mode mono-utilisateur pour l'installation. Si vous désirez utiliser cette méthode, conservez les étapes suivantes pour le moment où la compilation sera terminée. Vous pouvez reporter le passage en mode mono-utilisateur jusqu'à l'exécution de `installkernel` ou `installworld`. En tant que super-utilisateur, vous pouvez exécuter la commande: [source,shell] .... # shutdown now .... sur un système en fonctionnement, pour passer en mode mono-utilisateur. Ou bien, redémarrer le système, et à l'invite de démarrage, sélectionnez l'option "single user". Le système démarrera alors en mode mono-utilisateur. A l'invite de l'interpréteur de commandes, exécutez alors: [source,shell] .... # fsck -p # mount -u / # mount -a -t ufs # swapon -a .... Cela effectue une vérification des systèmes de fichiers, remonte [.filename]#/# en mode lecture/écriture, et monte tous les autres systèmes de fichiers UFS listés dans le fichier [.filename]#/etc/fstab#, puis active la pagination. [NOTE] ==== Si votre horloge CMOS est réglée sur l'heure locale et non pas sur le fuseau GMT (cela est vrai si la sortie de la commande `date` ne donne pas l'heure et le fuseau correct), vous aurez également peut-être besoin d'exécuter la commande suivante: [source,shell] .... # adjkerntz -i .... Cela permettra de s'assurer que vos paramètres de fuseaux horaires sont correctement configurés - sans cela, vous risquez de faire face, plus tard, à des problèmes. ==== === Effacer [.filename]#/usr/obj# Au fur et à mesure que les différentes parties du système sont recompilées, elles sont placées dans des répertoires qui (par défaut) sont sous [.filename]#/usr/obj#. Les répertoires sont agencés comme sous [.filename]#/usr/src#. Vous pouvez accélérer le processus `make buildworld`, et également vous éviter d'éventuels problèmes de dépendances en effaçant ce répertoire. Certains fichiers dans [.filename]#/usr/obj# peuvent avoir l'indicateur immuable positionné (consultez la page de manuel man:chflags[1] pour plus d'informations) qui doit être retiré en premier. [source,shell] .... # cd /usr/obj # chflags -R noschg * # rm -rf * .... [[updating-upgrading-compilebase]] === Recompiler le système de base ==== Enregistrer la sortie C'est une bonne idée d'enregistrer la sortie de man:make[1] dans un fichier. Si quelque chose se passe mal, vous aurez une trace des messages d'erreur. Même si cela ne vous aide pas à diagnostiquer ce qui n'a pas fonctionné, cela peut aider les autres si vous postez votre problème sur une des listes de diffusion de FreeBSD. La méthode la plus aisée pour faire cela est d'utiliser la commande man:script[1], avec en paramètre le nom du fichier où enregistrer les résultats. Vous devez faire cela immédiatement juste avant de recompiler le système, et taper `exit` une fois que c'est terminé. [source,shell] .... # script /var/tmp/mw.out Script started, output file is /var/tmp/mw.out # make TARGET … compile, compile, compile … # exit Script done, … .... Si vous le faites, _n'enregistrez pas_ le résultat dans [.filename]#/tmp#. Ce répertoire peut être vidé au prochain redémarrage du système. Un meilleur endroit de sauvegarde est [.filename]#/var/tmp# (comme dans l'exemple précédent) ou dans le répertoire utilisateur de `root`. [[make-buildworld]] ==== Compiler le nouveau système Vous devez être dans le répertoire [.filename]#/usr/src#: [source,shell] .... # cd /usr/src .... (à moins, bien sûr, que votre code source ne soit ailleurs, auquel cas vous devrez aller dans le répertoire correspondant). Pour recompiler le système, on utilise la commande man:make[1]. Cette commande lit ses instructions dans le fichier [.filename]#Makefile#, qui décrit comment devraient être reconstruits les programmes qui constituent FreeBSD, dans quel ordre, et ainsi de suite. Le format général de la ligne de commande que vous taperez sera la suivante: [source,shell] .... # make -x -DVARIABLE cible .... Dans cet exemple, `-_x_` est une option que vous passez à man:make[1]. Reportez-vous à la page de manuel pour un exemple d'options que vous pouvez passer. `-D_VARIABLE_` transmet un variable au fichier [.filename]#Makefile#. Le comportement du [.filename]#Makefile# est défini par ces variables. Ce sont les mêmes variables que l'on trouve dans [.filename]#/etc/make.conf#, et c'est un autre moyen de les positionner. [source,shell] .... # make -DNO_PROFILE cible .... est une autre manière de dire qu'il ne faut pas compiler les bibliothèques profilées et correspond à la ligne: [.programlisting] .... NO_PROFILE= true # Avoid compiling profiled libraries .... dans [.filename]#/etc/make.conf#. _cible_ indique à man:make[1] ce que vous voulez faire. Chaque [.filename]#Makefile# définit un certain nombre de "cibles", et votre choix de cible détermine ce qui se passe. Certaines cibles listées dans le fichier [.filename]#Makefile#, ne doivent pas être employées. Ce sont des étapes intermédiaires utilisées par le processus de recompilation pour décomposer les étapes importantes de la recompilation du système en sous-étapes. La plupart du temps, vous n'aurez pas besoin de passer de paramètres à man:make[1], et votre commande ressemblera à ceci: [source,shell] .... # make cible .... Où _cible_ sera une des nombreuses options de compilation. La première cible devrait toujours être `buildworld`. Comme leurs noms l'indiquent, `buildworld` reconstruit la nouvelle arborescence dans [.filename]#/usr/obj#, et `installworld`, une autre cible, l'installe sur la machine. Disposer d'options séparées est très utile pour deux raisons. Tout d'abord cela vous permet de recompiler en toute sûreté en sachant qu'aucun composant du système actuel ne sera affecté. La compilation est "autonome". En raison de cela vous pouvez exécuter `buildworld` sur une machine en mode multi-utilisateurs sans redouter d'effets fâcheux. Il est néanmoins recommandé de toujours exécuter l'étape `installworld` en mode mono-utilisateur. En second lieu, cela vous permet d'utiliser des systèmes montés par NFS pour mettre à jour plusieurs machines de votre réseau. Si vous avez trois machines `A`, `B` et `C` que vous voulez mettre à jour, exécutez `make buildworld` et `make installworld` sur `A`. `B` et `C` doivent ensuite monter par NFS [.filename]#/usr/src# et [.filename]#/usr/obj# depuis `A`, et vous pouvez alors exécuter `make installworld` pour installer le système recompilé sur `B` et `C`. Bien que la cible `world` existe toujours, vous êtes fortement encouragé à ne pas l'utiliser. Exécutez: [source,shell] .... # make buildworld .... Il est possible de passer l'option `-j` à man:make[1] ce qui lui permettra d'exécuter plusieurs processus simultanément. C'est particulièrement utile sur une machine avec plusieurs processeurs. Cependant, comme la compilation est plus gourmande en E/S plutôt qu'en CPU, c'est également utile sur des machines mono-processeur. Typiquement sur une machine mono-processeur, vous exécuteriez: [source,shell] .... # make -j4 buildworld .... man:make[1] pourra exécuter jusqu'à 4 processus simultanément. Des constatations empiriques postées sur les listes de diffusion montrent que c'est en général ce qui apporte le plus de gain en performances. Si vous avez une machine multi-processeurs et que vous avez configuré un noyau SMP, essayez des valeurs entre 6 et 19 et voyez quel bénéfice vous en tirez. ==== Durée De nombreux facteurs influencent la durée de compilation, mais les machines récentes devraient mettrent seulement de une à deux heures pour compiler l'arborescence FreeBSD-STABLE, sans modification ni raccourcis durant le processus. Une arborescence FreeBSD-CURRENT nécessitera un peu plus de temps. === Compiler et installer un nouveau noyau Pour tirer pleinement parti de votre nouveau système, vous devrez recompiler le noyau. C'est pratiquement indispensable, parce que certaines structures mémoires peuvent avoir changées, et des programmes comme man:ps[1] et man:top[1] ne fonctionneront pas tant que le système et le noyau n'utilisent pas les mêmes versions de code source. La manière la plus simple et la plus sûre est de compiler et installer un noyau basé sur le noyau [.filename]#GENERIC#. Alors que le noyau [.filename]#GENERIC# peut ne pas comporter les pilotes de périphériques nécessaires pour votre système, il devrait contenir tout ce qui est nécessaire pour faire démarrer votre système en mode mono-utilisateur. C'est une bonne façon de tester le fonctionnement de votre nouveau système. Après avoir démarré à partir du noyau [.filename]#GENERIC# et vérifié que votre système fonctionne vous pouvez alors compiler un nouveau noyau basé sur votre fichier de configuration normal du noyau. Sur FreeBSD, il est important de <> avant de compiler un nouveau noyau. [NOTE] ==== Si vous désirez compiler un noyau personnalisé, et que vous avez déjà un fichier de configuration, utilisez juste `KERNCONF=_MONNOYAU_` comme suit: [source,shell] .... # cd /usr/src # make buildkernel KERNCONF=MONNOYAU # make installkernel KERNCONF=MONNOYAU .... ==== Notez que si vous avez augmenté la variable `kern.securelevel` à une valeur supérieure à 1 _et_ que vous avez positionné l'indicateur `noschg` ou similaire sur votre noyau, il sera intéressant de passer en mode mono-utilisateur pour utiliser `installkernel`. Sinon vous devriez être en mesure d'exécuter ces commandes à partir du mode multi-utilisateur sans problèmes. Voir la page de manuel de man:init[8] pour plus de détails à propos de `kern.securelevel` et la page man:chflags[1] pour des informations sur les différents indicateurs de fichiers. === Redémarrer en mode mono-utilisateur Vous devriez redémarrer en mode mono-utilisateur pour tester le fonctionnement du nouveau noyau. Pour cela suivez les instructions de <>. [[make-installworld]] === Installer les nouveaux binaires système Si vous avez compilé une version de FreeBSD assez récente pour avoir utilisé `make buildworld` alors vous devriez utiliser maintenant `installworld` pour installer les nouveaux binaires système. Lancez: [source,shell] .... # cd /usr/src # make installworld .... [NOTE] ==== Si vous spécifiez des variables sur la ligne de commande de `make buildworld`, vous devez utiliser les mêmes variables avec la commande `make installworld`. Cela ne reste pas forcément vrai pour d'autres options; par exemple, `-j` ne doit jamais être utilisée avec `installworld`. Par exemple, si vous exécutez: [source,shell] .... # make -DNO_PROFILE buildworld .... vous devrez ensuite installer les résultats avec: [source,shell] .... # make -DNO_PROFILE installworld .... sinon il essayera d'installer les bibliothèques profilées qui n'ont pas été recompilées à l'étape `make buildworld`. ==== === Mettre à jour les fichiers non modifiés par `make installworld` La recompilation du système ne mettra pas à jour certains répertoires (en particulier, [.filename]#/etc#, [.filename]#/var# et [.filename]#/usr#) avec les fichiers nouveaux ou modifiés. La manière la plus simple de mettre à jour ces fichiers est d'utiliser man:mergemaster[8], bien qu'il soit possible de le faire manuellement si vous le désirez. Indépendamment de la manière que vous choisissez, assurez-vous de faire une sauvegarde du répertoire [.filename]#/etc# au cas où quelque chose se passerait mal. [[mergemaster]] ==== `mergemaster` L'utilitaire man:mergemaster[8] est une procédure Bourne qui vous aidera à déterminer les différences entre vos fichiers de configuration dans le répertoire [.filename]#/etc#, et les fichiers de configuration dans l'arborescence des sources [.filename]#/usr/src/etc#. C'est la solution recommandée pour maintenir à jour les fichiers de configuration du système avec ceux situés dans l'arborescence des sources. Pour commencer, tapez simplement `mergemaster` à l'invite, et observez-le travailler. `mergemaster` commencera à constituer une arborescence temporaire, à partir de [.filename]#/#, et la remplira avec divers fichiers de configuration. Ces fichiers sont alors comparés avec ceux actuellement installés sur votre système. A ce point, les fichiers qui diffèrent seront affichés dans le format man:diff[1], avec le signe `+` représentant les lignes modifiées ou ajoutées, et le `-` représentant les lignes qui seront soit complètement supprimées, soit remplacées avec une nouvelle ligne. Voir la page de manuel man:diff[1] pour plus d'informations au sujet de la syntaxe man:diff[1] et comment sont affichées les différences. man:mergemaster[8] vous affichera ensuite chaque fichier présentant des différences, et vous aurez à ce moment-là le choix de soit supprimer le nouveau fichier (le fichier temporaire), soit d'installer le fichier temporaire non modifié, soit de fusionner le fichier temporaire et le fichier actuellement installé, soit enfin de revoir les résultats de l'opération man:diff[1]. Choisir de supprimer le fichier temporaire indiquera à man:mergemaster[8] que nous désirons conserver notre fichier actuel intacte, et effacera la nouvelle version. Cette option n'est pas recommandée, à moins que vous ne voyez aucune raison de modifier le fichier actuel. Vous pouvez obtenir de l'aide à n'importe quel moment en tapant kbd:[?] à l'invite de man:mergemaster[8]. Si l'utilisateur choisit de passer un fichier, il sera présenté à nouveau une fois que tous les autres fichiers auront été traités. Choisir d'installer un fichier temporaire intact remplacera le fichier actuel avec le nouveau. Pour la plupart des fichiers non modifiées, c'est la meilleure option. Choisir de fusionner le fichier, vous affichera un éditeur de texte, et le contenu des deux fichiers. Vous pouvez maintenant les fusionner en les visionnant côte à côte sur l'écran, et en sélectionnant des parties des deux fichiers pour créer un fichier final. Quand les fichiers sont comparés côte à côte, la touche kbd:[l] sélectionnera le contenu de gauche et la touche kbd:[r] sélectionnera celui de droite. Le résultat final sera un fichier constitué des deux parties, qui peut alors être installé. Cette option est habituellement utilisée pour les fichiers où les des paramètres ont été modifiés par l'utilisateur. Choisir de revoir les résultats de l'opération man:diff[1] vous affichera les différences entre fichiers tout comme la fait man:mergemaster[8] avant de vous demander un choix. Après que man:mergemaster[8] en ait terminé avec les fichiers système, il vous proposera de nouvelles opérations. man:mergemaster[8] vous demandera si vous désirez reconstruire le fichier des mots de passe et terminera en vous proposant de supprimer les fichiers temporaires restants. ==== Mise à jour manuelle Si vous désirez faire la mise à jour manuellement, vous ne pouvez cependant pas vous contenter de copier les fichiers de [.filename]#/usr/src/etc# dans [.filename]#/etc# pour que cela fonctionne. Certains de ces fichiers doivent d'abord être "installés". En effet le répertoire [.filename]#/usr/src/etc# "n'est pas" une copie de ce que devrait contenir votre répertoire [.filename]#/etc#. De plus, il a des fichiers qui doivent être dans [.filename]#/etc# et qui ne sont pas dans [.filename]#/usr/src/etc#. Si vous utilisez man:mergemaster[8] (comme recommandé), vous pouvez passer cette section et aller directement à la <>. La façon la plus simple de procéder est d'installer les fichiers dans un nouveau répertoire, puis de passer en revue les différences. [WARNING] .Sauvegardez votre répertoire [.filename]#/etc# actuel ==== Bien qu'en principe rien ne sera modifié automatiquement dans ce répertoire, prudence est mère de sûreté. Copiez donc votre répertoire [.filename]#/etc# dans un endroit sûr. Quelque chose du genre: [source,shell] .... # cp -Rp /etc /etc.old .... conviendra; l'option `-R` fait une copie récursive, `-p` préserve la date, les autorisations des fichiers et ainsi de suite. ==== Vous devez créer un ensemble de répertoires provisoires pour y installer les fichiers du répertoire [.filename]#/etc# et autres. [.filename]#/var/tmp/root# est un bon choix, il y a un certain nombre de sous-répertoires à créer également: [source,shell] .... # mkdir /var/tmp/root # cd /usr/src/etc # make DESTDIR=/var/tmp/root distrib-dirs distribution .... Cela va créer l'arborescence nécessaire et y installera les fichiers. Un grand nombre des sous-répertoires créés dans [.filename]#/var/tmp/root# sont vides et devront être supprimés. La façon la plus simple de le faire est: [source,shell] .... # cd /var/tmp/root # find -d . -type d | xargs rmdir 2>/dev/null .... Ceci supprimera tous les répertoires vides (la sortie d'erreur standard est redirigée vers [.filename]#/dev/null# pour empêcher les avertissements à propos des répertoires non vides). [.filename]#/var/tmp/root# contient maintenant tous les fichiers à installer à l'endroit requis sous [.filename]#/#. Vous devez maintenant examiner chacun de ces fichiers pour déterminer en quoi ils diffèrent de vos propres fichiers. Notez que certains des fichiers qui seront installés dans [.filename]#/var/tmp/root# commencent par un ".". Au moment où sont écrites ces lignes, les seuls fichiers concernés sont les fichiers d'initialisation des interpréteurs de commandes dans [.filename]#/var/tmp/root/# et [.filename]#/var/tmp/root/root/#, mais il pourrait y en avoir d'autres (cela dépend de quand vous lirez ces lignes). Assurez-vous d'utiliser la commande `ls -a` pour ne pas les oublier. La manière la plus simple de procéder est d'utiliser la commande man:diff[1] pour comparer les deux fichiers: [source,shell] .... # diff /etc/shells /var/tmp/root/etc/shells .... Cela vous indiquera les différences entre votre fichier [.filename]#/etc/shells# et le nouveau fichier [.filename]#/var/tmp/root//etc/shells#. A partir de là, décidez si vous aller reporter les modifications que vous y avez apportée ou si vous allez simplement recopier le nouveau fichier. [TIP] .Donnez au nouveau répertoire racine ([.filename]#/var/tmp/root#) un nom qui inclue une date, pour pouvoir facilement comparer les différentes versions ==== Si vous recompilez fréquemment votre système, cela signifie que vous devez également souvent mettre à jour le répertoire [.filename]#/etc#, ce qui peut rapidement devenir une corvée. Vous pouvez accélérer le processus en conservant une copie du dernier ensemble de fichiers modifiés que vous avez reportés dans [.filename]#/etc#. La procédure suivante présente une façon de faire. [.procedure] ====== . Recompilez le système comme à l'accoutumé. Au moment de mettre à jour [.filename]#/etc# et les autre répertoires, donnez au répertoire cible un nom basé sur la date du jour. Si vous faisiez cela le 14 février 1998, vous pourriez procéder comme suit: + [source,shell] .... # mkdir /var/tmp/root-19980214 # cd /usr/src/etc # make DESTDIR=/var/tmp/root-19980214 \ distrib-dirs distribution .... + . Reporter les modifications depuis ce répertoire comme décrit plus haut. + _Ne supprimez pas_ le répertoire [.filename]#/var/tmp/root-19980214# quand vous aurez terminé. . Quand vous récupérez la dernière version des sources et la recompilerez, suivez l'étape 1. Vous aurez alors un nouveau répertoire, qui pourrait s'appeler [.filename]#/var/tmp/root-19980221# (si vous faites une mise à jour chaque semaine). . Vous pouvez maintenant voir les modifications intervenues d'une semaine à l'autre en utilisant man:diff[1] pour afficher les différences entre tous les fichiers deux répertoires: + [source,shell] .... # cd /var/tmp # diff -r root-19980214 root-19980221 .... + Généralement, il y aura beaucoup moins de différences qu'entre [.filename]#/var/tmp/root-19980221/etc# et [.filename]#/etc#. Comme il y a beaucoup moins de différences, il est beaucoup plus facile de les reporter dans le répertoire [.filename]#/etc#. . Vous pouvez maintenant supprimer le plus ancien des deux répertoires [.filename]#/var/tmp/root-*#: + [source,shell] .... # rm -rf /var/tmp/root-19980214 .... + . Répétez l'opération chaque fois que vous devez reporter des modifications dans [.filename]#/etc#. ====== Vous pouvez utiliser man:date[1] pour automatiser la génération des noms de répertoires: [source,shell] .... # mkdir /var/tmp/root-`date "+%Y%m%d"` .... ==== [[updating-upgrading-rebooting]] === Redémarrer Vous en avez terminé. Après avoir vérifié que tout semble être en place, vous pouvez alors redémarrez votre système. Un simple man:shutdown[8] devrait suffire: [source,shell] .... # shutdown -r now .... === C'est fini Vous devriez maintenant avoir mis à jour avec succès votre système FreeBSD. Félicitations. Si les choses se sont légèrement mal passées, il est facile de recompiler un élément particulier du système. Par exemple, si vous avez accidentellement effacé [.filename]#/etc/magic# lors de la mise à jour de [.filename]#/etc#, la commande man:file[1] ne fonctionnerait plus. Dans ce cas, la solution serait d'exécuter: [source,shell] .... # cd /usr/src/usr.bin/file # make all install .... === Questions === Dois-je refaire le monde à chaque évolution? Il n'y a pas de réponse toute faite à cette question, tout dépend de la nature des évolutions. Par exemple, si vous venez juste d'exécuter CVSup, et que les fichiers suivants on été mis à jour: [source,shell] .... src/games/cribbage/instr.c src/games/sail/pl_main.c src/release/sysinstall/config.c src/release/sysinstall/media.c src/shared/mk/bsd.port.mk .... cela ne vaut probablement pas la peine de recompiler tout le système. Vous pouvez tout simplement aller dans les sous-répertoires appropriés, exécuter `make all install`, et c'est à peu près tout. Mais s'il y a des évolutions importantes, par exemple sur [.filename]#src/lib/libc/stdlib# alors vous devrez soit refaire le monde, ou recompiler au moins toutes les parties du système qui sont liées statiquement (de même que tout ce vous pourriez avoir ajouté qui y serait lié statiquement). C'est à vous de voir. Vous préférerez peut-être recompiler votre système tous les quinze jours, et laisser les modifications s'empiler pendant quinze jours. Ou bien vous préférerez ne recompiler que ce qui a changé et vous faire confiance pour tout ce qui en dépend. Et, bien sûr, cela dépend de la fréquence avec laquelle vous voulez faire vos mises à jour, et de si vous suivez la branche FreeBSD-STABLE ou FreeBSD-CURRENT. === Ma compilation échoue avec de nombreuses erreurs "signal 11" signal 11 (ou tout autre numéro de signal). Que s'est-il passé? Cela indique généralement un problème matériel. (Re)compiler le système est un bon moyen de mettre votre matériel sous pression, et mettra souvent en évidence des défaillances de la mémoire vive. Elles se manifestent normalement d'elles-mêmes, la compilation échouant lors de la réception de mystérieux signaux. Un bon indicateur de cet état de fait, est que vous pouvez relancer la compilation et qu'elle échouera en un endroit différent. Dans ce cas, vous ne pouvez guère faire autre chose que d'intervertir les différents composants de votre matériel pour déterminer lequel est en cause. === Puis-je effacer /usr/obj après avoir fini? Une réponse courte est oui. [.filename]#/usr/obj# contient tous les fichiers objets générés à la compilation. Normalement, une des premières étapes de `make buildworld` est de supprimer ce répertoire et de repartir à zéro. Dans ce cas, conserver le répertoire [.filename]#/usr/obj# après avoir terminé ne sert pas à grand chose, alors que vous économiseriez pas mal d'espace disque (actuellement environ 340 MO). Cependant, si vous savez ce que vous faites, vous pouvez faire en sorte que `make buildworld` saute cette étape. Cela rendra les compilations ultérieures plus rapides, puisque la plupart des sources n'auront pas besoin d'être recompilées. Le revers de la médaille est que des problèmes subtils de dépendance peuvent se manifester, provoquant l'échec de votre compilation de manière étrange. Cela génère fréquemment du bruit sur les listes de diffusion de FreeBSD, quand quelqu'un se plaint que sa mise à jour a échoué, sans réaliser que c'est parce qu'il a tenté de brûler les étapes. === Une recompilation interrompue peut-elle être reprise? Tout dépend de jusqu'où vous êtes aller avant de rencontrer un problème. _En général_ (et ceci n'est pas une règle absolue) `make buildworld` crée de nouveaux exemplaires des outils indispensables (comme man:gcc[1] et man:make[1]) et des bibliothèques système. Ces outils et bibliothèques sont ensuite installés. Puis ils sont utilisés pour se reconstruire eux-mêmes, et installés de nouveau. L'intégralité du système (y compris maintenant les programmes utilisateurs classiques, comme man:ls[1] ou man:grep[1]) est alors recompilé avec les nouveaux fichiers système. Si vous êtes à cette dernière étape, et que vous le savez (parce que vous avez consulté les résultats que vous avez enregistrés) alors vous pouvez (sans trop de risque) faire: [source,shell] .... … fix the problem … # cd /usr/src # make -DNO_CLEAN all .... Cela ne détruira pas les résultats du travail qu'à déjà effectué `make buildworld`. Si vous voyez le message: [source,shell] .... -------------------------------------------------------------- Building everything.. -------------------------------------------------------------- .... dans les comptes-rendus de `make buildworld` alors cette façon de procéder est probablement bonne. Si vous ne voyez pas ce message, ou que vous doutez de vous, alors prudence est mère de sûreté, et il vaut mieux tout reprendre depuis le début. === Comment puis-je accélérer la compilation du système? * Passez en mode mono-utilisateur. * Mettez les répertoires [.filename]#/usr/src# et [.filename]#/usr/obj# sur des systèmes de fichiers et des disques différents. Si possible, installez ces disques sur des contrôleurs différents. * Encore mieux, mettez ces systèmes de fichiers sur plusieurs disques utilisant le système man:ccd[4] (pilote de disques concaténés). * Ne compilez pas les bibliothèques profilées (mettez "NO_PROFILE=true" dans le fichier [.filename]#/etc/make.conf#). Vous n'en avez certainement pas besoin. * Egalement dans [.filename]#/etc/make.conf#, positionnez `CFLAGS` à quelque chose comme `-O -pipe`. L'optimisation `-O2` est bien plus lente, et la différence d'optimisation entre `-O` et `-O2` est en général négligeable. `-pipe` demande au compilateur d'utiliser des tuyaux à la place de fichiers temporaires, ce qui économise des accès disque (mais utilise plus de mémoire). * Passez l'option `-j__n__` à man:make[1] pour permettre l'exécution de plusieurs processus en parallèle. Cela améliore généralement les choses, que vous ayez une machine mono- ou multi-processeurs. * Le système de fichiers qui contient [.filename]#/usr/src# peut être monté (ou remonté) avec l'option `noatime`. Cela empêche l'enregistrement des dates d'accès aux fichiers par le système de fichiers. Vous n'avez de toute façon probablement pas besoin de cette information. + [source,shell] .... # mount -u -o noatime /usr/src .... + [WARNING] ==== Cet exemple suppose que [.filename]#/usr/src# constitue à lui seul un système de fichiers. Si ce n'est pas le cas (s'il fait partie de [.filename]#/usr# par exemple) vous devez alors indiquer le point de montage de ce système de fichiers, et non [.filename]#/usr/src#. ==== * Le système de fichiers où se trouve [.filename]#/usr/obj# peut être monté (ou remonté) avec l'option `async`. Les écritures sur le disque se feront alors de façon asynchrone. En d'autres termes, le programme reprend immédiatement la main, et l'écriture des données sur le disque se fait quelques secondes plus tard. Cela permet le groupement des écritures sur le disque, et le gain en performance peut être spectaculaire. + [WARNING] ==== Gardez à l'esprit que cette option rend votre système de fichiers plus fragile. Avec cette option, les risques ne sont accrus qu'en cas de coupure d'alimentation, le système de fichiers soit irrécupérable quand la machine redémarrera. S'il n'y a que [.filename]#/usr/obj# sur ce système de fichiers, ce n'est alors pas un problème. Si vous avez d'autres données importantes sur ce système de fichiers, assurez-vous que vos sauvegardes soient à jour avant d'activer cette option. ==== + [source,shell] .... # mount -u -o async /usr/obj .... + [WARNING] ==== Comme auparavant, si [.filename]#/usr/obj# ne constitue pas un système de fichiers en soit, remplacez-le dans l'exemple par le nom du point de montage approprié. ==== === Que faire si quelque chose se passe mal? Soyez absolument sûr que votre environnement ne contient pas des restes de compilation précédentes. Cela est plutôt simple: [source,shell] .... # chflags -R noschg /usr/obj/usr # rm -rf /usr/obj/usr # cd /usr/src # make cleandir # make cleandir .... En effet, `make cleandir` doit vraiment être exécutée deux fois. Ensuite relancez l'ensemble du processus, en commençant avec `make buildworld`. Si vous avez toujours des problèmes, envoyez l'erreur et le résultat de la commande `uname -a` à la {freebsd-questions}. Tenez-vous prêt à répondre à d'autres concernant votre configuration! [[small-lan]] == Suivre les mises à jour pour plusieurs machines Si vous avez plusieurs machines dont vous voulez maintenir à jour l'arborescence des sources, alors faire télécharger et recompiler à chacune d'entre elles les sources semble un gaspillage de ressources: espace disque, bande passante réseau, et cycles CPU. C'est en effet bien le cas, et la solution est d'avoir une machine qui fait la majeure partie du travail, pendant que le reste des machines montent ce travail par NFS. Cette section décrit une façon de le faire. [[small-lan-preliminaries]] === Préliminaires Premièrement, identifiez un ensemble de machines qui va utiliser le même ensemble de binaires, que nous appellerons un _ensemble de compilation_. Chaque machine peut avoir un noyau personnalisé, mais elles exécuteront les mêmes binaires utilisateur du système de base. Dans cet ensemble de machine, choisissez une machine qui sera la _machine de compilation_. Cela sera la machine sur laquelle le monde et le noyau seront compilés. Idéalement, cela devrait être une machine rapide avec un CPU suffisamment disponible pour exécuter la commande `make buildworld` et `make buildkernel`. Vous voudrez également utiliser une _machine de test_, qui testera les mises à jour logicielles avant d'être utilisées en production. Cela _doit_ être une machine que vous pouvez vous permettre d'avoir hors service pour une longue période. Cela peut être la machine de compilation, mais cela n'est pas obligatoire. Toutes les machines de cet ensemble de compilation doivent monter [.filename]#/usr/obj# et [.filename]#/usr/src# à partir de la même machine, et du même point de montage. Idéalement, ces derniers sont sur deux disques différents sur la machine de compilation, mais peuvent également être montés par NFS sur cette machine. Si vous avez plusieurs ensembles de compilation, [.filename]#/usr/src# devrait être sur une machine de compilation, et monté par NFS sur les autres. Finalement assurez-vous que [.filename]#/etc/make.conf# et [.filename]#/etc/src.conf# sur toutes les machines de l'ensemble de compilation sont en accord avec la machine de compilation. Cela signifie que la machine de compilation doit compiler toutes les parties du système de base que toute machine de l'ensemble de compilation va installer. De plus, chaque machine de compilation devra avoir son nom de noyau défini avec `KERNCONF` dans [.filename]#/etc/make.conf#, et la machine de compilation devrait tous les lister dans `KERNCONF`, en listant son noyau en premier. La machine de compilation doit avoir les fichiers de configuration des noyaux de chaque machine dans [.filename]#/usr/src/sys/arch/conf# si elle va compiler leur noyau. === Le système de base Maintenant que tout est configuré, vous êtes fin prêt pour tout compiler. Compilez le noyau et le monde sur la machine de compilation comme décrit dans la <>, mais n'installez rien. La compilation une fois terminée, allez sur la machine de test, et installez le noyau que vous venez juste de compiler. Si la machine monte [.filename]#/usr/src# et [.filename]#/usr/obj# via NFS, quand vous redémarrez en mode mono-utilisateur vous devrez activer le réseau et monter ces répertoires. La méthode la plus simple est de démarrer en mode multi-utilisateur, puis exécutez `shutdown now` pour passer en mode mono-utilisateur. Une fois à ce niveau, vous pouvez installer le nouveau noyau et monde puis exécuter `mergemaster` comme vous le feriez habituellement. Une fois cela effectué, redémarrez pour retourner en mode multi-utilisateur pour cette machine. Après que vous soyez certain que tout fonctionne correctement sur la machine de test, utilisez la même procédure pour installer le nouvel ensemble logiciel sur chacune des autres machines de l'ensemble de compilation. === Les logiciels portés La même idée peut être utilisée pour le catalogue des logiciels portés. La première étape critique est de monter [.filename]#/usr/ports# depuis la même machine vers toutes les machines de l'ensemble de compilation. Vous pouvez alors configurer correctement [.filename]#/etc/make.conf# pour partager les archives. Vous devrez faire pointer `DISTDIR` sur un répertoire de partage commun dans lequel peut écrire n'importe quel utilisateur utilisé pour correspondance de l'utilisateur `root` par vos montages NFS. Chaque machine devrait faire pointer `WRKDIRPREFIX` sur une répertoire de compilation local. Et enfin, si vous projetez de compiler et distribuer des logiciels précompilés, vous devriez fixer `PACKAGES` sur un répertoire similaire à `DISTDIR`. diff --git a/documentation/content/fr/books/handbook/eresources/_index.adoc b/documentation/content/fr/books/handbook/eresources/_index.adoc index af6f527cd1..0bfbb1abf1 100644 --- a/documentation/content/fr/books/handbook/eresources/_index.adoc +++ b/documentation/content/fr/books/handbook/eresources/_index.adoc @@ -1,787 +1,787 @@ --- title: Annexe C. Ressources sur Internet part: Partie V. Annexes prev: books/handbook/bibliography next: books/handbook/pgpkeys --- [appendix] [[eresources]] = Ressources sur Internet :doctype: book :icons: font :sectnums: :sectnumlevels: 6 :source-highlighter: rouge :experimental: :skip-front-matter: :toc-title: Table des matières :table-caption: Tableau :example-caption: Exemple :xrefstyle: basic :relfileprefix: ../ :outfilesuffix: :sectnumoffset: C include::shared/mirrors.adoc[] include::shared/authors.adoc[] include::shared/releases.adoc[] include::shared/fr/mailing-lists.adoc[] include::shared/fr/teams.adoc[] include::shared/fr/urls.adoc[] L'évolution rapide de FreeBSD rend peu pratique le suivi des développements via des supports imprimés. Les supports électroniques sont le meilleur, sinon la plupart du temps le seul, moyen de se tenir au courant des dernières avancées. Comme FreeBSD est un effort basé sur le volontariat, la communauté des utilisateurs sert généralement de "service de support technique", le courrier électronique et les forums de discussion étant le meilleur moyen de contacter cette communauté. Les points de contact les plus importants avec la communauté des utilisateurs de FreeBSD sont listés ci-dessous. Si vous connaissez d'autres ressources qui n'y figurent pas, communiquez-les s'il vous plaît à la {freebsd-doc} de façon à ce qu'elles soient aussi mentionnées. [[eresources-mail]] == Listes de diffusion Bien qu'un grand de nombre de développeurs de FreeBSD lisent les forums de discussion, nous ne pouvons vous garantir de réponse en temps et en heure à vos questions (ni même de réponse tout court) si vous ne les postez que sur un des forums `comp.unix.bsd.freebsd.*`. En adressant vos questions sur la liste de diffusion appropriée vous nous contacterez en même temps qu'un auditoire FreeBSD concentré, ce qui vous garantit invariablement une meilleure (ou tout au moins une plus rapide) réponse. Les chartes d'utilisation pour les différentes listes sont données à la fin de ce document. _Lisez-les s'il vous plaît avant de vous inscrire ou d'envoyer du courrier à une liste_. La plupart des inscrits à nos listes reçoivent maintenant des centaines de messages en rapport à FreeBSD chaque jour, et en définissant des chartes et des règles d'utilisation, nous essayons de garder assez élevé le rapport signal/bruit sur les listes. Ne pas le faire verrait l'échec des listes de diffusion comme moyen efficace de communication pour le projet. [NOTE] ==== _Si vous désirez tester votre capacité à envoyer du courrier aux listes FreeBSD, envoyez un message de test à la liste {freebsd-test}._ Veuillez ne pas envoyer de messages de test vers une autre liste. ==== En cas de doute sur la liste sur laquelle poser une question, lisez link:{freebsd-questions-article}[Comment obtenir les meilleurs résultats sur la liste de diffusion FreeBSD-questions]. Avant de poster sur une liste de diffusion, veuillez apprendre à utiliser au mieux les listes de diffusion, comme par exemple éviter de relancer des discussions qui reviennent régulièrement, en lisant le document (FAQ) sur link:{mailing-list-faq}[les questions fréquemment posées au sujet des listes de diffusion]. Des archives de toutes les listes de diffusion sont conservées et on peut effectuer des recherches sur le link:https://www.FreeBSD.org/search/[serveur World Wide Web de FreeBSD]. Les archives interrogeables par mots-clés offrent un excellent moyen de trouver des réponses aux questions fréquemment posées et devraient être consultées avant de poster une question. [[eresources-summary]] === Résumé des listes de diffusion _Listes générales:_ les listes suivantes sont des listes générales auxquelles chacun est libre (et encouragé) de s'inscrire: [.informaltable] [cols="1,1", frame="none", options="header"] |=== | Liste | Objet |link:{cvs-all-url}[cvs-all] |Toutes les modifications de l'arborescence des sources |link:{freebsd-advocacy-url}[freebsd-advocacy] |Propagande FreeBSD |{freebsd-announce} |Evénements et étapes importantes du projet |link:{freebsd-arch-url}[freebsd-arch] |Discussions sur l'architecture et l'implémentation de FreeBSD |link:{freebsd-bugbusters-url}[freebsd-bugbusters] |Discussions concernant la maintenance de la base des données des rapports de bogue de FreeBSD et des outils rattachés |link:{freebsd-bugs-url}[freebsd-bugs] |Rapports de bogue |link:{freebsd-chat-url}[freebsd-chat] |Sujets non-techniques en rapport avec la communauté FreeBSD |{freebsd-current} |Discussions concernant l'utilisation de FreeBSD-CURRENT |link:{freebsd-isp-url}[freebsd-isp] |Pour les fournisseurs d'accès utilisant FreeBSD |link:{freebsd-jobs-url}[freebsd-jobs] |Emplois et interventions de consultants en rapport avec FreeBSD |link:{freebsd-policy-url}[freebsd-policy] |Décisions de la politique de l'équipe de base de FreeBSD. Volume faible, et accès en lecture uniquement |link:{freebsd-questions-url}[freebsd-questions] |Questions des utilisateurs et support technique |{freebsd-security-notifications} |Avis de sécurité |{freebsd-stable} |Discussions concernant l'utilisation de FreeBSD-STABLE |{freebsd-test} |Où envoyer vos messages de test au lieu que dans une des listes réelles |=== _Listes techniques:_ les listes suivantes sont destinées aux discussions techniques. Vous devriez lire la charte d'utilisation pour chaque liste attentivement avant de s'y inscrire ou d'y envoyer du courrier parce qu'il y a des règles fermes quant à leur utilisation et leur contenu. [.informaltable] [cols="1,1", frame="none", options="header"] |=== | Liste | Objet |{freebsd-acpi} |Développement de l'ACPI et de la gestion d'energie |link:{freebsd-afs-url}[freebsd-afs] |Portage d'AFS sous FreeBSD |link:{freebsd-aic7xxx-url}[freebsd-aic7xxx] |Développement de pilotes pour les contrôleurs AIC 7xxx d'Adaptec(R) |link:{alpha-url}[alpha] |Portage de FreeBSD sur les systèmes Alpha |link:{freebsd-amd64-url}[freebsd-amd64] |Portage de FreeBSD sur les systèmes AMD64 |link:{freebsd-apache-url}[freebsd-apache] |Discussion sur les logiciels portés relatifs à Apache |link:{freebsd-arm-url}[freebsd-arm] |Portage de FreeBSD sur les processeurs ARM(R) |link:{freebsd-atm-url}[freebsd-atm] |Utilisation de réseaux ATM avec FreeBSD |link:{freebsd-audit-url}[freebsd-audit] |Projet d'audit du code source |link:{freebsd-binup-url}[freebsd-binup] |Conception et développement du système de mise à jour binaire |link:{freebsd-bluetooth-url}[freebsd-bluetooth] |Utilisation de la technologie Bluetooth(R) sous FreeBSD |link:{freebsd-cluster-url}[freebsd-cluster] |Utilisation de FreeBSD dans un environnement en grappe |link:{freebsd-cvsweb-url}[freebsd-cvsweb] |Maintenance du système CVSweb |link:{freebsd-database-url}[freebsd-database] |Discussions à propos de l'utilisation de bases de données et de leur développement sous FreeBSD |link:{freebsd-doc-url}[freebsd-doc] |Création de documents en rapport avec FreeBSD |link:{freebsd-drivers-url}[freebsd-drivers] |Ecrire des pilotes de périphériques pour FreeBSD |link:{freebsd-eclipse-url}[freebsd-eclipse] |Pour les utilisateurs FreeBSD de l'EDI Eclipse, les outils, les applications clientes et les logiciels portés. |link:{freebsd-embedded-url}[freebsd-embedded] |Utilisation de FreeBSD dans les applications embarquées |link:{freebsd-eol-url}[freebsd-eol] |Entre-aide sur les logiciels relatifs à FreeBSD et qui ne sont plus supportés par le projet FreeBSD. |link:{freebsd-emulation-url}[freebsd-emulation] |Emulation d'autres systèmes comme Linux/MS-DOS(R)/Windows(R) |link:{freebsd-firewire-url}[freebsd-firewire] |Discussion technique au sujet du FireWire(R) (iLink, IEEE 1394) sous FreeBSD |link:{freebsd-fs-url}[freebsd-fs] |Systèmes de fichiers |link:{freebsd-geom-url}[freebsd-geom] |Discussions spécifiques à GEOM et à ses implémentations |link:{freebsd-gnome-url}[freebsd-gnome] |Portage de GNOME et des applications GNOME |link:{freebsd-hackers-url}[freebsd-hackers] |Discussions techniques générales |link:{freebsd-hardware-url}[freebsd-hardware] |Discussion générale à propos du matériel fonctionnant sous FreeBSD |link:{freebsd-i18n-url}[freebsd-i18n] |Internationalisation de FreeBSD |link:{freebsd-ia32-url}[freebsd-ia32] |FreeBSD sur la plate-forme IA-32 (Intel(R) x86) |link:{freebsd-ia64-url}[freebsd-ia64] |Portage de FreeBSD sur les futurs système Intel(R) IA64 |link:{freebsd-ipfw-url}[freebsd-ipfw] |Discussion technique concernant le développement du nouveau code du coupe-feu |link:{freebsd-isdn-url}[freebsd-isdn] |Développeurs ISDN |link:{freebsd-jail-url}[freebsd-jail] |Discussion au sujet des environnements man:jail[8] |link:{freebsd-java-url}[freebsd-java] |Développeurs Java(TM) et personnes portant et les JDKs sous FreeBSD |link:{freebsd-kde-url}[freebsd-kde] |Portage de KDE et des applications pour KDE |link:{freebsd-lfs-url}[freebsd-lfs] |Portage de LFS sous FreeBSD |link:{freebsd-libh-url}[freebsd-libh] |Le système d'installation et de logiciel pré-compilé de seconde génération |link:{freebsd-mips-url}[freebsd-mips] |Portage de FreeBSD sur MIPS(R) |link:{freebsd-mobile-url}[freebsd-mobile] |Discussions à propos des ordinateurs portables |link:{freebsd-mozilla-url}[freebsd-mozilla] |Portage de Mozilla sous FreeBSD |{freebsd-multimedia} |Applications multimédia |link:{freebsd-new-bus-url}[freebsd-new-bus] |Discussions techniques au sujet de l'architecture de bus |link:{freebsd-net-url}[freebsd-net] |Discussion au sujet des réseaux et du code source TCP/IP |link:{freebsd-openoffice-url}[freebsd-openoffice] |Portage d'OpenOffice.org et de StarOffice(TM) sous FreeBSD |link:{freebsd-performance-url}[freebsd-performance] |Questions relatives à l'optimisation pour les installations à charge/performances élevées. |link:{freebsd-perl-url}[freebsd-perl] |Maintenance des logiciels portés relatifs à perl |link:{freebsd-pf-url}[freebsd-pf] |Discussions et questions concernant le système de coupe-feu packet filter |link:{freebsd-platforms-url}[freebsd-platforms] |Portages sur des plateformes à architecture non Intel(R) |link:{freebsd-ports-url}[freebsd-ports] |Discussion sur le catalogue des logiciels portés |link:{freebsd-ports-bugs-url}[freebsd-ports-bugs] |Discussion sur les bogues/PRs des logiciels portés |link:{freebsd-ppc-url}[freebsd-ppc] |Portage de FreeBSD pour le PowerPC(R) |link:{freebsd-proliant-url}[freebsd-proliant] |Discussion technique sur l'utilisation de FreeBSD sur les serveurs HP ProLiant |link:{freebsd-python-url}[freebsd-python] |Problèmes concernant l'utilisation de Python sous FreeBSD |link:{qa-url}[qa] |Discussion sur la qualité de FreeBSD, généralement entre deux versions |link:{freebsd-rc-url}[freebsd-rc] |Discussion relative au système [.filename]#rc.d# et à son développement |link:{freebsd-realtime-url}[freebsd-realtime] |Développement des extensions temps réel de FreeBSD |link:{freebsd-scsi-url}[freebsd-scsi] |Sous-système SCSI |{freebsd-security} |Questions concernant la sécurité |link:{freebsd-small-url}[freebsd-small] |Utilisation de FreeBSD dans les applications embarquées (obsolète, utilisez link:{freebsd-embedded-url}[freebsd-embedded] à la place) |link:{smp-url}[smp] |Discussions sur la conception du traitement symétrique multiprocesseurs |link:{freebsd-sparc64-url}[freebsd-sparc64] |Portage de FreeBSD sur les systèmes SPARC(R) |link:{freebsd-standards-url}[freebsd-standards] |Conformité de FreeBSD aux normes C99 et POSIX(R) |link:{freebsd-sun4v-url}[freebsd-sun4v] |Portage de FreeBSD sur les systèmes basés sur UltraSPARC(R) T1 |link:{freebsd-threads-url}[freebsd-threads] |Threading sous FreeBSD |link:{freebsd-testing-url}[freebsd-testing] |Tests de stabilité et de performance de FreeBSD |link:{freebsd-tokenring-url}[freebsd-tokenring] |Support du Token Ring sous FreeBSD |link:{freebsd-x11-url}[freebsd-x11] |Support et maintenance de X11 sous FreeBSD |link:{freebsd-usb-url}[freebsd-usb] |Discussion sur le support USB sous FreeBSD |link:{freebsd-vuxml-url}[freebsd-vuxml] |Discussion sur l'infrastructure VuXML |link:{freebsd-x11-url}[freebsd-x11] |Maintenance and support of X11 on FreeBSD |=== _Liste à accès restreint:_ les listes suivantes sont pour les assistances plus spécialisées (et exigeantes) et ne sont probablement pas d'intérêt général. C'est aussi une bonne idée d'être d'abord actif sur les listes techniques avant de vous inscrire à une de ces listes limités de sorte que vous compreniez l'étiquette impliquée dans ces communications. [.informaltable] [cols="1,1", frame="none", options="header"] |=== | Liste | Objet |link:{freebsd-hubs-url}[freebsd-hubs] |Pour ceux qui gèrent des sites miroir (questions d'infrastructure) |link:{freebsd-user-groups-url}[freebsd-user-groups] |Coordination des groupes d'utilisateurs |link:{freebsd-vendors-url}[freebsd-vendors] |Coordination des fournisseurs des pré-versions |link:{freebsd-www-url}[freebsd-www] |Webmestres de link:https://www.FreeBSD.org/[www.FreeBSD.org] |=== _Résumé de liste:_ Toutes les listes ci-dessus sont également disponibles sous forme de résumé. Une fois inscrit à une liste, vous pouvez modifier vos options de résumé dans les options de votre compte. _Listes CVS lists:_ Les listes suivantes sont destinées aux personnes intéressées par la lecture des journaux des modifications effectuées sur les différentes partie de l'arborescence des sources. Ce sont des listes à _lecture seule_ et on ne devrait pas y envoyer de messages. [.informaltable] [cols="1,1,1", frame="none", options="header"] |=== | Liste | Partie de l'arborescence des sources | Description de la partie (des sources concernées) |link:{cvs-all-url}[cvs-all] |[.filename]#/usr/(CVSROOT\|doc\|ports\|projects\|src)# |Toute modification de l'arborescence (agrégation de l'ensemble des listes CVS) |link:{cvs-doc-url}[cvs-doc] |[.filename]#/usr/(doc\|www)# |Toutes les modifications effectuées sur les arborescences doc et www |link:{cvs-ports-url}[cvs-ports] |[.filename]#/usr/ports# |Toutes les modifications effectuées sur l'arborescence des logiciels portés |link:{cvs-projects-url}[cvs-projects] |[.filename]#/usr/projects# |Toutes les modifications effectuées sur l'arborescence des projets |link:{cvs-src-url}[cvs-src] |[.filename]#/usr/src# |Toutes les modifications effectuées sur l'arborescence des sources |=== [[eresources-subscribe]] === Comment s'inscrire -Pour s'inscrire à une liste, cliquez sur le nom d'une liste ci-dessus où sur {mailman-lists-url} et cliquez ensuite sur la liste qui vous intéresse. La page de la liste devrait contenir toutes les instructions nécessaires à l'inscription. +Pour s'inscrire à une liste, cliquez sur le nom d'une liste ci-dessus où sur {mailing-lists-url} et cliquez ensuite sur la liste qui vous intéresse. La page de la liste devrait contenir toutes les instructions nécessaires à l'inscription. Pour poster réellement sur une liste, envoyez simplement un courrier électronique à l'adresse mailto:nom-de-la-liste@FreeBSD.org[nom-de-la-liste@FreeBSD.org]. Ce courrier sera alors redistribué à l'ensemble des membres de la liste de par le monde. Pour vous désabonner d'une liste, cliquez sur l'URL se trouvant à la fin de chaque message reçu de la liste. Il est également possible d'envoyer un message à mailto:nom-de-la-liste-unsubscribe@FreeBSD.org[nom-de-la-liste-unsubscribe@FreeBSD.org] pour vous désabonner. Encore une fois, nous voudrions vous demander de garder aux discussions sur les listes techniques leur caractère technique. Si vous n'êtes intéressés uniquement que par les annonces importantes alors nous vous suggérons de vous inscrire à la liste {freebsd-announce}, dont le trafic n'est qu'occasionnel. [[eresources-charters]] === Chartes d'utilisation des listes Il y a pour _toutes_ les listes de diffusion FreeBSD des règles de base auxquelles tous leurs utilisateurs doivent se conformer. En cas de non respect de ces règles, et après deux (2) avertissements écrits de la part du "Postmaster" de FreeBSD mailto:postmaster@FreeBSD.org[postmaster@FreeBSD.org], au troisième manquement, le contrevenant sera désabonné de toutes les listes de diffusion de FreeBSD, et ses messages ultérieurs filtrés. Nous regrettons de devoir prendre de telles mesures, mais l'Internet d'aujourd'hui est un milieu relativement hostile, et beaucoup ne se rendent pas compte de la fragilité de certains de ses mécanismes. Règles générales: * Le sujet de tout message doit correspondre au sujet traité par la liste à laquelle il est adressé, e.g., si c'est une liste concernant des problèmes techniques alors le contenu de votre message doit être technique. Le bavardage continu et les polémiques ne font que dégrader la qualité de la liste de diffusion pour tous les utilisateurs et ne seront pas tolérés. Pour des discussions libres sans sujet particulier, la {freebsd-chat} est disponible et devrait être utilisée dans ce cas. * Aucun message ne doit être adressé à plus de 2 listes de diffusion, et à 2 listes uniquement dans le cas où il y a une nécessité évidente de poster sur les deux listes. Pour la plupart des listes, il y a déjà beaucoup de souscripteurs communs, et mis à part les cas les plus ésotériques (par exemple "-stable -scsi"), il n'y a pas vraiment de raison de poster sur plus d'une liste à la fois. Si vous recevez un message où apparaissent sur la ligne `Cc` plusieurs listes de diffusion, vous devez purger cette ligne `Cc` avant d'y répondre. _Vous êtes toujours responsable de vos expéditions croisées, peu importe qui en a été à l'origine_. * Les attaques personnelles et les insultes (dans le cadre d'une discussion) ne sont pas autorisés, et cela concerne tout autant les utilisateurs que les développeurs. Les manquements grossiers à la "nétiquette", citer ou reposter des courriers privés quand l'accord n'en a pas été donné et ne le sera pas, par exemple, sont désapprouvés, mais pas particulièrement réprimés. _Cependant_ de tels contenus entrent rarement dans le cadre des règles d'utilisation d'une liste, et entraîneront donc probablement un avertissement (ou une exclusion) pour cette seule raison. * La publicité pour des produits ou services sans rapport avec FreeBSD est rigoureusement interdite et entraînera l'exclusion immédiate s'il s'avère que le contrevenant adresse ses publicités par "courrier électronique non sollicité" - spam. _Chartes liste par liste:_ {freebsd-acpi}:: _Développement de l'ACPI et de la gestion de l'énergie_ link:{freebsd-afs-url}[freebsd-afs]:: _Système de fichiers Andrew - Andrew File System_ + C'est une liste de discussion sur le portage et l'utilisation d'AFS de CMU/Transarc. {freebsd-announce}:: _Evénements importants / étapes importantes pour le projet_ + C'est une liste pour les gens intéressés uniquement par les annonces occasionnelles d'évènements FreeBSD importants. Cela inclut les annonces d'instantanés et autres versions. Cela comprend également les annonces de nouvelles fonctionnalités de FreeBSD. Il peut y avoir aussi des appels à volontaires, etc... C'est une liste de faible volume et rigoureusement modérée. link:{freebsd-arch-url}[freebsd-arch]:: _Discussions concernant l'architecture et l'implémentation_ + C'est une liste pour discuter de l'architecture de FreeBSD. Les messages y seront habituellement de nature technique. Des exemples de sujets qui cadrent avec cette liste sont: ** Comment revoir le système de compilation pour que plusieurs compilations personnalisées puissent être effectuées en même temps. ** Que faut-il corriger dans VFS pour que les couches Heidemann fonctionnent. ** Comment modifier l'interface des pilotes de périphériques pour que la même interface fonctionne proprement sur différents bus et architectures. ** Comment écrire un pilote réseau. link:{freebsd-audit-url}[freebsd-audit]:: _Projet d'audit du code source_ + C'est la liste de discussion pour le projet d'audit du code source de FreeBSD. Bien que n'étant à l'origine destinée qu'aux modifications relatives à la sécurité, sa charte a été élargie pour l'examen de toute modification de code. + Cette liste est très chargée de correctif, et n'est probablement pas intéressant pour l'utilisateur moyen de FreeBSD. Les discussions sur la sécurité non relatives à une modification particulière du code ont lieu sur freebsd-security. Réciproquement, tous les développeurs sont encouragés à envoyer leur correctifs sur la liste pour examen, tout particulièrement s'ils touchent une partie du système où un bogue peut compromettre l'intégrité du système. link:{freebsd-binup-url}[freebsd-binup]:: _Projet de mise à jour binaire de FreeBSD_ + Cette liste existe pour discuter du système de mise à jour binaire, ou binup. Problèmes de conception, détails d'implémentation, correctifs, rapports de bogue, rapport d'état, demandes de fonctionnalités, traces des modifications du code, et tout ce qui peut avoir rapport avec binup sont à leur place ici. link:{freebsd-bluetooth-url}[freebsd-bluetooth]:: _Bluetooth(R) sous FreeBSD_ + C'est un forum où se rassemble les utilisateurs de la technologie Bluetooth(R) sous FreeBSD. Problèmes de conception, détails de l'implémentation, rapports de bogues, état du support, demande de fonctionnalités, et tous les sujets en rapport avec Bluetooth(R) sont les bienvenues. link:{freebsd-bugbusters-url}[freebsd-bugbusters]:: _Coordination de la gestion des rapports de bogue_ + L'objet de cette liste est de servir de forum de coordination et de discussion entre le "Boguemestre", ses chasseurs de bogues et toute autre partie intéressée dans la base de données des PRs. Cette liste n'est pas destinée aux discussions sur des bogues spécifiques, correctifs ou PRs. link:{freebsd-bugs-url}[freebsd-bugs]:: _Rapports de bogue_ + C'est la liste pour rapporter les bogues de FreeBSD. Chaque fois que c'est possible, les bogues devraient être soumis en utilisant la commande man:send-pr[1] ou son link:https://www.FreeBSD.org/send-pr.html[interface WEB]. link:{freebsd-chat-url}[freebsd-chat]:: _Sujets non-techniques en rapport avec la communauté FreeBSD_ + Cette liste reçoit le résidu des discussions sur les autres listes: informations sociologiques, et non techniques. Cela va de savoir si Jordan ressemble ou non à un furet de bande dessinée, s'il faut tapez en majuscules, qui boit trop de café, quelle est la meilleure bière, qui brasse de la bière dans sa cave, et ainsi de suite. Les annonces occasionnelles d'événements importants (les prochaines fêtes, mariages, naissances, nouveaux emplois, etc...) peuvent être adressées aux listes techniques, mais doivent ensuite être redirigées sur cette liste. {core-name}:: _Equipe de base de FreeBSD_ + C'est une liste interne à l'usage des membres de l'équipe de base. Des messages peuvent y être adressés lorsqu'un sujet en rapport avec FreeBSD demande arbitrage ou examen à haut niveau. {freebsd-current}:: _Discussions concernant l'utilisation de FreeBSD-CURRENT_ + C'est la liste de diffusion pour les utilisateurs de FreeBSD-CURRENT. Elle inclut avertissements au sujet de nouvelles fonctionnalités de -CURRENT qui affecteront les utilisateurs, et les instructions sur ce qu'il faut faire pour rester à jour avec -CURRENT. Tous les utilisateurs de "CURRENT" doivent s'inscrire à cette liste. C'est une liste de discussion technique sur laquelle le contenu doit être strictement technique. link:{freebsd-cvsweb-url}[freebsd-cvsweb]:: _Project CVSweb de FreeBSD_ + Discussions techniques au sujet de l'utilisation, du développement et de la maintenance du FreeBSD-CVSweb. link:{freebsd-doc-url}[freebsd-doc]:: _Project de documentation_ + C'est la liste de discussion sur les questions et projets liés à la rédaction de documentation pour FreeBSD. Les membres de cette liste sont collectivement appelés "Le Projet de Documentation de FreeBSD" - The FreeBSD Documentation Project. C'est une liste ouverte; n'hésitez pas à vous inscrire et à participer! link:{freebsd-drivers-url}[freebsd-drivers]:: _Ecrire des pilotes de périphériques pour FreeBSD_ + C'est une liste pour les discussions techniques au sujet des pilotes de périphériques sous FreeBSD. C'est principalement un lieu où les personnes écrivant les pilotes peuvent poser des questions sur l'écriture de pilotes utilisant les APIs du noyau FreeBSD. link:{freebsd-eclipse-url}[freebsd-eclipse]:: _Pour les utilisateurs FreeBSD de l'EDI Eclipse, les outils, les applications clientes et les logiciels portés._ + L'objectif de cette liste est de fournir un support pour tout que qui concerne le choix, l'installation, l'utilisation, le développement et la maintenance de l'EDI Eclipse, des ses outils, de ses applications clients sous FreeBSD et l'aide au portage de l'EDI Eclipse et de ses greffons sous l'environnement FreeBSD. + Le but est également de faciliter les échanges d'information entre les communautés Eclipse et FreeBSD pour un bénéfice mutuel. + Bien que cette liste soit principalement destinée à répondre aux demandes des utilisateurs d'Eclipse, elle est également un forum pour ceux qui désirent développer des applications spécifiques à FreeBSD en utilisant le système Eclipse. link:{freebsd-embedded-url}[freebsd-embedded]:: _Utilisation de FreeBSD dans les applications embarquées_ + Cette liste aborde les sujets relatifs à l'utilisation de FreeBSD dans les systèmes embarqués. C'est une liste de diffusion à caractère technique pour laquelle on attend un contenu strictement technique. Dans le cadre de cette liste, nous définissons le terme de système embarqué pour les appareils informatisés qui ne sont pas des stations de travail et qui sont destinés à une application bien particulière et limitée par opposition aux systèmes informatiques classiques. Des exemples de systèmes embarqués, parmi tant d'autres, sont les combinés téléphoniques, les équipements réseau comme les routeurs, les commutateurs et les PABXs, les équipements de mesure à distance, les PDAs, les systèmes de distributeurs, et ainsi de suite. link:{freebsd-emulation-url}[freebsd-emulation]:: _Emulation d'autres systèmes comme Linux/MS-DOS(R)/Windows(R)_ + C'est une liste pour les discussions techniques relativent à l'exécution sous FreeBSD de programmes écris pour d'autres systèmes d'exploitation. link:{freebsd-eol-url}[freebsd-eol]:: _Entre-aide sur les logiciels relatifs à FreeBSD et qui ne sont plus supportés par le projet FreeBSD._ + Cette liste est destinée aux personnes désirant proposer ou recherchant une aide pour les logiciels relatifs à FreeBSD pour lesquels le projet FreeBSD ne fournir officiellement plus de support (par exemple sous la forme d'avis de sécutité et de correctifs). link:{freebsd-firewire-url}[freebsd-firewire]:: _FireWire(R) (iLink, IEEE 1394)_ + C'est une liste pour les discussions sur la conception et le développement d'un sous-système FireWire(R) (IEEE 1394, iLink) sous FreeBSD. Les sujets appropriés incluent spécifiquement les normes, les bus périphériques et leur protocole, l'ensemble d'adaptateurs/cartes/circuits, et l'architecture et l'implémentation de leur propre support. link:{freebsd-fs-url}[freebsd-fs]:: _Systèmes de fichiers_ + Discussions concernant les systèmes de fichiers FreeBSD. C'est une liste de discussion technique sur laquelle le contenu doit être strictement technique. link:{freebsd-geom-url}[freebsd-geom]:: _GEOM_ + Discussions spécifiques à GEOM et aux implémentations relatives. C'est une liste de diffusion technique sur laquelle le contenu doit être strictement technique. link:{freebsd-gnome-url}[freebsd-gnome]:: _GNOME_ + Discussions concernant l'environnement de travail GNOME sous les systèmes FreeBSD. C'est une liste de discussion technique sur laquelle le contenu doit être strictement technique. link:{freebsd-ipfw-url}[freebsd-ipfw]:: _Coupe-feu IP_ + C'est le forum pour les discussions techniques concernant la nouvelle implémentation du code du coupe-feu IP sous FreeBSD. C'est une liste de discussion technique sur laquelle le contenu doit être strictement technique. link:{freebsd-ia64-url}[freebsd-ia64]:: _Portage de FreeBSD sur IA64_ + C'est une liste de discussion technique pour les personnes travaillant sur le portage de FreeBSD sur la plate-forme IA-64 d'Intel(R), pour soulever les problèmes ou discuter de solutions alternatives. Ceux qui sont intéressés à suivre les discussions techniques sont aussi bienvenus. link:{freebsd-isdn-url}[freebsd-isdn]:: _Communications ISDN_ + C'est la liste pour les personnes discutant du développement du support ISDN de FreeBSD. link:{freebsd-java-url}[freebsd-java]:: _Développement Java(TM)_ + C'est la liste pour les personnes discutant du développement d'applications Java(TM) significatives sous FreeBSD et du portage et de la maintenance des JDK(TM)s. [[eresources-charters-jobs]] link:{freebsd-jobs-url}[freebsd-jobs]:: _Recherches et offres d'emplois_ + C'est un forum pour poster des offres d'emplois et des curriculum vitae relatifs à FreeBSD, c'est à dire si vous cherchez un emploi concernant FreeBSD ou que vous offrez un emploi impliquant FreeBSD, alors c'est le bon endroit. Ce n'est _pas_ une liste de diffusion pour les problèmes généraux relatifs aux offres et à la recherche d'un emploi puisque des forums adéquats existent déjà par ailleurs. + Notez que cette liste, comme les autres listes de diffusion du domaine `FreeBSD.org`, est diffusée au niveau mondial. Par conséquent, vous devez être précis quant à l'emplacement, les possibilités de travail à distance ou de déplacement. + Les messages devraient utiliser uniquement des formats ouverts - de préférence du texte brut, mais le PDF, l'HTML, et quelques autres formats sont acceptables. Les formats propriétaires comme Microsoft(R) Word ([.filename]#.doc#) seront rejetés par le serveur de la liste de diffusion. link:{freebsd-kde-url}[freebsd-kde]:: _KDE_ + Discussions concernant KDE sous les systèmes FreeBSD. C'est une liste de discussion technique sur laquelle le contenu doit rester strictement technique. link:{freebsd-hackers-url}[freebsd-hackers]:: _Discussions techniques_ + C'est le forum pour les discussions techniques au sujet de FreeBSD. C'est la principale liste technique. Elle est destinée à ceux qui travaillent activement à FreeBSD, pour soulever des problèmes et discuter de solutions alternatives. Ceux qui sont intéressés à suivre les discussions techniques sont aussi bienvenus. C'est une liste de discussion technique sur laquelle le contenu doit être strictement technique. link:{freebsd-hardware-url}[freebsd-hardware]:: _Discussions générales sur le matériel pour FreeBSD_ + Discussions générales sur les types de matériel sur lesquels tourne FreeBSD, les problèmes rencontrés et suggestions sur quoi acheter ou éviter. link:{freebsd-hubs-url}[freebsd-hubs]:: _Sites miroir_ + Annonces et discussions pour les personnes qui font fonctionner les sites miroir FreeBSD. link:{freebsd-isp-url}[freebsd-isp]:: _Questions concernant les fournisseurs d'accès à Internet_ + C'est la liste pour discuter des sujets qui intéressent les fournisseurs d'accès Internet - Internet Service Providers (ISPs) - qui utilisent FreeBSD. C'est une liste de discussion technique sur laquelle le contenu doit être strictement technique. link:{freebsd-openoffice-url}[freebsd-openoffice]:: _OpenOffice.org_ + Discussions concernant le portage et la maintenance d'OpenOffice.org et StarOffice(TM). link:{freebsd-performance-url}[freebsd-performance]:: _Discussions au sujet de l'optimisation et l'accélération de la vitesse d'exécution de FreeBSD_ + Cette liste de diffusion existe pour offrir un endroit aux hackers, administrateurs, et/ou les parties concernées pour discuter de sujets ayant trait aux performances de FreeBSD. Les sujets acceptables comprennent les discussions concernant les installations de FreeBSD qui sont soit sous charge importante, soit présentant des problèmes de performance, ou encore qui repoussent les limites de FreeBSD. Les personnes désirant travailler sur l'amélioration des performances de FreeBSD sont grandement encouragées à s'inscrire à cette liste. C'est une liste hautement technique destinée aux utilisateurs expérimentés de FreeBSD, aux hackers, ou aux administrateurs intéressés par un FreeBSD rapide, robuste, et adaptable. Ce n'est pas une liste de questions-réponses qui remplace la lecture de la documentation, mais c'est un endroit où il est possible d'effectuer des contributions ou de se préoccuper de sujets non-résolus relatifs aux performances. link:{freebsd-pf-url}[freebsd-pf]:: _Discussions et questions concernant le système de coupe-feu packet filter_ + Discussions concernant le système de coupe-feu packet filter (pf) sous FreeBSD. Les discussions techniques ainsi que les questions des utilisateurs sont les bienvenues. Cette liste est également un endroit où discuter du système de qualité de service ALTQ. link:{freebsd-platforms-url}[freebsd-platforms]:: _Portage sur les plate-formes non Intel(R)_ + Questions concernant le support d'autres plates-formes, discussions générales et propositions pour les portages sur des plates-formes non Intel(R). C'est une liste de discussion technique sur laquelle le contenu doit être strictement technique. link:{freebsd-policy-url}[freebsd-policy]:: _Décisions de la politique de l'équipe de base_ + C'est une liste de discussion à faible trafic, et en lecture seule pour les décisions de la politique de l'équipe de base. link:{freebsd-ports-url}[freebsd-ports]:: _Discussion sur les "logiciels portés"_ + Discussions concernant le ``catalogue des logiciels portés'' de FreeBSD ([.filename]#/usr/ports#), propositions de portages, modifications de l'infrastructure du catalogue des logiciels portés et coordination générale. C'est une liste de discussion technique sur laquelle le contenu doit être strictement technique. link:{freebsd-proliant-url}[freebsd-proliant]:: _Discussion technique sur l'utilisation de FreeBSD sur les serveurs HP ProLiant_ + Cette liste de diffusion doit être utilisée pour les discussions techniques concernant l'utilisation de FreeBSD sur les serveurs HP ProLiant, y compris les discussions sur les pilotes spécifiques à ces machines, les logiciels de gestion, les outils de configuration, et les mises à jour du BIOS. C'est également le premier endroit où discuter des modules hpasmd, hpasmcli, et hpacucli. link:{freebsd-python-url}[freebsd-python]:: _Python sous FreeBSD_ + C'est une liste pour les discussions relatives à l'amélioration du support de Python sous FreeBSD. C'est une liste de discussion technique. Elle est destinée aux personnes travaillant sur le portage de Python, de ses modules tiers partie et éléments relatifs à Zope sous FreeBSD. Les personnes intéressées par ces discussions techniques sont également les bienvenues. link:{freebsd-questions-url}[freebsd-questions]:: _Questions des utilisateurs_ + C'est la liste pour les questions à propos de FreeBSD. Vous ne devriez pas adresser de questions du type "comment faire" aux listes techniques à moins que vous n'estimiez que la question soit vraiment très technique. link:{freebsd-scsi-url}[freebsd-scsi]:: _Sous-système SCSI_ + C'est la liste de diffusion pour ceux qui travaillent sur le sous-système SCSI de FreeBSD. C'est une liste de discussion technique sur laquelle le contenu doit être strictement technique. {freebsd-security}:: _Questions relatives à la sécurité_ + Questions ayant trait à la sécurité des ordinateurs sous FreeBSD (DES, Kerberos, trous de sécurité connus et correctifs, etc...). C'est une liste de discussion technique sur laquelle le contenu doit être strictement technique. Notez que ce n'est pas une liste de question-réponse, mais ce type de contribution (la question ET la réponse) à la FAQ est le bienvenue. {freebsd-security-notifications}:: _Avis de sécurité_ + Notifications des problèmes de sécurité concernant FreeBSD et correctifs. Ce n'est pas une liste de discussion. La liste de discussion correspondante est FreeBSD-security. link:{freebsd-small-url}[freebsd-small]:: _Utilisation de FreeBSD dans les applications embarquées_ + Cette liste discute de sujets relatifs aux installations inhabituellement petites et embarquées de FreeBSD. C'est une liste de discussion technique sur laquelle un contenu strictement technique est attendu. + [NOTE] ==== Cette liste est obsolète depuis la création de link:{freebsd-embedded-url}[freebsd-embedded]. ==== {freebsd-stable}:: _Discussions concernant l'utilisation de FreeBSD-STABLE_ + C'est la liste de diffusion pour les utilisateurs de FreeBSD-STABLE. Elle inclut avertissements au sujet de nouvelles fonctionnalités de -STABLE qui affecteront les utilisateurs, et des instructions sur ce qu'il faut faire pour rester à jour avec -STABLE. Tous les utilisateurs de la branche "STABLE" devraient s'inscrire à cette liste. C'est une liste de discussion technique sur laquelle le contenu doit être strictement technique. link:{freebsd-standards-url}[freebsd-standards]:: _Conformité aux normes C99 POSIX_ + C'est un forum pour les discussions techniques concernant la conformité de FreeBSD aux normes C99 et POSIX. link:{freebsd-usb-url}[freebsd-usb]:: _Discussion sur le support USB sous FreeBSD_ + C'est une liste de diffusion pour les discussions techniques relatives au support de l'USB sous FreeBSD link:{freebsd-user-groups-url}[freebsd-user-groups]:: _Coordination des groupes d'utilisateurs_ + C'est la liste pour les coordinateurs des différents groupes locaux d'utilisateurs, destinée à leurs discussions entre eux et avec un membre désigné de l'équipe de base. Cette liste doit se limiter aux comptes-rendus de réunions et à la coordination de projets entre plusieurs groupes d'utilisateurs. link:{freebsd-vendors-url}[freebsd-vendors]:: _Fournisseurs_ + Coordination des discussions entre le projet FreeBSD et les fournisseurs de logiciel ou de matériel pour FreeBSD. [[eresources-mailfiltering]] === Filtrages en vigueur sur les listes de diffusion Les listes de diffusion FreeBSD sont filtrées de plusieurs façons en vue d'éviter la distribution de SPAM, de virus, et tout autre message non-sollicité. Les opérations de filtrage décries dans cette section ne comprennent pas toutes celles utilisées pour protéger les listes re diffusion. Seuls certains types de pièces jointes sont autorisés sur les listes de diffusion. Toutes les pièces jointes avec un format MIME qui ne figurent pas parmi la liste ci-dessous seront retirées avant que le message ne soit distribué sur les listes de diffusion. * application/octet-stream * application/pdf * application/pgp-signature * application/x-pkcs7-signature * message/rfc822 * multipart/alternative * multipart/related * multipart/signed * text/html * text/plain * text/x-diff * text/x-patch [NOTE] ==== Certaines listes de diffusion pourront autoriser des pièces jointes sous d'autres formats MIME, mais la liste précédente devrait être applicable pour la plupart des listes de diffusion. ==== Si un message contient une version HTML et une version texte du contenu du message, la version HTML sera retirée. Si le corps d'un message est uniquement sous forme HTML, il sera converti sous forme texte brut. [[eresources-news]] == Forums de discussion En plus de deux forums de discussion spécifiques à FreeBSD, il y en a de nombreux autres où il est question de FreeBSD ou qui sont par ailleurs d'intérêt pour les utilisateurs de FreeBSD. http://minnie.tuhs.org/BSD-info/bsdnews_search.html[Des archives interrogeables par mots-clés] sont disponibles pour certains de ces forums, grâce à Warren Toomey mailto:wkt@cs.adfa.edu.au[wkt@cs.adfa.edu.au]. === Forums spécifiques à BSD * link:news:comp.unix.bsd.freebsd.announce[comp.unix.bsd.freebsd.announce] * link:news:comp.unix.bsd.freebsd.misc[comp.unix.bsd.freebsd.misc] * link:news:de.comp.os.unix.bsd[de.comp.os.unix.bsd] (Allemand) * link:news:fr.comp.os.bsd[fr.comp.os.bsd] (Français) * link:news:it.comp.os.freebsd[it.comp.os.freebsd] (Italien) * link:news:tw.bbs.comp.386bsd[tw.bbs.comp.386bsd] (Chinois) === Autres forums UNIX(R) intéressants * link:news:comp.unix[comp.unix] * link:news:comp.unix.questions[comp.unix.questions] * link:news:comp.unix.admin[comp.unix.admin] * link:news:comp.unix.programmer[comp.unix.programmer] * link:news:comp.unix.shell[comp.unix.shell] * link:news:comp.unix.user-friendly[comp.unix.user-friendly] * link:news:comp.security.unix[comp.security.unix] * link:news:comp.sources.unix[comp.sources.unix] * link:news:comp.unix.advocacy[comp.unix.advocacy] * link:news:comp.unix.misc[comp.unix.misc] * link:news:comp.bugs.4bsd[comp.bugs.4bsd] * link:news:comp.bugs.4bsd.ucb-fixes[comp.bugs.4bsd.ucb-fixes] * link:news:comp.unix.bsd[comp.unix.bsd] === Système X Window * link:news:comp.windows.x.i386unix[comp.windows.x.i386unix] * link:news:comp.windows.x[comp.windows.x] * link:news:comp.windows.x.apps[comp.windows.x.apps] * link:news:comp.windows.x.announce[comp.windows.x.announce] * link:news:comp.windows.x.intrinsics[comp.windows.x.intrinsics] * link:news:comp.windows.x.motif[comp.windows.x.motif] * link:news:comp.windows.x.pex[comp.windows.x.pex] * link:news:comp.emulators.ms-windows.wine[comp.emulators.ms-windows.wine] [[eresources-web]] == Serveurs World Wide Web [[eresources-email]] == Adresses électroniques Les groupes d'utilisateurs suivants fournissent à leurs membres des adresses électroniques liées à FreeBSD. Les administrateurs cités se réservent le droit de supprimer l'adresse si elle est à l'origine d'abus. [.informaltable] [cols="1,1,1,1", frame="none", options="header"] |=== | Domaine | Possibilités offertes | Groupe d'utilisateurs | Administrateur |ukug.uk.FreeBSD.org |Transmission de courrier uniquement | mailto:freebsd-users@uk.FreeBSD.org[freebsd-users@uk.FreeBSD.org] |Lee Johnston mailto:lee@uk.FreeBSD.org[lee@uk.FreeBSD.org] |=== [[eresources-shell]] == Comptes Les groupes d'utilisateurs suivants fournissent des comptes aux personnes supportant le projet FreeBSD. Les administrateurs cités se réservent le droit de supprimer le compte s'il est à l'origine d'abus. [.informaltable] [cols="1,1,1,1", frame="none", options="header"] |=== | Hôte | Accès | Possibilités offertes | Administrateur |dogma.freebsd-uk.eu.org |Telnet/FTP/SSH |Adresse électronique, espace Web, FTP anonyme |Lee Johnston mailto:lee@uk.FreeBSD.org[lee@uk.FreeBSD.org] |=== diff --git a/documentation/content/fr/books/handbook/jails/_index.adoc b/documentation/content/fr/books/handbook/jails/_index.adoc index 6c45458301..8709ea4fb0 100644 --- a/documentation/content/fr/books/handbook/jails/_index.adoc +++ b/documentation/content/fr/books/handbook/jails/_index.adoc @@ -1,219 +1,219 @@ --- title: Chapitre 15. Environnements jail part: Partie III. Administration Système prev: books/handbook/security next: books/handbook/mac --- [[jails]] = Jails :doctype: book :toc: macro :toclevels: 1 :icons: font :sectnums: :sectnumlevels: 6 :source-highlighter: rouge :experimental: :skip-front-matter: :toc-title: Table des matières :table-caption: Tableau :example-caption: Exemple :xrefstyle: basic :relfileprefix: ../ :outfilesuffix: :sectnumoffset: 15 ifeval::["{backend}" == "html5"] :imagesdir: ../../../images/books/handbook/jails/ endif::[] ifeval::["{backend}" == "pdf"] :imagesdir: ../../../../static/images/books/handbook/jails/ endif::[] ifeval::["{backend}" == "epub3"] :imagesdir: ../../../../static/images/books/handbook/jails/ endif::[] include::shared/authors.adoc[] include::shared/releases.adoc[] include::shared/fr/mailing-lists.adoc[] include::shared/fr/teams.adoc[] include::shared/fr/urls.adoc[] toc::[] [[jails-synopsis]] == Synopsis Ce chapitre expliquera ce que sont les environnements jail (prisons) et comment les utiliser. Les environnements jail, souvent présentés comme une amélioration et un remplacement des _environnements chrootés_ sont des outils très puissants pour les administrateurs système, mais certaines de leurs fonctionnalités de base peuvent être également utiles aux utilisateurs avancés. Après avoir lu ce chapitre, vous connaîtrez: * Ce qu'est un environnement jail, et quelle utilité il peut avoir sur une installation FreeBSD. * Comment construire, démarrer et arrêter un environnement jail. * Les bases de l'administration d'un environnement jail, de l'intérieur et de l'extérieur de l'environnement. D'autres sources d'information utiles concernant les environnements jail sont: * La page de manuel man:jail[8]. C'est la référence pour l'emploi de l'utilitaire `jail` - l'outil d'administration qui peut être utilisé sous FreeBSD pour démarrer, arrêter, et contrôler les environnements jail FreeBSD. -* Les listes de diffusion et leurs archives. Les archives de la {freebsd-questions} et d'autres listes hébergées par le {mailman-lists} contiennent déjà quantité d'information sur les environnements jail. Il sera toujours conseillé de chercher dans les archives ou de poster une nouvelle question sur la liste de diffusion link:{freebsd-questions-url}[freebsd-questions]. +* Les listes de diffusion et leurs archives. Les archives de la {freebsd-questions} et d'autres listes hébergées par le {mailing-lists} contiennent déjà quantité d'information sur les environnements jail. Il sera toujours conseillé de chercher dans les archives ou de poster une nouvelle question sur la liste de diffusion link:{freebsd-questions-url}[freebsd-questions]. [[jails-terms]] == Termes relatifs aux environnements jail Pour faciliter la compréhension des parties du système FreeBSD relatives aux jails, leurs mécanismes internes et la manière dont ils interagissent avec le reste de FreeBSD, les termes suivants seront utilisés tout au long de ce chapitre: man:chroot[2] (commande):: Un appel système FreeBSD, qui modifie le répertoire racine d'un processus et de tout ses descendants. man:chroot[2] (environnement):: Environnement des processus pour lesquels l'emplacement de la racine du système de fichier a été modifiée ("chrootée"). Cela comprend les ressources comme la partie du système de fichiers qui est visible, les identifiants utilisateur et groupe qui sont disponibles, les interfaces réseaux et autres mécanismes IPC, etc. man:jail[8] (commande):: L'utilitaire système d'administration qui permet le lancement de processus à l'intérieur d'un environnement jail. hôte (système, processus, utilisateur, etc.):: Le système de contrôle d'un environnement jail. Le système hôte a accès à toutes les ressources matérielles disponibles, et peut contrôler des processus à l'extérieur et à l'intérieur d'un environnement jail. Une des différences importantes entre le système hôte et l'environnement jail est que les limitations qui s'appliquent aux processus du super-utilisateur à l'intérieur de l'environnement jail ne s'appliquent pas aux processus du système hôte. hébergé (système, processus, utilisateur, etc.):: Un processus, un utilisateur ou toute autre entité, dont l'accès aux ressources est limité par un environnement jail FreeBSD. [[jails-intro]] == Introduction Comme l'administration système est une tâche difficile et déroutante, de nombreux outils ont été développés pour rendre la vie de l'administrateur plus simple. Ces outils apportent pour la plupart des améliorations dans la manière dont sont installés, configurés et maintenus les systèmes. Une partie des tâches dévolues à l'administrateur est la sécurisation du système, de façon à ce que le système puisse se consacrer aux tâches qui lui sont confiées sans toutefois mettre en péril sa propre sécurité. Un de ces outils pouvant être employé pour augmenter la sécurisation d'un système FreeBSD sont les environnements _jail_. Les environnements jail ont été introduits sous FreeBSD 4.X par {phk}, mais ils ont été fortement améliorés sous FreeBSD 5.X pour en faire des sous-systèmes flexibles et puissants. Des développements sont toujours en cours pour l'amélioration de leur utilité, performances, fiabilité et sécurité. [[jails-what]] === Qu'est-ce qu'un environnement jail? Les systèmes BSD disposent de l'environnement man:chroot[2] depuis l'époque de 4.2BSD. L'utilitaire man:chroot[8] peut être employé pour changer le répertoire racine d'un ensemble de processus, créant ainsi un environnement sécurisé et séparé du reste du système. Les processus créés dans l'environnement chrooté ne peuvent accéder aux fichiers et aux ressources extérieures à cet environnement. Pour cette raison, si un attaquant compromet un service tournant dans un environnement chrooté, cela ne devrait pas lui permettre de compromettre l'intégralité du système. L'utilitaire man:chroot[8] est parfait pour des tâches simples qui ne demandent pas trop de flexibilité ou de fonctionnalités avancées et complexes. Depuis l'apparition du concept d'environnement chrooté, de nombreuses manières de s'échapper de ces environnements ont été découvertes, et bien que cela ait été corrigé dans les versions récentes du noyau FreeBSD, il est clair que l'environnement man:chroot[2] n'est pas la solution idéale pour la sécurisation des services. Un nouveau sous-système devait être implémenté. Ceci est une des raisons principales à l'origine du développement de l'environnement _jail_. Les environnements jail améliorent de plusieurs manières le concept d'environnement man:chroot[2]. Dans un environnement man:chroot[2] traditionnel, les processus ne sont limités que dans la partie du système de fichiers à laquelle ils ont accès. Le reste des ressources système (comme l'ensemble des utilisateurs système, les processus en cours d'exécution, ou le réseau) est partagé par les processus de l'environnement chrooté et les processus du système hôte. L'environnement jail étend ce modèle en virtualisant non seulement l'accès au système de fichiers mais également l'ensemble des utilisateurs, la partie réseau du noyau FreeBSD et quelques autres éléments du système. Un ensemble plus complet de contrôles fins pour optimiser l'accès à un environnement jail est décrit dans la <>. Un environnement jail est caractérisé par quatre éléments: * Une arborescence de répertoires - le point d'accès à l'environnement jail. Une fois à l'intérieur de l'environnement jail, un processus ne peut s'échapper hors de cette arborescence. Les traditionnels problèmes de sécurité qui grèvent l'architecture man:chroot[2] d'origine n'affecteront pas les environnements jail FreeBSD. * Un nom de machine - le nom de machine qui sera utilisé à l'intérieur de l'environnement jail. Les environnements jails sont principalement utilisés pour l'hébergement de services réseaux, par conséquent choisir un nom évocateur pour chaque environnement peut être d'une grande aide pour l'administrateur système. * Une adresse IP - elle sera assignée à l'environnement jail et ne peut, en aucun cas, être modifiée pendant toute la durée de vie de l'environnement. L'adresse IP d'un environnement jail est en général un alias d'une interface réseau existante, mais cela n'est pas forcément nécessaire. * Une commande - le chemin d'accès d'un exécutable à exécuter à l'intérieur de l'environnement jail. Il est relatif au répertoire racine de l'environnement jail, et peut beaucoup varier, en fonction du type d'environnement jail mis en oeuvre. En dehors de cela les environnements jail peuvent avoir leur propre ensemble d'utilisateurs et leur propre utilisateur `root`. Naturellement les pouvoirs de l'utilisateur `root` sont limités à l'environnement jail et, du point de vue du système hôte, l'utilisateur `root` de l'environnement jail n'est pas un utilisateur omnipotent. De plus, l'utilisateur `root` d'un environnement jail n'est pas autorisé à effectuer des opérations critiques au niveau du système en dehors de son environnement man:jail[8]. Plus d'information au sujet des possibilités et des restrictions de l'utilisateur `root` sera donnée dans la <> ci-après. [[jails-build]] == Création et contrôle de l'environnement jail Certains administrateurs divisent les environnements jail en deux catégories: les environnements jails "complets", qui ressemblent à un véritable système FreeBSD, et les environnements jails de "service", qui sont dédiés à une application ou un seul service, et tournant éventuellement avec des privilèges. Cette séparation est juste conceptuelle et n'affecte pas la création de l'environnement jail. La page de manuel man:jail[8] est très claire quant à la procédure de création d'un environnement jail: [source,shell] .... # setenv D /here/is/the/jail # mkdir -p $D <.> # cd /usr/src # make world DESTDIR=$D <.> # cd etc/ [9] # make distribution DESTDIR=$D <.> # mount_devfs devfs $D/dev <.> .... <.> Sélectionner un emplacement pour l'environnement est le meilleur point de départ. C'est l'endroit où l'environnement jail se trouvera dans le système de fichiers de la machine hôte. Un bon choix peut être [.filename]#/usr/jail/jailname#, où _jailname_ est le nom de machine identifiant l'environnement jail. Le système de fichiers [.filename]#/usr/# dispose généralement de suffisamment d'espace pour le système de fichiers de l'environnement jail, qui est pour les environnements "complets", essentiellement, une copie de chaque fichier présent dans une installation par défaut du système de base de FreeBSD. <.> Cette commande peuplera l'arborescence du répertoire choisi comme emplacement pour l'environnement jail avec les binaires, les bibliothèques, les pages de manuel, etc. nécessaires. Tout sera fait selon le style FreeBSD habituel - en premier lieu tout est compilé, puis ensuite installé à l'emplacement voulu. <.> La cible `distribution` pour make installe tous les fichiers de configuration nécessaires. Ou pour faire simple, cette commande installe tous les fichiers installables du répertoire [.filename]#/usr/src/etc/# vers le répertoire [.filename]#/etc# de l'environnement jail: [.filename]#$D/etc/#. <.> Le montage du système de fichiers man:devfs[8] à l'intérieur d'un environnement jail n'est pas requis. Cependant, toutes, ou presque toutes les applications nécessitent l'accès à au moins un périphérique, en fonction du rôle de l'application. Il est vraiment important de contrôler l'accès aux périphériques depuis l'intérieur d'un environnement jail, comme un mauvais paramétrage pourrait permettre à quelqu'un de malintentionné de faire de "mauvaises" choses dans l'environnement jail. Le contrôle sur man:devfs[8] est géré par l'intermédiaire d'un ensemble de règles qui est décrit dans les pages de manuel man:devfs[8] et man:devfs.conf[5]. Une fois l'environnement jail installé, il peut être lancé en employant l'utilitaire man:jail[8]. Cet outil requiert obligatoirement quatre arguments qui sont décrits dans la <>. D'autres arguments peuvent également être utilisés, pour par exemple exécuter le processus avec les droits d'un utilisateur particulier. L'argument `_command_` dépend du type d'environnement; pour un _système virtuel_, [.filename]#/etc/rc# est un bon choix puisque la séquence de démarrage d'un véritable système FreeBSD sera dupliquée. Pour un environnement jail de type _service_, cela dépendra du service ou de l'application qui sera exécuté dans l'environnement jail. Les environnements jails sont souvent lancés au démarrage de la machine et le système [.filename]#rc# de FreeBSD propose une méthode simple pour cela. [.procedure] ==== . Une liste des environnements jail autorisés à être lancés au démarrage du système devrait être ajoutée au fichier man:rc.conf[5]: + [.programlisting] .... jail_enable="YES" # Utiliser NO pour désactiver le lancement des environnements jail jail_list="www" # Liste des noms des environnements jail séparés par une espace .... . Pour chaque environnement listé dans `jail_list`, un ensemble de paramètres man:rc.conf[5], qui décrivent l'environnement jail, devrait être ajouté: + [.programlisting] .... jail_www_rootdir="/usr/jail/www" # le répertoire racine de l'environnement jail jail_www_hostname="www.example.org" # le nom de machine de l'environnement jail jail_www_ip="192.168.0.10" # son adresse IP jail_www_devfs_enable="YES" # monter devfs dans l'environnement jail jail_www_devfs_ruleset="www_ruleset" # les règles devfs à appliquer à l'environnement jail .... + Le démarrage par défaut des environnements jails, configuré dans man:rc.conf[5], exécutera la procédure [.filename]#/etc/rc# de l'environnement jail, ce qui suppose que l'environnement est un système virtuel complet. Pour les environnements jail de service, la commande de démarrage par défaut de l'environnement devrait être modifiée en configurant correctement l'option `jail__jailname__exec_start`. + [NOTE] ====== Pour une liste complète des options disponibles, veuillez consulter la page de manuel man:rc.conf[5]. ====== ==== La procedure [.filename]#/etc/rc.d/jail# peut être utilisée pour démarrer ou arrêter un environnement jail à la main si une entrée pour l'environnement existe dans le fichier [.filename]#rc.conf#: [source,shell] .... # /etc/rc.d/jail start www # /etc/rc.d/jail stop www .... Il n'existe pas pour le moment de méthode propre pour arrêter un environnement man:jail[8]. C'est dû au fait que les commandes normalement employées pour arrêter proprement un système ne peuvent être utilisées à l'intérieur d'un environnement jail. La meilleur façon d'arrêter un environnement jail est de lancer la commande suivante à l'intérieur de l'environnement ou en utilisant le programme man:jexec[8] depuis l'extérieur de l'environnement: [source,shell] .... # sh /etc/rc.shutdown .... Plus d'information à ce sujet peut être trouvé dans la page de manuel de man:jail[8]. [[jails-tuning]] == Optimisation et administration Il existe plusieurs options qui peuvent être configurées pour n'importe quel environnement jail, et de nombreuses manières de combiner un système FreeBSD hôte avec des environnements jail pour donner naissance à des applications haut-niveau. Cette section présente: * Certaines des options disponibles pour l'optimisation du fonctionnement et des restrictions de sécurité implémentées par une installation jail. * Des applications de haut niveau pour la gestion des environnements jail, qui sont disponibles dans le catalogue des logiciels portés, et peuvent être utilisées pour implémenter des environnements jail complets. [[jails-tuning-utilities]] === Outils systèmes pour l'optimisation d'un environnement jail sous FreeBSD L'optimisation de la configuration d'un environnement jail se fait principalement par le paramétrage de variables man:sysctl[8]. Une sous-catégorie spécifique de man:sysctl[8] existe pour toutes les options pertinentes: la hiérarchie `security.jail.*` d'options du noyau FreeBSD. Ci-dessous est donnée une liste des principales variables relatives aux environnements jail avec leur valeur par défaut. Leurs noms sont explicites, mais pour plus d'information, veuillez vous référer aux pages de manuel man:jail[8] et man:sysctl[8]. * `security.jail.set_hostname_allowed: 1` * `security.jail.socket_unixiproute_only: 1` * `security.jail.sysvipc_allowed: 0` * `security.jail.enforce_statfs: 2` * `security.jail.allow_raw_sockets: 0` * `security.jail.chflags_allowed: 0` * `security.jail.jailed: 0` Ces variables peuvent être utilisées par l'administrateur du _système hôte_ pour ajouter ou retirer certaines limitations imposées par défaut à l'utilisateur `root`. Notez que certaines limitations ne peuvent être retirées. L'utilisateur `root` n'est pas autorisé à monter ou démonter des systèmes de fichiers à partir d'un environnement man:jail[8]. L'utilisateur `root` d'un environnement jail ne peut charger ou modifier des règles man:devfs[8], paramétrer des règles de pare-feu, ou effectuer des tâches d'administration qui nécessitent la modification de données du noyau, comme le paramétrage du niveau de sécurité `securelevel` du noyau. Le système de base de FreeBSD contient un ensemble d'outils basiques pour afficher les informations au sujet des environnements jail actifs, pour s'attacher à un environnement jail pour lancer des commandes d'administration. Les commandes man:jls[8] et man:jexec[8] font partie du système de base de FreeBSD et peuvent être utilisées pour effectuer les tâches simples suivantes: * Afficher une liste des environnements jail actifs et leur identifiant (JID), leur adresse IP, leur nom de machine et leur emplacement. * S'attacher à un environnement jail actif, à partir de son système hôte, et exécuter une commande à l'intérieur de l'environnement ou effectuer des tâches d'administration à l'intérieur de environnement lui-même. C'est tout particulièrement utile quand l'utilisateur `root` veut arrêter proprement un environnement. L'utilitaire man:jexec[8] peut également être employé pour lancer un interpréteur de commandes dans un environnement jail pour faire de l'administration; par exemple: + [source,shell] .... # jexec 1 tcsh .... [[jails-tuning-admintools]] === Outils d'administration haut niveau du catalogue des logiciels portés de FreeBSD Parmi les nombreux utilitaires tierce-partie pour l'administration des environnements jail, un des plus complet et utile est package:sysutils/jailutils[]. C'est un ensemble de petites applications qui aident à la gestion des environnements man:jail[8]. Veuillez consulter sa page Web pour plus d'information. diff --git a/documentation/content/fr/books/handbook/mirrors/_index.adoc b/documentation/content/fr/books/handbook/mirrors/_index.adoc index 3c03c3785e..43172f564b 100644 --- a/documentation/content/fr/books/handbook/mirrors/_index.adoc +++ b/documentation/content/fr/books/handbook/mirrors/_index.adoc @@ -1,1708 +1,1708 @@ --- title: Annexe A. Se procurer FreeBSD part: Partie V. Annexes prev: books/handbook/partv next: books/handbook/bibliography --- [appendix] [[mirrors]] = Se procurer FreeBSD :doctype: book :icons: font :sectnums: :sectnumlevels: 6 :source-highlighter: rouge :experimental: :skip-front-matter: :toc-title: Table des matières :table-caption: Tableau :example-caption: Exemple :xrefstyle: basic :relfileprefix: ../ :outfilesuffix: :sectnumoffset: A include::shared/mirrors.adoc[] include::shared/authors.adoc[] include::shared/releases.adoc[] include::shared/fr/mailing-lists.adoc[] include::shared/fr/teams.adoc[] include::shared/fr/urls.adoc[] [[mirrors-cdrom]] == Editeurs de CD-ROMs et DVDs === Produits vendus en boîte Des versions en boîte de FreeBSD sont disponibles (CDs de FreeBSD, logiciels supplémentaires, et documentation papier) auprès de plusieurs revendeurs: * CompUSA + WWW: http://www.compusa.com/ * Frys Electronics + WWW: http://www.frys.com/ === CDs et DVDs Les CDs et DVDs de FreeBSD 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: + WWW: http://www.bsdmall.com/ * BSD-Systems + Email: + WWW: http://www.bsd-systems.co.uk * FreeBSD Mall, Inc. + 3623 Sanford Street + Concord, CA 94520-1405 + USA + Phone: +1 925 240-6652 + Fax: +1 925 674-0821 + Email: + WWW: http://www.freebsdmall.com/ * Dr. Hinner EDV + St. Augustinus-Str. 10 + D-81825 München + Allemagne + Phone: (089) 428 419 + WWW: http://www.hinner.de/linux/freebsd.html * Ikarios + 22-24 rue Voltaire + 92000 Nanterre + France + WWW: http://ikarios.com/form/#freebsd * JMC Software + Ireland + Phone: 353 1 6291282 + WWW: http://www.thelinuxmall.com * Linux CD Mall + Private Bag MBE N348 + Auckland 1030 + New Zealand + Phone: +64 21 866529 + WWW: http://www.linuxcdmall.co.nz/ * The Linux Emporium + Hilliard House, Lester Way + Wallingford + OX10 9TA + Royaume-Uni + Phone: +44 1491 837010 + Fax: +44 1491 837016 + WWW: http://www.linuxemporium.co.uk/products/freebsd/ * Linux+ DVD Magazine + Lewartowskiego 6 + Warsaw + 00-190 + Poland + Phone: +48 22 860 18 18 + Email: + WWW: http://www.lpmagazine.org/ * Linux System Labs Australie + 21 Ray Drive + Balwyn North + VIC - 3104 + Australie + Phone: +61 3 9857 5918 + Fax: +61 3 9857 8974 + WWW: http://www.lsl.com.au * LinuxCenter.Ru + Galernaya Street, 55 + Saint-Petersburg + 190000 + Russia + Phone: +7-812-3125208 + Email: + WWW: http://linuxcenter.ru/freebsd === Distributeurs Si vous êtes un revendeur et désirez vendre des CDROMs de FreeBSD, 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: + WWW: http://www.cylogistics.com/ * Ingram Micro + 1600 E. St. Andrew Place + Santa Ana, CA 92705-4926 + USA + Phone: 1 (800) 456-8000 + WWW: http://www.ingrammicro.com/ * Kudzu, LLC + 7375 Washington Ave. S. + Edina, MN 55439 + USA + Phone: +1 952 947-0822 + Fax: +1 952 947-0876 + Email: * Navarre Corp + 7400 49th Ave South + New Hope, MN 55428 + USA + Phone: +1 763 535-8333 + Fax: +1 763 535-0341 + WWW: http://www.navarre.com/ [[mirrors-ftp]] == Sites FTP Les sources officielles de FreeBSD sont disponibles via FTP anonyme à partir d'un ensemble de sites miroir. Le site link:ftp://ftp.FreeBSD.org/pub/FreeBSD/[ftp://ftp.FreeBSD.org/pub/FreeBSD/] 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 http://mirrorlist.FreeBSD.org/[base de données des sites miroir FreeBSD] 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, FreeBSD est disponible via FTP anonyme à partir des sites miroir ci-dessous. Si vous décidez de vous procurer FreeBSD 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 FreeBSD (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 FreeBSD. 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. <>, <>, <>, <>, <>, <>, <>, <>, <>, <>, <>, <>, <>, <>, <>, <>, <>, <>, <>, <>, <>, <>, <>, <>, <>, <>, <>, <>, <>, <>, <>, <>, <>, <>. (as of UTC) [[central]] *{central}* {central-ftp} (ftp / ftpv6 / {central-http} / {central-httpv6}) [[primary]] *{mirrors-primary}* In case of problems, please contact the hostmaster `<{mirrors-primary-email}>` for this domain. * {mirrors-primary-ftp1} (ftp) * {mirrors-primary-ftp2} (ftp) * {mirrors-primary-ftp3} (ftp) * {mirrors-primary-ftp4} (ftp / ftpv6 / {mirrors-primary-ftp4-http} / {mirrors-primary-ftp4-httpv6}) * {mirrors-primary-ftp5} (ftp) * {mirrors-primary-ftp6} (ftp) * {mirrors-primary-ftp7} (ftp) * {mirrors-primary-ftp10} (ftp / ftpv6 / {mirrors-primary-ftp10-http} / {mirrors-primary-ftp10-httpv6}) * {mirrors-primary-ftp11} (ftp) * {mirrors-primary-ftp13} (ftp) * {mirrors-primary-ftp14} (ftp / {mirrors-primary-ftp14-http}) [[armenia]] *{mirrors-armenia}* In case of problems, please contact the hostmaster `<{mirrors-armenia-email}>` for this domain. * {mirrors-armenia-ftp} (ftp / {mirrors-armenia-ftp-http} / rsync) [[australia]] *{mirrors-australia}* In case of problems, please contact the hostmaster `<{mirrors-australia-email}>` for this domain. * {mirrors-australia-ftp} (ftp) * {mirrors-australia-ftp2} (ftp) * {mirrors-australia-ftp3} (ftp) [[austria]] *{mirrors-austria}* In case of problems, please contact the hostmaster `<{mirrors-austria-email}>` for this domain. * {mirrors-austria-ftp} (ftp / ftpv6 / {mirrors-austria-ftp-http} / {mirrors-austria-ftp-httpv6}) [[brazil]] *{mirrors-brazil}* In case of problems, please contact the hostmaster `<{mirrors-brazil-email}>` for this domain. * {mirrors-brazil-ftp2} (ftp / {mirrors-brazil-ftp2-http}) * {mirrors-brazil-ftp3} (ftp / rsync) * {mirrors-brazil-ftp4} (ftp) [[czech-republic]] *{mirrors-czech}* In case of problems, please contact the hostmaster `<{mirrors-czech-email}>` for this domain. * {mirrors-czech-ftp} (ftp / {mirrors-czech-ftpv6} / {mirrors-czech-ftp-http} / {mirrors-czech-ftp-httpv6} / rsync / rsyncv6) * {mirrors-czech-ftp2} (ftp / {mirrors-czech-ftp2-http}) [[denmark]] *{mirrors-denmark}* In case of problems, please contact the hostmaster `<{mirrors-denmark-email}>` for this domain. * {mirrors-denmark-ftp} (ftp / ftpv6 / {mirrors-denmark-ftp-http} / {mirrors-denmark-ftp-httpv6}) [[estonia]] *{mirrors-estonia}* In case of problems, please contact the hostmaster `<{mirrors-estonia-email}>` for this domain. * {mirrors-estonia-ftp} (ftp) [[finland]] *{mirrors-finland}* In case of problems, please contact the hostmaster `<{mirrors-finland-email}>` for this domain. * {mirrors-finland-ftp} (ftp) [[france]] *{mirrors-france}* In case of problems, please contact the hostmaster `<{mirrors-france-email}>` for this domain. * {mirrors-france-ftp} (ftp) * {mirrors-france-ftp1} (ftp / {mirrors-france-ftp1-http} / rsync) * {mirrors-france-ftp3} (ftp) * {mirrors-france-ftp5} (ftp) * {mirrors-france-ftp6} (ftp / rsync) * {mirrors-france-ftp7} (ftp) * {mirrors-france-ftp8} (ftp) [[germany]] *{mirrors-germany}* In case of problems, please contact the hostmaster `<{mirrors-germany-email}>` for this domain. * ftp://ftp.de.FreeBSD.org/pub/FreeBSD/ (ftp) * ftp://ftp1.de.FreeBSD.org/freebsd/ (ftp / http://www1.de.FreeBSD.org/freebsd/ / rsync://rsync3.de.FreeBSD.org/freebsd/) * ftp://ftp2.de.FreeBSD.org/pub/FreeBSD/ (ftp / http://ftp2.de.FreeBSD.org/pub/FreeBSD/ / rsync) * ftp://ftp4.de.FreeBSD.org/FreeBSD/ (ftp / http://ftp4.de.FreeBSD.org/pub/FreeBSD/) * ftp://ftp5.de.FreeBSD.org/pub/FreeBSD/ (ftp) * ftp://ftp7.de.FreeBSD.org/pub/FreeBSD/ (ftp / http://ftp7.de.FreeBSD.org/pub/FreeBSD/) * ftp://ftp8.de.FreeBSD.org/pub/FreeBSD/ (ftp) [[greece]] *{mirrors-greece}* In case of problems, please contact the hostmaster `<{mirrors-greece-email}>` for this domain. * {mirrors-greece-ftp} (ftp) * {mirrors-greece-ftp2} (ftp) [[hong-kong]] *{mirrors-hongkong}* {mirrors-hongkong-ftp} (ftp) [[ireland]] *{mirrors-ireland}* In case of problems, please contact the hostmaster `<{mirrors-ireland-email}>` for this domain. * {mirrors-ireland-ftp} (ftp / rsync) [[japan]] *{mirrors-japan}* In case of problems, please contact the hostmaster `<{mirrors-japan-email}>` for this domain. * {mirrors-japan-ftp} (ftp) * {mirrors-japan-ftp2} (ftp) * {mirrors-japan-ftp3} (ftp) * {mirrors-japan-ftp4} (ftp) * {mirrors-japan-ftp5} (ftp) * {mirrors-japan-ftp6} (ftp) * {mirrors-japan-ftp7} (ftp) * {mirrors-japan-ftp8} (ftp) * {mirrors-japan-ftp9} (ftp) [[korea]] *{mirrors-korea}* In case of problems, please contact the hostmaster `<{mirrors-korea-email}>` for this domain. * {mirrors-korea-ftp} (ftp / rsync) * {mirrors-korea-ftp2} (ftp / {mirrors-korea-ftp2-http}) [[latvia]] *{mirrors-latvia}* In case of problems, please contact the hostmaster `<{mirrors-latvia-email}>` for this domain. * {mirrors-latvia-ftp} (ftp / {mirrors-latvia-ftp-http}) [[lithuania]] *{mirrors-lithuania}* In case of problems, please contact the hostmaster `<{mirrors-lithuania-email}>` for this domain. * {mirrors-lithuania-ftp} (ftp / {mirrors-lithuania-ftp-http}) [[netherlands]] *{mirrors-netherlands}* In case of problems, please contact the hostmaster `<{mirrors-netherlands-email}>` for this domain. * {mirrors-netherlands-ftp} (ftp / {mirrors-netherlands-ftp-http} / rsync) * {mirrors-netherlands-ftp2} (ftp) [[new-zealand]] *{mirrors-new-zealand}* * {mirrors-new-zealand-ftp} (ftp / {mirrors-new-zealand-ftp-http}) [[norway]] *{mirrors-norway}* In case of problems, please contact the hostmaster `<{mirrors-norway-email}>` for this domain. * {mirrors-norway-ftp} (ftp / rsync) [[poland]] *{mirrors-poland}* In case of problems, please contact the hostmaster `<{mirrors-poland-email}>` for this domain. * {mirrors-poland-ftp} (ftp) * ftp2.pl.FreeBSD.org [[russia]] *{mirrors-russia}* In case of problems, please contact the hostmaster `<{mirrors-russia-email}>` for this domain. * {mirrors-russia-ftp} (ftp / {mirrors-russia-ftp-http} / rsync) * {mirrors-russia-ftp2} (ftp / {mirrors-russia-ftp2-http} / rsync) * {mirrors-russia-ftp5} (ftp / {mirrors-russia-ftp5-http} / rsync) * {mirrors-russia-ftp6} (ftp) [[saudi-arabia]] *{mirrors-saudi-arabia}* In case of problems, please contact the hostmaster `<{mirrors-saudi-arabia-email}>` for this domain. * {mirrors-saudi-arabia-ftp} (ftp) [[slovenia]] *{mirrors-slovenia}* In case of problems, please contact the hostmaster `<{mirrors-slovenia-email}>` for this domain. * {mirrors-slovenia-ftp} (ftp) [[south-africa]] *{mirrors-south-africa}* In case of problems, please contact the hostmaster `<{mirrors-south-africa-email}>` for this domain. * {mirrors-south-africa-ftp} (ftp) * {mirrors-south-africa-ftp2} (ftp) * {mirrors-south-africa-ftp4} (ftp) [[spain]] *{mirrors-spain}* In case of problems, please contact the hostmaster `<{mirrors-spain-email}>` for this domain. * {mirrors-spain-ftp} (ftp / {mirrors-spain-ftp-http}) * {mirrors-spain-ftp3} (ftp) [[sweden]] *{mirrors-sweden}* In case of problems, please contact the hostmaster `<{mirrors-sweden-email}>` for this domain. * {mirrors-sweden-ftp} (ftp) * {mirrors-sweden-ftp2} (ftp / {mirrors-sweden-ftp2-rsync}) * {mirrors-sweden-ftp3} (ftp) * {mirrors-sweden-ftp4} (ftp / {mirrors-sweden-ftp4v6} / {mirrors-sweden-ftp4-http} / {mirrors-sweden-ftp4-httpv6} / {mirrors-sweden-ftp4-rsync} / {mirrors-sweden-ftp4-rsyncv6}) * {mirrors-sweden-ftp6} (ftp / {mirrors-sweden-ftp6-http}) [[switzerland]] *{mirrors-switzerland}* In case of problems, please contact the hostmaster `<{mirrors-switzerland-email}>` for this domain. * {mirrors-switzerland-ftp} (ftp / {mirrors-switzerland-ftp-http}) [[taiwan]] *{mirrors-taiwan}* In case of problems, please contact the hostmaster `<{mirrors-taiwan-email}>` for this domain. * {mirrors-taiwan-ftp} (ftp / {mirrors-taiwan-ftpv6} / rsync / rsyncv6) * {mirrors-taiwan-ftp2} (ftp / {mirrors-taiwan-ftp2v6} / {mirrors-taiwan-ftp2-http} / {mirrors-taiwan-ftp2-httpv6} / rsync / rsyncv6) * {mirrors-taiwan-ftp4} (ftp) * {mirrors-taiwan-ftp5} (ftp) * {mirrors-taiwan-ftp6} (ftp / {mirrors-taiwan-ftp6v6} / rsync) * {mirrors-taiwan-ftp7} (ftp) * {mirrors-taiwan-ftp8} (ftp) * {mirrors-taiwan-ftp11} (ftp / {mirrors-taiwan-ftp11-http}) * {mirrors-taiwan-ftp12} (ftp) * {mirrors-taiwan-ftp13} (ftp) * {mirrors-taiwan-ftp14} (ftp) * {mirrors-taiwan-ftp15} (ftp) [[ukraine]] *{mirrors-ukraine}* * {mirrors-ukraine-ftp} (ftp / {mirrors-ukraine-ftp-http}) * {mirrors-ukraine-ftp6} (ftp / {mirrors-ukraine-ftp6-http} / {mirrors-ukraine-ftp6-rsync}) * {mirrors-ukraine-ftp7} (ftp) [[uk]] *{mirrors-uk}* In case of problems, please contact the hostmaster `<{mirrors-uk-email}>` for this domain. * {mirrors-uk-ftp} (ftp) * {mirrors-uk-ftp2} (ftp / {mirrors-uk-ftp2-rsync}) * {mirrors-uk-ftp3} (ftp) * {mirrors-uk-ftp4} (ftp) * {mirrors-uk-ftp5} (ftp) [[usa]] *{mirrors-us}* In case of problems, please contact the hostmaster `<{mirrors-us-email}>` for this domain. * {mirrors-us-ftp} (ftp) * {mirrors-us-ftp2} (ftp) * {mirrors-us-ftp3} (ftp) * {mirrors-us-ftp4} (ftp / ftpv6 / {mirrors-us-ftp4-http} / {mirrors-us-ftp4-httpv6}) * {mirrors-us-ftp5} (ftp) * {mirrors-us-ftp6} (ftp) * {mirrors-us-ftp8} (ftp) * {mirrors-us-ftp10} (ftp) * {mirrors-us-ftp11} (ftp) * {mirrors-us-ftp13} (ftp / {mirrors-us-ftp13-http} / rsync) * {mirrors-us-ftp14} (ftp / {mirrors-us-ftp14-http}) * {mirrors-us-ftp15} (ftp) [[anoncvs]] == CVS anonyme [[anoncvs-intro]] === Introduction CVS anonyme (ou comme on l'appelle également, _anoncvs_) est une de fonctionnalité des utilitaires CVS livrés avec FreeBSD qui permet la synchronisation avec un référentiel CVS sur une machine distante. Elle permet, entre autres, aux utilisateurs de FreeBSD, de lire, sans autorisation particulière, les archives disponibles sur l'un des serveurs anoncvs officiels du projet FreeBSD. 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. [NOTE] ==== La commande `cvs login`, stocke les mots de passe utilisés pour authentification sur le serveur CVS dans un fichier appelé [.filename]#.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 [.filename]#.cvspass# vide, et relancez la commande. ==== Bien que l'on puisse aussi dire que <> 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 FreeBSD, alors vous n'avez d'autre choix que d'utiliser CVSup. [[anoncvs-usage]] === 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 FreeBSD. 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)) + [.programlisting] .... 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) + [.programlisting] .... 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) + [.programlisting] .... 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 FreeBSD ayant existé (ou, dans certains cas, à venir), vous devez maîtriser l'indicateur de révision (`-r`) de man:cvs[1] et connaître les valeurs qu'il peut prendre dans le référentiel du projet FreeBSD. 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 `-D date`. 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]): [example] ==== [source,shell] .... % setenv CVSROOT :pserver:anoncvs@anoncvs.tw.FreeBSD.org:/home/ncvs % cvs login At the prompt, enter any word for « password ». % cvs co ls .... ==== .Utiliser SSH pour récupérer l'arborescence [.filename]#src/#: [example] ==== [source,shell] .... % 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]: [example] ==== [source,shell] .... % setenv CVSROOT :pserver:anoncvs@anoncvs.tw.FreeBSD.org:/home/ncvs % cvs login At the prompt, enter any word for « password ». % 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 FreeBSD [example] ==== [source,shell] .... % setenv CVSROOT :pserver:anoncvs@anoncvs.tw.FreeBSD.org:/home/ncvs % cvs login At the prompt, enter any word for « password ». % cvs rdiff -u -rRELENG_5_3_0_RELEASE -rRELENG_5_4_0_RELEASE ls .... ==== .Savoir quels autres noms de modules peuvent être utilisés: [example] ==== [source,shell] .... % setenv CVSROOT :pserver:anoncvs@anoncvs.tw.FreeBSD.org:/home/ncvs % cvs login At the prompt, enter any word for « password ». % cvs co modules % more modules/modules .... ==== === Autres ressources Les ressources supplémentaires suivantes peuvent être utiles pour apprendre à se servir de CVS: * http://www.csc.calpoly.edu/~dbutler/tutorials/winter96/cvs/[Guide CVS] de Cal Poly. * http://ximbiot.com/cvs/wiki/[CVS Home], la communauté de développement et de support de CVS. * http://www.FreeBSD.org/cgi/cvsweb.cgi[CVSweb] est l'interface Web pour CVS du projet FreeBSD. [[ctm]] == Utiliser 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 FreeBSD, 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 link:{ctm-users-url}[ctm-users-desc] pour obtenir plus d'informations et si vous souhaitez utiliser CTM pour autre chose. === Pourquoi utiliser CTM? CTM vous procurera un exemplaire local de l'arborescence des sources de FreeBSD. 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 FreeBSD, 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 crossref:cutting-edge[current,Se synchroniser avec la version -CURRENT de FreeBSD]. === Que vous faut-il pour utiliser CTM? 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 FreeBSD depuis la publication de la version 2.0, et se trouve dans [.filename]#/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: link:ftp://ftp.FreeBSD.org/pub/FreeBSD/CTM/[ftp://ftp.FreeBSD.org/pub/FreeBSD/CTM/] ou reportez-vous à la section <>. Allez dans le répertoire vous concernant et commencez par télécharger le fichier [.filename]#README#. Si vous souhaitez récupérer vos deltas par courrier électronique: -Abonnez-vous à l'une des listes de distribution CTM. link:{ctm-cvs-cur-url}[ctm-cvs-cur-desc] comprend toute l'arborescence -CURRENT. {ctm-src-4} 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 {mailman-lists-url} puis cliquez sur la liste à laquelle vous désirez vous abonner. La page devrait contenir toutes les instructions nécessaires à l'abonnement.) +Abonnez-vous à l'une des listes de distribution CTM. link:{ctm-cvs-cur-url}[ctm-cvs-cur-desc] comprend toute l'arborescence -CURRENT. {ctm-src-4} 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 {mailing-lists-url} 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 [.filename]#/etc/aliases# si vous voulez automatiser complètement le processus. Consultez les pages de manuel de `ctm_rmail` pour plus de détails. [NOTE] ==== Quelle que soit la méthode que vous utilisez pour récupérer les deltas CTM, vous devriez vous abonner à la liste de diffusion link:{ctm-announce-url}[ctm-announce-desc]. 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 CTM 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 FreeBSD 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 ([.filename]#src-cur.3210XEmpty.gz# par exemple). La dénomination après le `X` correspond à l'origine de votre "racine" initiale. [.filename]#Empty# est un répertoire vide. La règle est qu'une transition de base à partir de [.filename]#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 [.filename]#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 CTM au quotidien Pour appliquer les deltas, tapez simplement: [source,shell] .... # cd /où/vous/voulez/mettre/les/fichiers # 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 `-c` 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 [.filename]#foo#, il regarde tout d'abord s'il y a un fichier [.filename]#foo.ctm#. Si ce fichier existe, CTM l'utilisera au lieu de [.filename]#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 [.filename]#.ctm#. Vous pouvez ensuite bidouiller tranquillement le code, pendant que CTM maintient à jour le fichier [.filename]#.ctm#. === D'autres options intéressantes de CTM ==== 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 `-l`. 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 `-B fichier_de_sauvegarde`, CTM sauvegarde tous les fichiers que seraient modifiés par delta CTM donné dans [.filename]#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 `-e` et `-x`. Par exemple, pour extraire une version à jour de [.filename]#lib/libc/Makefile# de la série de deltas CTM que vous avez sauvegardé, lancez les commandes: [source,shell] .... # cd /where/ever/you/want/to/extract/it/ # ctm -e '^lib/libc/Makefile' ~ctm/src-xxx.* .... Pour chaque fichier d'un delta CTM, les options `-e` et `-x` 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 `-e` et `-x`. === Perspectives pour CTM 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. [[mirrors-ctm]] === Miroirs 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 link:{ctm-users-url}[ctm-users-desc]. Californie, Bay Area, source officielle:: ** link:ftp://ftp.FreeBSD.org/pub/FreeBSD/development/CTM/[ftp://ftp.FreeBSD.org/pub/FreeBSD/development/CTM/] Afrique du Sud, serveur de sauvegarde pour les anciens deltas:: ** link:ftp://ftp.za.FreeBSD.org/pub/FreeBSD/CTM/[ftp://ftp.za.FreeBSD.org/pub/FreeBSD/CTM/] Taïwan/R.O.C.:: ** link:ftp://ctm.tw.FreeBSD.org/pub/FreeBSD/development/CTM/[ftp://ctm.tw.FreeBSD.org/pub/FreeBSD/development/CTM/] ** link:ftp://ctm2.tw.FreeBSD.org/pub/FreeBSD/development/CTM/[ftp://ctm2.tw.FreeBSD.org/pub/FreeBSD/development/CTM/] ** link:ftp://ctm3.tw.FreeBSD.org/pub/FreeBSD/development/CTM/[ftp://ctm3.tw.FreeBSD.org/pub/FreeBSD/development/CTM/] 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 http://www.alltheweb.com/[alltheweb]. [[cvsup]] == Utiliser CVSup [[cvsup-intro]] === 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 FreeBSD sont archivées sous un référentiel CVS sur une machine centrale de développement en Californie. Grâce à CVSup, les utilisateurs de FreeBSD 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 FreeBSD. En lisant la documentation et les listes de diffusion de FreeBSD, 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 FreeBSD, parce que CVSup est à la fois plus rapide et plus souple. [NOTE] ==== 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 FreeBSD 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 FreeBSD ne disposent pas de man:csup[1] dans leur système de base, mais vous pouvez facilement installer le logiciel porté package: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. ==== [[cvsup-install]] === Installation La méthode la plus simple pour installer CVSup est d'utiliser la version pré-compilée package:net/cvsup[] du crossref:ports[ports,catalogue des logiciels portés] de FreeBSD. Si vous préférez compiler CVSup à partir des sources, vous pouvez directement utiliser le logiciel porté package:net/cvsup[]. Cependant soyez averti: le logiciel porté package: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. [NOTE] ==== Si vous avez l'intention d'utiliser CVSup sur une machine qui ne disposera pas de XFree86(TM) ou Xorg, comme un serveur, assurez-vous que le logiciel porté de n'incluera pas l'interface graphique ("GUI") de CVSup, package:net/cvsup-without-gui[]. ==== Si vous voulez installer csup sous FreeBSD 6.1 et version précédentes, vous pouvez utiliser le paquetage pré-compilé package:net/csup[] du crossref:ports[ports,catalogue des logiciels portés]. Si vous préférez compiler csup à partir des sources, vous pouvez directement utiliser le logiciel porté package:net/csup[]. [[cvsup-config]] === Configuration de CVSup Le fonctionnement de CVSup est contrôlé par un fichier de configuration appelé [.filename]#supfile#. Il y a des exemples de fichiers [.filename]#supfile# dans le répertoire link:file://localhost/usr/shared/examples/cvsup/[/usr/shared/examples/cvsup/]. Les informations du fichier [.filename]#supfile# répondent pour CVSup aux question suivantes: * <> * <> * <> * <> * <> Dans les sections suivantes, nous allons renseigner un fichier [.filename]#supfile# typique en répondant une à une à chacune de ces questions. Commençons par décrire la structure d'ensemble d'un fichier [.filename]#supfile#. Un fichier [.filename]#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 [.filename]#supfile# spécifie en général plus d'un catalogue à télécharger. Une façon de construire un fichier [.filename]#supfile# consiste à préciser explicitement tous les champs nécessaires pour chaque catalogue. Cependant, cela tend à donner des fichiers [.filename]#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 [.filename]#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 [.filename]#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 [.filename]#supfile#, par de nouvelles lignes `*default`. Sachant cela, nous allons maintenant mettre au point un fichier [.filename]#supfile# pour télécharger et mettre à jour l'arborescence principale de crossref:cutting-edge[current,FreeBSD-CURRENT]. * [[cvsup-config-files]]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 <>. Dans notre exemple, nous souhaitons recevoir toute l'arborescence principale du système FreeBSD. Il existe un unique gros catalogue `src-all` qui correspond à tout cela. Pour commencer à renseigner notre fichier [.filename]#supfile#, nous listons simplement les catalogues, un par ligne (dans notre cas, une seule ligne): + [.programlisting] .... src-all .... * [[cvsup-config-vers]]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 `date=`. + [WARNING] ==== 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. + [WARNING] ==== 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 `date=`. La page de manuel de man:cvsup[1] vous expliquent comment le faire. + Dans notre exemple, nous désirons obtenir FreeBSD-CURRENT. Nous ajoutons alors la ligne suivante au début de notre fichier [.filename]#supfile#: + [.programlisting] .... *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. * [[cvsup-config-where]]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 <> 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 FreeBSD `cvsup99.FreeBSD.org`: + [.programlisting] .... *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 `-h _nom_de_machine_`. * [[cvsup-config-dest]]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, [.filename]#/usr/src#. Le répertoire [.filename]#src# est déjà implicitement défini dans les catalogues que nous avons choisis de télécharger, voici donc la définition correcte: + [.programlisting] .... *default prefix=/usr .... * [[cvsup-config-status]]Où `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, [.filename]#/var/db#: + [.programlisting] .... *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 [.filename]#supfile#: + Il y a une autre ligne d'instruction qui doit normalement figurer dans le fichier [.filename]#supfile#: + [.programlisting] .... *default release=cvs delete use-rel-suffix compress .... + `release=cvs` dit au serveur d'obtenir les informations du référentiel principal de FreeBSD. 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 [.filename]#supfile# de notre exemple en entier: + [.programlisting] .... *default tag=. *default host=cvsup99.FreeBSD.org *default prefix=/usr *default base=/var/db *default release=cvs delete use-rel-suffix compress src-all .... [[cvsup-refuse-file]] ==== Le fichier [.filename]#refuse# 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 [.filename]#doc#, [.filename]#ports#, ou [.filename]#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 [.filename]#doc# et [.filename]#www# ne disposent pas de catalogues spécifiques à chaque langue, vous devez utiliser une des nombreuses fonctions de CVSup: le fichier [.filename]#refuse#. Le fichier [.filename]#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 [.filename]#refuse# peut être trouvé (ou, si vous n'en disposez pas encore d'un, doit être placé) dans [.filename]#base/sup/#. _base_ est défini dans votre [.filename]#supfile#; notre répertoire _base_ est défini en tant que [.filename]#/var/db# ce qui signifie que le fichier [.filename]#refuse# est par défaut [.filename]#/var/db/sup/refuse#. Le fichier [.filename]#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 [.filename]#refuse#: [source,shell] .... 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 http://www.FreeBSD.org/cgi/cvsweb.cgi/[référentiel CVS de FreeBSD]). 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 [.filename]#refuse# et d'autres caractéristiques intéressantes de CVSup, consultez sa page de manuel. === Exécuter CVSup Vous êtes maintenant prêt à essayer de faire une mise à jour. La ligne de commande à utiliser est très simple: [source,shell] .... # cvsup supfile .... où [.filename]#supfile# est bien sûr le nom du fichier [.filename]#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 btn[go] et suivez le déroulement des opérations. Comme, dans cet l'exemple, vous mettez directement à jour votre arborescence [.filename]#/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: [source,shell] .... # mkdir /var/tmp/dest # 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 [.filename]#/usr/src#, mais ne les modifiera pas et n'en supprimera aucun. Les modifications atterriront dans [.filename]#/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 [.filename]#/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`: [source,shell] .... # cvsup -g -L 2 supfile .... L'option `-g` 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`-L 2` dit à CVSup d'afficher le détail de ce qu'il est en train de faire. Il y a trois niveaux de trace, de `-L 0` à `-L 2`. 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]. [[cvsup-collec]] === Catalogue de fichiers CVSup 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 FreeBSD, incluant les logiciels de chiffrement. `distrib release=cvs`::: Les fichiers ayant trait à la distribution et à la mise en place de sites miroir FreeBSD. `doc-all release=cvs`::: Les sources du manuel FreeBSD et d'autres documentations. Cela de comprend pas les fichiers pour le site Web de FreeBSD. `ports-all release=cvs`::: Le catalogue des logiciels portés de FreeBSD. + [[cvsup-collec-pbase-warn]] [IMPORTANT] ==== 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. ==== + [IMPORTANT] ==== Si vous voulez construire votre propre version locale du fichier [.filename]#ports/INDEX#, vous _devez_ accepter le catalogue `ports-all` (l'intégralité du catalogue des logiciels portés). La construction de [.filename]#ports/INDEX# avec une arborescence partielle n'est pas supportée. Consultez la link:{faq}#MAKE-INDEX[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 [.filename]#Mk/# et [.filename]#Tools/# sous-répertoires de la hiérarchie [.filename]#/usr/ports#. + [NOTE] ==== Lisez l'<>: vous devriez _toujours_ mettre à jour ce sous-catalogue, dès que vous mettez à jour une partie du catalogue des logiciels portés de FreeBSD! ==== `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(TM). `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(TM). `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 FreeBSD. `src-all release=cvs`::: Les sources du système FreeBSD, comprenant les logiciels de chiffrement. `src-base release=cvs`:::: Divers fichiers en haut de la hiérarchie [.filename]#/usr/src#. `src-bin release=cvs`:::: Programmes utilisateurs qui peuvent être utiles en mode mono-utilisateur ([.filename]#/usr/src/bin#). `src-cddl release=cvs`:::: Utilitaires et bibliothèques sous licence CDDL ([.filename]#/usr/src/cddl#). `src-contrib release=cvs`:::: Utilitaires et bibliothèques d'origine indépendante du projet FreeBSD, employés à peu près tels quels ([.filename]#/usr/src/contrib#). `src-crypto release=cvs`:::: Utilitaires et bibliothèques pour le chiffrement d'origine indépendante du projet FreeBSD, employés à peu près tels quels ([.filename]#/usr/src/crypto#). `src-eBones release=cvs`:::: Kerberos et DES ([.filename]#/usr/src/eBones#). Non utilisés dans les versions de FreeBSD actuellement publiées. `src-etc release=cvs`:::: Fichiers de configuration du système ([.filename]#/usr/src/etc#). `src-games release=cvs`:::: Jeux ([.filename]#/usr/src/games#). `src-gnu release=cvs`:::: Utilitaires soumis à la licence publique GNU ([.filename]#/usr/src/gnu#). `src-include release=cvs`:::: Fichiers d'entête ([.filename]#/usr/src/include#). `src-kerberos5 release=cvs`:::: Logiciel de sécurité Kerberos5 ([.filename]#/usr/src/kerberos5#). `src-kerberosIV release=cvs`:::: Logiciel de sécurité KerberosIV ([.filename]#/usr/src/kerberosIV#). `src-lib release=cvs`:::: Bibliothèques ([.filename]#/usr/src/lib#). `src-libexec release=cvs`:::: Programmes système normalement exécutés par d'autres programmes ([.filename]#/usr/src/libexec#). `src-release release=cvs`:::: Fichiers nécessaires à la génération d'une version publiable de FreeBSD ([.filename]#/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] ([.filename]#/usr/src/rescue#). `src-sbin release=cvs`:::: Utilitaires système pour le mode mono-utilisateur ([.filename]#/usr/src/sbin#). `src-secure release=cvs`:::: Commandes et bibliothèques pour le chiffrage ([.filename]#/usr/src/secure#). `src-share release=cvs`:::: Fichiers qui peuvent être partagés par plusieurs systèmes ([.filename]#/usr/src/share#). `src-sys release=cvs`:::: Le noyau ([.filename]#/usr/src/sys#). `src-sys-crypto release=cvs`:::: Code du noyau destiné au chiffrement ([.filename]#/usr/src/sys/crypto#). `src-tools release=cvs`:::: Divers outils pour la maintenance de FreeBSD ([.filename]#/usr/src/tools#). `src-usrbin release=cvs`:::: Outils utilisateur ([.filename]#/usr/src/usr.bin#). `src-usrsbin release=cvs`:::: Utilitaires système ([.filename]#/usr/src/usr.sbin#). `www release=cvs`::: Les sources du site WWW de FreeBSD. `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 FreeBSD. `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 http://www.cvsup.org[page Web de CVSup]. La plupart des discussions relatives à l'utilisation de CVSup sous FreeBSD ont lieu sur la {freebsd-hackers}. Les nouvelles versions du logiciel y sont annoncés ainsi que sur la {freebsd-announce}. Pour toutes les questions et rapports de bogues concernant CVSup, consultez la http://www.cvsup.org/faq.html#bugreports[FAQ CVSup]. [[cvsup-mirrors]] === Sites CVSup Des serveurs <> pour FreeBSD fonctionnent aux sites suivants: [[portsnap]] == Utiliser Portsnap [[portsnap-intro]] === Introduction Portsnap est un système de distribution sécurisée du catalogue des logiciels portés de FreeBSD. 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 [.filename]#/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 [.filename]#/var/db/portsnap#. Cette copie compressée est ensuite utilisée pour mettre à jour le catalogue des logiciels portés. [NOTE] ==== Si Portsnap est installé à partir du catalogue des logiciels portés de FreeBSD, alors l'emplacement par défaut pour son instantané compressé sera [.filename]#/usr/local/portsnap# au lieu de [.filename]#/var/db/portsnap#. ==== [[portsnap-install]] === Installation Sous FreeBSD 6.0 et les versions plus récentes, Portsnap fait partie du système de base de FreeBSD. Sous des versions plus anciennes de FreeBSD, il peut être installé à partir du logiciel porté package:ports-mgmt/portsnap[]. [[portsnap-config]] === Configuration de Portsnap L'exécution de Portsnap est contrôlée par le fichier de configuration [.filename]#/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]. [NOTE] ==== Si Portsnap est installé à partir du catalogue des logiciels portés, il utilisera [.filename]#/usr/local/etc/portsnap.conf# comme fichier de configuration au lieu de [.filename]#/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: [source,shell] .... # cd /usr/local/etc cp portsnap.conf.sample portsnap.conf .... ==== === Exécuter Portsnap 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 [.filename]#/var/db/portsnap# (ou [.filename]#/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. [source,shell] .... # 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 [.filename]#/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. [source,shell] .... # portsnap extract .... [NOTE] ==== Dans l'installation par défaut de FreeBSD [.filename]#/usr/ports# n'est pas créé. Si vous utilisez FreeBSD 6.0-RELEASE, ce répertoire doit être créé avant d'utiliser la commande `portsnap`. Sur les versions de FreeBSD 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 [.filename]#/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`: [source,shell] .... # portsnap fetch update .... [NOTE] ==== Des versions anciennes de `portsnap` ne supporte pas cette syntaxe; en cas d'échec, utilisez à la place ceci: [source,shell] .... # portsnap fetch # 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 [.filename]#INDEX# peuvent être mis à jour sans risque, et cela peut être fait en passant l'indicateur `-I` à 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 `-I` ultérieurement pour mettre à jour le reste de l'arborescence). L'ajout de la ligne suivante dans le fichier [.filename]#/etc/crontab# demandera à `portsnap` de mettre à jour son instantané compressé et les fichiers [.filename]#INDEX# du répertoire [.filename]#/usr/ports#, et enverra un courrier électronique si un logiciel porté installé n'est pas à jour: [.programlisting] .... 0 3 * * * root portsnap -I cron update pkg_version -vIL= .... [NOTE] ==== 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. ==== [NOTE] ==== 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`. ==== [[cvs-tags]] == 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 FreeBSD, 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 [.filename]#src/#. Il n'y a pas de branche pour les arborescences [.filename]#ports/#, [.filename]#doc/#, et [.filename]#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 `.`). + [NOTE] ==== 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 FreeBSD-6.X, également connue sous le nom de FreeBSD 6-STABLE. RELENG_6_2:: Branche de publication de la version FreeBSD-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 FreeBSD-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 FreeBSD-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 FreeBSD-5.X, également connue sous le nom de FreeBSD 5-STABLE. RELENG_5_5:: Branche de publication de la version FreeBSD-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 FreeBSD-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 FreeBSD-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 FreeBSD-5.2 et FreeBSD-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 FreeBSD 4-STABLE. RELENG_4_11:: Branche de publication de la version FreeBSD-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 FreeBSD-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 FreeBSD-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 FreeBSD a été publiée. Le processus d'ingénierie des publications est documenté en détails dans les documents link:https://www.FreeBSD.org/releng/[Information sur la publication des versions] et link:{releng}#release-proc/[Processus de publication]. L'arborescence [.filename]#src# utilise des étiquettes commençant par `RELENG_`. Les arborescences [.filename]#ports# et [.filename]#doc# utilisent des étiquettes dont les noms commencent par `RELEASE`. Enfin, l'arborescence [.filename]#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 [[mirrors-afs]] == Sites AFS Il y a des serveurs AFS pour FreeBSD sur les sites suivants: Suède:: Le chemin d'accès au fichiers est [.filename]#/afs/stacken.kth.se/ftp/pub/FreeBSD/# + [.programlisting] .... 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 mailto:ftp@stacken.kth.se[ftp@stacken.kth.se] [[mirrors-rsync]] == Sites rsync Les sites suivants fournissent FreeBSD 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 FreeBSD, ou du référentiel CVS. La suite rsync est disponible sur de nombreux systèmes d'exploitation, et sous FreeBSD, voir le logiciel porté package: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 FreeBSD. ** FreeBSD: un miroir complet du serveur FTP FreeBSD. Allemagne:: rsync://grappa.unix-ag.uni-kl.de/ + Collections disponibles: ** freebsd-cvs: référentiel CVS FreeBSD 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 FreeBSD. Thailande:: rsync://ftp.tw.FreeBSD.org/ + rsync://ftp2.tw.FreeBSD.org/ + rsync://ftp6.tw.FreeBSD.org/ + Collections disponibles: ** FreeBSD: Un miroir complet du serveur FTP FreeBSD. Royaume-Uni:: rsync://rsync.mirror.ac.uk/ + Collections disponibles: ** ftp.freebsd.org: Un miroir complet du serveur FTP FreeBSD. Etats Unis d'Amérique:: rsync://ftp-master.FreeBSD.org/ + Ce serveur ne pourra être utilisé que par les sites miroirs primaires FreeBSD. + Collections disponibles: ** FreeBSD: l'archive principale du serveur FTP FreeBSD. ** acl: la liste principale ACL de FreeBSD. + rsync://ftp13.FreeBSD.org/ + Collections disponibles: + ** FreeBSD: Un miroir complet du serveur FTP FreeBSD. diff --git a/documentation/content/hu/books/handbook/cutting-edge/_index.adoc b/documentation/content/hu/books/handbook/cutting-edge/_index.adoc index 43ffef9b95..1c93d1cb73 100644 --- a/documentation/content/hu/books/handbook/cutting-edge/_index.adoc +++ b/documentation/content/hu/books/handbook/cutting-edge/_index.adoc @@ -1,1479 +1,1479 @@ --- title: 24. Fejezet - A FreeBSD frissítése és frissen tartása part: III. Rész Rendszeradminisztráció prev: books/handbook/l10n next: books/handbook/dtrace --- [[updating-upgrading]] = A FreeBSD frissítése és frissen tartása :doctype: book :toc: macro :toclevels: 1 :icons: font :sectnums: :sectnumlevels: 6 :source-highlighter: rouge :experimental: :skip-front-matter: :toc-title: Tartalom :table-caption: Táblázat :figure-caption: Ábra :example-caption: Példa :xrefstyle: basic :relfileprefix: ../ :outfilesuffix: :sectnumoffset: 24 ifeval::["{backend}" == "html5"] :imagesdir: ../../../images/books/handbook/cutting-edge/ endif::[] ifeval::["{backend}" == "pdf"] :imagesdir: ../../../../static/images/books/handbook/cutting-edge/ endif::[] ifeval::["{backend}" == "epub3"] :imagesdir: ../../../../static/images/books/handbook/cutting-edge/ endif::[] include::shared/authors.adoc[] include::shared/releases.adoc[] include::shared/hu/mailing-lists.adoc[] include::shared/hu/teams.adoc[] include::shared/hu/urls.adoc[] toc::[] [[updating-upgrading-synopsis]] == Áttekintés A FreeBSD a kiadások közt is állandó fejlõdésben van. Vannak felhasználók, akik a hivatalosan kiadott változatokat használják, és vannak, akik szeretik folyamatosan nyomonkövetni a fejlesztéseket. Emellett viszont a hivatalos kiadások esetében szükség lehet bizonyos biztonsági frissítések és kritikus javítások alkalmazására. Függetlenül a pillanatnyilag használt változattól, a FreeBSD alaprendszerében megtalálható minden olyan eszköz, amellyel könnyedén frissíteni tudunk a különbözõ verziók között. Ebben a fejezetben segítünk dönteni a fejlesztõi változat és a kiadások használata között. Továbbá megismerhetjük a rendszer frissítéséhez használható alapvetõ eszközöket. A fejezet elolvasása során megismerjük: * milyen segédprogramokkal tudjuk frissíteni az alaprendszert és a Portgyûjteményt; * hogyan tartsuk naprakészen rendszerünket a freebsd-update, CVSup, CVS vagy CTM használatával; * hogyan vessük össze a telepített rendszerünk aktuális állapotát egy ismert eredeti változattal; * hogyan frissítsük a dokumentációt CVSup vagy dokumentációs portok segítségével. * a két fejlesztõi ág, a FreeBSD-STABLE és a FreeBSD-CURRENT közti különbséget; * a `make buildworld` (stb.) segítségével hogyan fordítsuk és telepítsük újra az egész alaprendszert. A fejezet elolvasásához ajánlott: * a hálózati kapcsolatunk helyes beállítása (crossref:advanced-networking[advanced-networking,Egyéb haladó hálózati témák]); * a külsõ szoftverek telepítésének ismerete (crossref:ports[ports,Alkalmazások telepítése. csomagok és portok]). [NOTE] ==== A fejezetben a FreeBSD forrásainak frissítését a `cvsup` parancs segítségével fogjuk elvégezni. Ehhez telepítsük a package:net/cvsup[] portot vagy csomagot (ha a `cvsup` parancsot nem akarjuk grafikus felületen keresztül használni, akkor elegendõ csak a [.filename]#net/cvsup-without-gui# portot). Ha a FreeBSD 6.2-RELEASE vagy késõbbi változatával rendelkezünk, akkor elegendõ csak az alaprendszer részeként elérhetõ man:csup[1] programot használnunk. ==== [[updating-upgrading-freebsdupdate]] == A FreeBSD frissítése A biztonsági javítások telepítése minden számítógépes szoftver, különösen az operációs rendszerek számára lényeges mozzanat. Nagyon hosszú ideig ez a FreeBSD esetében nem volt könnyen megoldható: a javításokat közvetlenül a forráskódon kellett elvégezni, ezekbõl újrafordítani a rendszert, majd telepíteni. Ez a nehézség mostanra viszont már elhárult, mivel a FreeBSD legfrissebb verziói már tartalmaznak egy `freebsd-update` nevû segédprogramot, amellyel mindez leegyszerûsödik. Ez a program két külön funkciót lát el. Elõször is, lehetõvé teszi, hogy a FreeBSD alaprendszer újrafordítása és -telepítése nélkül javítsunk biztonsági és egyéb apró hibákat, valamint másodsorban támogatja a kisebb és nagyobb verziójú kiadások közti váltást. [NOTE] ==== Ezek a bináris frissítések azonban csak a FreeBSD biztonsági csapata által is felügyelt architektúrák és kiadások esetén érhetõek el. Emellett bizonyos lehetõségek használatához, például a FreeBSD verziói közti átállás támogatásához a man:freebsd-update[8] legújabb változata szükségeltetik. Ezért ne felejtsük el alaposan átolvasni a legújabb kiadásokról szóló bejelentéseket mielõtt frissítenénk rájuk, mivel ezzel kapcsolatban fontos információkat tartalmazhatnak. Az említett bejelentések a http://www.FreeBSD.org/releases/[http://www.FreeBSD.org/releases/] címen érhetõek el. ==== Ha a `crontab` már hivatkozik a `freebsd-update` programra, akkor a most következõ mûvelet elkezdése elõtt tiltsuk le. [[freebsdupdate-config-file]] === A konfigurációs állományok Ha változtatnénk szeretnénk a frissítési folyamaton, ekkor a programhoz tartozó, [.filename]#/etc/freebsd-update.conf# nevû konfigurációs állományt kell módosítanunk. Az opciók részletes ismertetéssel rendelkeznek, habár némelyiknél még további magyarázat kellhet: [.programlisting] .... # Az alaprendszerben frissíteni kívánt komponensek Components src world kernel .... Ezzel a paraméterrel határozhatjuk meg, hogy a FreeBSD mely részei kerüljenek frissítésre. Alapértelmezés szerint a program frissíti a forrásokat, a teljes alaprendszert és a rendszermagot. Komponensként a telepítésnél választható elemeket adhatjuk meg, például "world/games" hozzáadásakor a games kategória elemei is folyamatosan frissülni fognak. Az "src/bin" megadásakor pedig az [.filename]#src/bin# könyvtár tartalma frissül. Ezt a beállítást a legjobb meghagyni az alapértelmezett értéken, mivel a további elemek megadásánál egyenként fel kell sorolni a frissítendõ komponenseket. Ha itt viszont kifelejtünk valamit, akkor könnyen megeshet, hogy a források és a binárisok verziója elcsúszik egymástól. [.programlisting] .... # Az IgnorePaths beállítás után megadott szövegre illeszkedõ összes # bejegyzés frissítése kimarad IgnorePaths .... Ennél a beállításnál azokat a könyvtárakat kell megadnunk, amelyeket (és tartalmukat) ki szeretnénk hagyni a frissítés során. Ezek lehetnek például a [.filename]#/bin# vagy az [.filename]#/sbin#. Így meg tudjuk akadályozni, hogy `freebsd-update` esetleg felülírjon valamilyen helyi változtatást a rendszerünkben. [.programlisting] .... # Az UpdateIfUnmodified beállítás után megadott elérési útvonalakon csak # a felhasználó által még nem módosított állományok fognak frissülni # (hacsak a módosításokat össze nem fésüljük, lásd lentebb) UpdateIfUnmodified /etc/ /var/ /root/ /.cshrc /.profile .... A megadott könyvtárakban csak azokat a konfigurációs állományokat fogja frissíteni, amelyeket nem változtattuk meg. Amennyiben bármelyikük eltér az eredetileg frissítendõ változattól, azt a program nem módosítja. Létezik egy másik hasonló beállítás, a `KeepModifiedMetadata`, amely hatására a `freebsd-update` az összefésülés során elmenti a változtatásokat. [.programlisting] .... # A MergeChanges beállításnál szereplõ állományok helyi módosításait # automatikusan összefésüljük a FreeBSD újabb verziójára frissítése közben MergeChanges /etc/ /var/named/etc/ .... Itt azokat a könyvtárakat adhatjuk meg, amelyekben a `freebsd-update` számára engedélyezzük a konfigurációs állományok új verziójának összefésülését a jelenlegi állapottal. Az összefésülés lényegében a man:mergemaster[8] használatánál már megszokott módon, man:diff[1] formátumban érkezõ módosítások sorozata alapján történik. Ekkor egy szövegszerkesztõ segítségével felügyelhetjük az összefésülés menetét vagy megállíthatjuk a `freebsd-update` futását. Ha kétségeink adódnak, akkor egyszerûen mentsük le az [.filename]#/etc# könyvtárat és fogadjuk el mindegyik összefésülés eredményét. A `mergemaster` mûködésérõl a <> ad részletesebb tájékoztatást. [.programlisting] .... # A FreeBSD frissítésekor ezt a könyvtárat fogja a program használni a # letöltött módosítások és az egyéb ideiglenes állományok tárolására # WorkDir /var/db/freebsd-update .... Az itt megadott könyvtárba fognak kerülni az elvégzendõ módosítások és az egyéb ideiglenesen keletkezõ állományok. A verziók közti váltás során ebben a könyvtárban ajánlott legalább 1 GB szabad tárterületnek lennie. [.programlisting] .... # A kiadások közti váltás során a Components beállításnál megadott # elemek kerüljenek csak frissítésre (StrictComponents yes), vagy a # program próbálja meg magától kitalálni, hogy milyen komponesek # *lehetnek* fenn a rendszeren és azokat frissítse (StrictComponents # no)? # StrictComponents no .... Ha ennél a beállításnál a `yes` értéket adjuk meg, akkor a `freebsd-update` feltételezni fogja, hogy a `Components` opciónál felsoroltunk minden frissítendõ komponenst és nem próbál meg mást is megváltoztatni. Ilyenkor tehát a `freebsd-update` tulajdonképpen egyedül csak a `Components` által meghatározott elemekhez tartozó állományokat fogja frissíteni. [[freebsdupdate-security-patches]] === Biztonsági javítások A biztonsági javítások mindig egy távoli gépen tárolódnak, a következõ parancsok használatával tölthetõek le és telepíthetõek: [source,shell] .... # freebsd-update fetch # freebsd-update install .... Amennyiben a rendszermagot is érintik javítások, úgy a rendszert a mûvelet befejezõdésével újra kell indítanunk. Ha minden a megfelelõ módon történt, akkor a rendszerünk már tartalmazni fogja a korábban letöltött és telepített javításokat, és a `freebsd-update` akár beállítható egy naponta végrehajtandó man:cron[8] feladatnak. Ehhez mindössze a következõ bejegyzést kell elhelyeznünk az [.filename]#/etc/crontab# állományban: [.programlisting] .... @daily root freebsd-update cron .... A bejegyzés szerint naponta egyszer le fog futni a `freebsd-update`. Ilyenkor, vagyis a `cron` paraméter megadásakor a `freebsd-update` csak ellenõrzi, hogy vannak-e telepítendõ frissítések. Ha talál, akkor automatikusan letölti ezeket a lemezre, de nem telepíti. Helyette levélben értesíti a `root` felhasználót, aki ezután bármikor manuálisan kérheti a telepítést. Probléma esetén az alábbi paranccsal megkérhetjük a `freebsd-update` programot a legutóbb telepített módosítások visszavonására: [source,shell] .... # freebsd-update rollback .... Ha ez a visszavonás a rendszermagra vagy annak moduljaira is vonatkozott, akkor a rendszert újra kell indítanunk a parancs futásának befejezõdésével. A FreeBSD csak ilyenkor képes betölteni az új binárisokat betölteni a memóriába. A `freebsd-update` önmagától csak a `GENERIC` típusú rendszermagokat képes frissíteni. Ha saját rendszermagot használunk, akkor azt a rendszer többi komponensének frissítését követõen újra kell fordítanunk és telepítenünk. A `freebsd-update` azonban még akkor is érzekelni és frissíteni fogja a `GENERIC` rendszermagot (amennyiben az létezik), ha az éppen nem az aktuális(an futó) rendszermag. [NOTE] ==== Mindig érdemes tartani egy másolatot a `GENERIC` rendszermagról a [.filename]#/boot/GENERIC# könyvtárban. Rengeteg különbözõ probléma felderítésében tud segíteni, illetve ez a <> szakaszban leírt `freebsd-update` programmal végzett frissítéseknél is hasznos lehet. ==== Hacsak nem változtatjuk meg az [.filename]#/etc/freebsd-update.conf# állományt, a `freebsd-update` a rendszermag forrásait is frissíti a többivel együtt. A saját rendszermag újrafordítása és telepítése ezután a már a megszokott módon elvégezhetõ. [NOTE] ==== A `freebsd-update` által terjesztett frissítések nem mindig érintik a rendszermagot. Ha a rendszermag forrásai nem változnak egy `freebsd-update install` parancs kiadása során, akkor nem kötelezõ újrafordítani a saját rendszermagot. A `freebsd-update` viszont mindig módosítani fogja a [.filename]#/usr/src/sys/conf/newvers.sh# állományt. Itt az aktuális hibajavítás sorszáma szerepel (amelyet a `-p` (mint "patch level" elõtaggal kapcsolnak a rendszer verziójához, és a `uname -r` paranccsal lehet lekérdezni). Ennek megfelelõen tehát a saját rendszermag újrafordítása után, még ha semmi más nem is változott, a man:uname[1] képes pontosan jelezni a rendszerhez készült hibajavítás sorszámát. Ez különösen fontos több rendszer karbantartása során, mivel így könnyen és gyorsan tájékozódhatunk azok naprakészségérõl. ==== [[freebsdupdate-upgrade]] === Váltás kisebb és nagyobb verziók között Verziók közti váltás során a külsõ alkalmazások mûkõdését akadályozó régi tárgykódok és függvénykönyvtárak törlõdni fognak. Ezért javasoljuk, hogy vagy töröljük le az összes portot és telepítsük újra, vagy az alaprendszer frissítése után hozzuk ezeket is naprakész állapotba a package:ports-mgmt/portupgrade[] segédprogram segítségével. Elõször minden bizonnyal szeretnék kipróbálni a frissítést, ezt a következõ paranccsal tehetjük meg: [source,shell] .... # portupgrade -af .... Ezzel gondoskodunk róla, hogy a minden a megfelelõen telepítõdjön újra. Ha a `BATCH` környezeti változót a `yes` értékre állítjuk, akkor a folyamat során megjelenõ összes kérdésre automatikusan a `yes` választ adjuk, ezáltal önállósítani tudjuk. Ha saját rendszermagot használunk, akkor ennél valamivel azért több feladatunk van. Szükségünk lesz a `GENERIC` rendszermagot egy példányára, amelyet másoljunk a [.filename]#/boot/GENERIC# könyvtárba. Amennyiben nincs `GENERIC` típusú rendszermag a rendszerünkön, a következõ módok valamelyikén keresztül tudunk szerezni: * Ha a saját rendszermagot még csak egyszer fordítottuk, akkor a [.filename]#/boot/kernel.old# könyvtárban még megtalálható a `GENERIC`. Ezt nevezzük át egyszerûen [.filename]#/boot/GENERIC# könyvtárra. * Ha fizikailag hozzá tudunk férni az érintett géphez, akkor a `GENERIC` egy példányát akár CD-rõl is átmásolhatjuk. Helyezzük be a telepítõlemezt és adjuk ki a következõ parancsokat: + [source,shell] .... # mount /cdrom # cd /cdrom/X.Y-RELEASE/kernels # ./install.sh GENERIC .... + Itt a [.filename]#X.Y-RELEASE# könyvtár nevében értelemszerûen helyettesítsük be az általunk használt változatot. A `GENERIC` rendszermag ekkor alapértelmezés szerint a [.filename]#/boot/GENERIC# könyvtárba kerül. * Ha az elõbbiek közül egyik sem lehetséges, akkor a `GENERIC` rendszermagot közvetlenül akár forrásból is lefordíthatjuk és telepíthetjük: + [source,shell] .... # cd /usr/src # env DESTDIR=/boot/GENERIC make kernel # mv /boot/GENERIC/boot/kernel/* /boot/GENERIC # rm -rf /boot/GENERIC/boot .... + A `freebsd-update` akkor fogja ezt `GENERIC` rendszermagként felismerni, ha a hozzá tartozó konfigurációs állományt nem módosítjuk. Továbbá javasoljuk, hogy semmilyen speciális beállítást ne alkalmazzunk a fordítás során (érdemes üresen hagyni ehhez az [.filename]#/etc/make.conf# állományt). Nem kötelezõ újraindítani a rendszert a `GENERIC` rendszermaggal. A `freebsd-update` képes frissíteni rendszerünket egy adott kiadásra. Például a következõ paraméterek megadásával válthatunk a FreeBSD 6.4 használatára: [source,shell] .... # freebsd-update -r 6.4-RELEASE upgrade .... A parancs elindulása után nem sokkal, a váltáshoz szükséges információk összegyûjtéséhez a `freebsd-update` elemzi a konfigurációs állományában megadott beállításokat és a rendszer jelenleg használt verzióját. A képernyõn ekkor sorban megjelennek a program részérõl érzékelt és nem érzékelt komponensek. Mint például ahogy itt látható: [source,shell] .... Looking up update.FreeBSD.org mirrors... 1 mirrors found. Fetching metadata signature for 6.3-RELEASE from update1.FreeBSD.org... done. Fetching metadata index... done. Inspecting system... done. The following components of FreeBSD seem to be installed: kernel/smp src/base src/bin src/contrib src/crypto src/etc src/games src/gnu src/include src/krb5 src/lib src/libexec src/release src/rescue src/sbin src/secure src/share src/sys src/tools src/ubin src/usbin world/base world/info world/lib32 world/manpages The following components of FreeBSD do not seem to be installed: kernel/generic world/catpages world/dict world/doc world/games world/proflibs Does this look reasonable (y/n)? y .... Ekkor a `freebsd-update` megpróbálja letölteni a verziók közti váltáshoz szükséges összes állományt. Bizonyos esetekben kérdésekkel fordul a felhasználó felé arra vonatkozóan, hogy miket telepítsen fel vagy mit csináljon. A saját rendszermag használatakor az iménti lépés valamilyen ehhez hasonló figyelmeztetést fog adni: [source,shell] .... WARNING: This system is running a "SAJÁT RENDSZERMAG" kernel, which is not a kernel configuration distributed as part of FreeBSD 6.3-RELEASE. This kernel will not be updated: you MUST update the kernel manually before running "/usr/sbin/freebsd-update install" .... Ez a figyelmeztetés most nyugodtan figyelmen kívül hagyható. A folyamat során a frissített `GENERIC` rendszermagot fogjuk használni. A javítások letöltését követõen megkezdõdik a telepítésük. A váltás ezen lépése az adott gép aktuális terhelésétõl és sebességétõl függõen változó hosszúságú lehet. Ezután a konfigurációs állományok összefésülése zajlik le - itt általában a emberi felügyeletre is szükség van az állományok összefésülésének irányításához, amelynek folyamatosan láthatóak az eredményei. A meghiúsult vagy kihagyott összefésülések a teljes frissítési folyamat leállását vonják maguk után. Az [.filename]#/etc# könyvtárban tárolt fontosabb állományokról, mint például a [.filename]#master.passwd# vagy [.filename]#group# javasolt elõzetesen biztonsági mentést készíteni és késõbb kézzel hozzájuk adni a változtatásaikat. [NOTE] ==== A rendszerben ekkor még nem lesz jelen semmilyen konkrét változás, az összes említett javítás és összefésülés egy külön könyvtárban történik. A telepített javításokat és az összefésült konfigurációs állományokat a folyamat végén magának a felhasználónak kell véglegesíteni. ==== A frissítési eljárás végén a következõ parancs kiadásával tudjuk ténylegesen érvényesíteni az eddig elvégzett módosításokat: [source,shell] .... # freebsd-update install .... Elõször mindig a rendszermag és a hozzá tartozó modulok cserélõdnek le. Ahogy ez végrehajtódott, újra kell indítanunk a rendszert. Ha saját rendszermagot használunk, akkor a man:nextboot[8] parancs segítségével állítsuk be a következõ rendszerindítás során betöltendõ rendszermagot a [.filename]#/boot/GENERIC# könyvtárban levõre (ezt frissítettük): [source,shell] .... # nextboot -k GENERIC .... [WARNING] ==== Mielõtt újraindítanánk a gépünket a `GENERIC` rendszermaggal, gyõzõdjünk meg róla, hogy szerepel benne minden olyan meghajtó, amely elengedhetetlen a rendszer hiánytalan indításához (és képes lesz újra csatlakozni a hálózathoz, ha éppen távolról adminisztráljuk). Ez különösen olyan esetben fontos, amikor a saját rendszermagunkban beépítetten szerepeltek bizonyos modulok. Ilyenkor a `GENERIC` rendszermag használatakor ezeket a [.filename]#/boot/loader.conf# állományon keresztül töltethetjük be ideiglenesen. A frissítés befejezéséig érdemes viszont minden nem létfontosságú szolgáltatást leállítani, leválasztani lemezeket és hálózati megosztásokat stb. ==== A rendszerünk most már újraindítható a frissített rendszermaggal: [source,shell] .... # shutdown -r now .... A rendszer sikeres újraindulása után ismét el kell indítanunk a `freebsd-update` programot, amely korábban már elmentette a frissítés állapotát, emiatt a legutóbbi pontról fog folytatódni, illetve törli az osztott könyvtárak és tárgykódok régebbi változatait. Innen az alábbi paranccsal léphetünk tovább: [source,shell] .... # freebsd-update install .... [NOTE] ==== A függvénykönyvtárak verziói közti eltérések mértékétõl függõen elképzelhetõ, hogy a telepítés az említett három fázis helyett kettõben történik. ==== Most pedig újra kell fordítanunk vagy telepítenünk az összes általunk korábban használt külsõ alkalmazást. Erre azért van szükségünk, mert bizonyos alkalmazások a verziók közti váltás során törölt programkönyvtáraktól függtek. Ennek automatizálásában a package:ports-mgmt/portupgrade[] lesz segítségünkre. Az alkalmazások frissítésének elindításához a következõ parancsokat használjuk: [source,shell] .... # portupgrade -f ruby # rm /var/db/pkg/pkgdb.db # portupgrade -f ruby18-bdb # rm /var/db/pkg/pkgdb.db /usr/ports/INDEX-*.db # portupgrade -af .... A parancsok lefutását követõen a `freebsd-update` utolsó hívásával zárjuk le a frissítést. Ezzel a paranccsal tudunk tehát pontot tenni a frissítési procedúra végére: [source,shell] .... # freebsd-update install .... Ha a `GENERIC` rendszermagot csak átmenetileg használtuk, akkor most már a megszokott módon fordíthatunk és telepíthetünk magunk egy saját rendszermagot. Indítsuk újra a rendszert a FreeBSD frissített változatával. A folyamat ezzel véget ért. [[freebsdupdate-system-comparison]] === Rendszerek állapotainak összehasonlítása A `freebsd-update` ragyogóan felhasználható a FreeBSD egy telepített változatának és egy általunk garantáltan megbízható példányának összevetésére. Ilyenkor a rendszerhez tartozó segédprogramokat, programkönyvtárakat és konfigurációs állományokat ellenõriztethetjük le. Az összehasonlítást ezzel a paranccsal kezdhetjük meg: [source,shell] .... # freebsd-update IDS >> eredmeny.idk .... [WARNING] ==== Habár a parancs neve IDS (intrusion detection system), nem helyettesít semmilyen olyan behatolásjelzõ megoldást, mint amilyen például a package:security/snort[]. Mivel a `freebsd-update` adatokat tárol a lemezen, teljesen kézenfekvõ a hamisítás lehetõsége. Míg ennek eshetõsége adott mértékben visszaszorítható a `kern.securelevel` csökkentésével és a `freebsd-update` által használt adatok írásvédett állományrendszerre helyezésével, erre a problémára az ideális megoldást mégis egy teljes biztonságban tudható referencia rendszer jelentheti. Ennek tárolására alkalmas lehet például egy DVD vagy egy külsõ USB-egység. ==== A parancs kiadása után megkezdõdik a rendszer vizsgálata, és az ellenõrzés során folyamatosan jelennek meg az átvizsgált állományok a hozzájuk tartozó ismert és kiszámított man:sha256[1]-kódjukkal együtt. Mivel a képernyõn túlságosan gyorsan elúsznának az eredmények, ezért ezeket egy [.filename]#eredmeny.idk# nevû állományba mentjük a késõbbi elemzésekhez. Az így keletkezõ állomány sorai ugyan meglehetõsen hosszúak, de szerencsére viszonylag könnyen értelmezhetõek. Például az adott kiadásban szereplõ állományoktól eltérõeket ezzel a paranccsal kérdezhetjük le: [source,shell] .... # cat eredmeny.idk | awk '{ print $1 }' | more /etc/master.passwd /etc/motd /etc/passwd /etc/pf.conf .... A példában most csak az elsõ néhány állományt hagytuk meg, gyakran tapasztalhatunk viszont ennél többet. Ezek közül bizonyos állományok értelemszerûen eltérnek, mint itt például az [.filename]#/etc/passwd#, mert idõközben új felhasználókat adtunk a rendszerhez. Máskor egyéb állományok, például modulok nevei is felbukkanhatnak, mert tegyük fel, hogy a `freebsd-update` már frissítette ezeket. Ha ki szeretnénk zárni valamilyen állományokat vagy könyvtárakat az ellenõrzésbõl, egyszerûen csak soroljuk fel ezeket az [.filename]#/etc/freebsd-update.conf# állományban megjelenõ `IDSIgnorePaths` beállításnál. A korábban tárgyaltaktól függetlenül ez a rendszer alkalmas bonyolultabb frissítési folyamatok kisegítésére is. [[updating-upgrading-portsnap]] == A Portgyûjtemény frissítése a Portsnap használatával A FreeBSD alaprendszer a Portgyûjtemény frissítéséhez is tartalmaz egy man:portsnap[8] elnevezésû segédprogramot. Ez a program elindítása után csatlakozik egy távoli géphez, ellenõrzi a biztonsági kulcsát és letölti a portok legfrissebb változatait. A biztonsági kulcs feladata a frissítés közben letöltött állományok sértetlenségének szavatolása, ezzel gondoskodik róla, hogy az adatok átvitelük közben nem változtak meg. A Portgyûjtemény legújabb változatát így érhetjük el: [source,shell] .... # portsnap fetch Looking up portsnap.FreeBSD.org mirrors... 3 mirrors found. Fetching snapshot tag from portsnap1.FreeBSD.org... done. Fetching snapshot metadata... done. Updating from Wed Aug 6 18:00:22 EDT 2008 to Sat Aug 30 20:24:11 EDT 2008. Fetching 3 metadata patches.. done. Applying metadata patches... done. Fetching 3 metadata files... done. Fetching 90 patches.....10....20....30....40....50....60....70....80....90. done. Applying patches... done. Fetching 133 new ports or files... done. .... A példában látható, hogy a man:portsnap[8] eltéréseket talált a helyi és a távoli rendszerekben fellelhetõ portok között, majd azokat ellenõrizte. Emellett az is megfigyelhetõ, hogy korábban már futtatuk a programot, mivel ha most indítottuk volna az elsõ alkalommal, akkor egyszerûen letöltötte volna a teljes Portgyûjteményt. Ahogy a man:portsnap[8] sikeresen befejezi az imént kiadott `fetch` mûvelet végrehajtását, a helyi rendszeren már telepítésre készen fognak várakozni a Portgyûjtemény és az hozzá tartozó ellenõrzött módosítások. A `portsnap` elsõ használatakor az `extract` parancs segítségével telepíthetjük a frissített állományokat: [source,shell] .... # portsnap extract /usr/ports/.cvsignore /usr/ports/CHANGES /usr/ports/COPYRIGHT /usr/ports/GIDs /usr/ports/KNOBS /usr/ports/LEGAL /usr/ports/MOVED /usr/ports/Makefile /usr/ports/Mk/bsd.apache.mk /usr/ports/Mk/bsd.autotools.mk /usr/ports/Mk/bsd.cmake.mk ... .... Egy korábban már telepített Portgyûjteményt a `portsnap update` paranccsal tudunk frissíteni: [source,shell] .... # portsnap update .... Ezzel lezárult a portok frissítése, innentõl már az aktualizált Portgyûjtemény felhasználásával tetszõlegesen telepíthetõek vagy frissíthetõek az alkalmazások. A `fetch`, `extract` vagy `update` mûveletek egyetlen parancsba is összefûzhetõek, ahogy ezt az alábbi példában is láthatjuk: [source,shell] .... # portsnap fetch update .... Ez a parancs letölti a Portgyûjtemény legfrissebb változatát, majd kitömöríti azt a helyi [.filename]#/usr/ports# könyvtárba. [[updating-upgrading-documentation]] == A dokumentáció frissítése Az alaprendszer és a Portgyûjtemény mellett a dokumentáció is a FreeBSD operációs rendszer szerves részét képezi. Noha a FreeBSD dokumentációjának legfrissebb változata folyamatosan elérhetõ a http://www.freebsd.org/doc[FreeBSD honlapjáról], egyes felhasználók ezt csak lassan vagy nem képesek folyamatosan elérni. Szerencsére egy helyi másolat megfelelõ karbantartásával az egyes kiadásokhoz tartozó dokumentáció is frissíthetõ. [[csup-doc]] === A dokumentáció frissítése CVSup használatával A FreeBSD telepített dokumentációjának forrásai az alaprendszeréhez hasonlóan (lásd <>) a CVSup segítségével frissíthetõek. Ebben a szakaszban megismerhetjük: * hogyan telepítsük a dokumentáció elõállításához szükséges eszközöket, amelyekkel a forrásokból újra tudjuk generálni a FreeBSD dokumentációját; * hogyan töltsük le a dokumentáció forrását CVSup segítségével a [.filename]#/usr/doc# könyvtárba; * a dokumentáció elõállításához alkalmazott rendszer milyen beállításokkal rendelkezik, vagyis hogyan korlátozzuk a generálást bizonyos nyelvekre vagy formátumokra. [[installing-documentation-toolchain]] === A CVSup és a dokumentációs eszközök telepítése Viszonylag sokféle eszközre lesz szükségünk, ha a FreeBSD dokumentációját a forrásokból akarjuk elõállítani. Ezek az segédprogramok nem részei a FreeBSD alaprendszerének, mivel alapvetõen nagyon sok helyet foglalnak el, és leginkább olyan FreeBSD felhasználók számára fontosak, akik folyamatosan a dokumentációval dolgoznak vagy gyakran frissítik azt forrásból. A feladathoz szükséges összes eszköz elérhetõ a Portgyûjteménybõl. Ebben a FreeBSD Dokumentációs Projekt összeállított egy package:textproc/docproj[] nevû portot, amellyel az említett programok telepítését és frissítését igyekezték megkönnyíteni. [NOTE] ==== Ha nem tartunk igényt a dokumentáció PostScript(R) vagy PDF változatára, akkor ehelyett inkább érdemes megfontolnunk a package:textproc/docproj-nojadetex[] port telepítését. Ebben a változatban a teTeX betûszedõ rendszer kivételével az összes segédprogram megtalálható. Mivel a teTeX önmagában nagyon sok segédeszköz telepítését jelenti, ezért amennyiben a PDF változat ténylegesen nem szükséges, érdemes eltekinteni a telepítésétõl. ==== A CVSup telepítésével kapcsolatban pedig részletesebb információkat a crossref:mirrors[cvsup,CVSup használatával] foglalkozó szakaszban olvashatunk. [[updating-documentation-sources]] === A dokumentáció forrásának frissítése A [.filename]#/usr/shared/examples/cvsup/doc-supfile# konfigurációs állomány segítségével a CVSup képes letölteni a dokumentáció forrásállományainak legfrissebb példányait. Itt a frissítést alapértelmezés szerint egy nem létezõ géptõl fogjuk kérni (mivel ezt kötelezõ kitölteni), azonban a man:cvsup[1] programnak egy parancssori paraméter segítségével megadhatjuk melyik CVSup szerverrõl töltse le a forrásokat: [source,shell] .... # cvsup -h cvsup.FreeBSD.org -g -L 2 /usr/shared/examples/cvsup/doc-supfile .... Ne felejtsük el a _cvsup.FreeBSD.org_ helyére beírni a hozzánk földrajzilag legközelebb elhelyezkedõ CVSup szervert. Ezek teljes listáját a crossref:mirrors[cvsup-mirrors,CVSup oldalak] tartalmazza. Egy ideig eltarthat, amíg elõször letöltjük a forrásokat. Várjuk meg türelmesen, amíg befejezõdik a mûvelet. Késõbb a forrásokat ugyanezzel a paranccsal tudjuk frissíteni. A CVSup ugyanis mindig csak a legutóbbi futtatása óta történt változásokat tölti le, ezért késõbb már ez a lépés jelentõsen felgyorsulhat. A források letöltése után a dokumentációt például az ekkor keletkezett [.filename]#/usr/doc# könyvtárban található [.filename]#Makefile# használatával állíthatjuk elõ. Tehát miután az [.filename]#/etc/make.conf# állományban beállítottuk a `SUP_UPDATE`, `SUPHOST` és `DOCSUPFILE` változókat, le tudjuk futtatni a következõ parancsot: [source,shell] .... # cd /usr/doc # make update .... Az elõbb említett man:make[1] változók jellemzõ értékei: [.programlisting] .... SUP_UPDATE= yes SUPHOST?= cvsup.freebsd.org DOCSUPFILE?= /usr/shared/examples/cvsup/doc-supfile .... [NOTE] ==== Mivel a `SUPHOST` és a `DOCSUPFILE` változók értékét a `?=` szimbólummal állítottuk be, lehetõségünk van a parancssorból ezeknek más értékeket adni. Az [.filename]#/etc/make.conf# állományba általában így érdemes felvenni a változókat, így nem kell minden alkalommal módosítani, amikor valamilyen új beállítást akarunk kipróbálni. ==== [[updating-documentation-options]] === A dokumentáció különbözõ beállításai A FreeBSD dokumentációjához tartozó, frissítést és elõállítást végzõ rendszernek van néhány olyan beállítása, amelyekkel kérhetjük kizárólag csak a dokumentáció egyes részeinek frissítését vagy bizonyos kimeneti formátumok használatát. Ezek vagy globálisan az [.filename]#/etc/make.conf# állományban, vagy pedig a parancssorból, a man:make[1] program paramétereként adhatóak meg. Ízelítõül néhány közülük: `DOC_LANG`:: Az elõállítandó és telepítendõ nyelvû dokumentáció felsorolása, tehát például csak az angol dokumentáció esetén ez `en_US.ISO8859-1`. `FORMATS`:: Az elõállítandó dokumentáció kimeneti formátumainak felsorolása. Itt pillanatnyilag értékként a `html`, `html-split`, `txt`, `ps`, `pdf` és `rtf` jelenhet meg. `SUPHOST`:: A frissítéshez használt CVSup szerver hálózati neve. `DOCDIR`:: Az elkészült dokumentáció telepítésének helye. Ez alapértelmezés szerint a [.filename]#/usr/shared/doc#. A folyamathoz kapcsolódóan további rendszerszintû man:make[1] változókról a man:make.conf[5] man oldalon olvashatunk. A FreeBSD dokumentációjának elõállításáért felelõs rendszerben használható man:make[1] további változók bemutatásával kapcsolatban pedig olvassuk el az link:{fdp-primer}[A FreeBSD Dokumentációs Projekt irányelvei kezdõknek] címû könyvet. [[updating-installed-documentation]] === A FreeBSD dokumentációjának telepítése forrásból Miután sikerült letöltenünk a [.filename]#/usr/doc# könyvtárba a dokumentáció legfrissebb forrásait, készen állunk a rendszerünkön telepített példány frissítésére. A `DOCLANG` értékeként megadott nyelven készült dokumentációkat a következõ paranccsal tudjuk frissíteni: [source,shell] .... # cd /usr/doc # make install clean .... Ha a [.filename]#make.conf# állományban korábban már megadtuk a `DOCSUPFILE`, `SUPHOST` és `SUP_UPDATE` változók értékeit, akkor a telepítés fázisa könnyedén össze is vonatható a források frissítésével: [source,shell] .... # cd /usr/doc # make update install clean .... Ha pedig csak bizonyos nyelvekhez tartozó dokumentációt szeretnénk frissíteni, akkor a man:make[1] akár a [.filename]#/usr/doc# könyvtáron belül az egyes nyelvekhez tartozó alkönyvtárakon belül is meghívható, például: [source,shell] .... # cd /usr/doc/en_US.ISO8859-1 # make update install clean .... A dokumentáció formátumát a `FORMATS` változó felhasználásával tudjuk meghatározni: [source,shell] .... # cd /usr/doc # make FORMATS='html html-split' install clean .... [[doc-ports]] === A dokumentációs portok használata Ez elõzõ szakaszban megmutattuk hogyan lehet a FreeBSD dokumentációját a források felhasználásával frissíteni. A források használatával végzett frissítés azonban nem minden FreeBSD rendszer esetében lehetséges vagy hatékony. Ha ugyanis a dokumentációs forrásból akarjuk elõállítani, viszonylag sok eszköz és segédprogram, az ún. _dokumentációs eszközök_ használatával kell tisztában lennünk, valamint bizonyos mértékig ismernünk kell a CVS használatát, tudunk kell kikérni a legfrissebb változatot és elõállítatattnunk belõle a végleges változatot. Ezért ebben a szakaszban most szót ejtünk egy olyan módszerrõl, ahol a FreeBSD dokumentációját a Portgyûjteményen keresztül tudjuk frissíteni, ezáltal: * anélkül le tudjuk tölteni és telepíteni a dokumentáció adott pillanatban generált változatát, hogy a rendszerünkön bármi további teendõre szükség lenne (ennek köszönhetõen nem kell telepítenünk a dokumentációs eszközöket); * letölthetjük a dokumentáció forrását és a Portgyûjtemény eszközeivel elõállíthatjuk belõle a megfelelõ változatot (ez a források beszerzésében és feldolgozásában segít valamelyest). A FreeBSD dokumentáció frissítésének fentebb említett módjait támogatják tehát a _dokumentációs portok_, amelyeket a {doceng} havi rendszerességgel tart karban. Ezek a portok a FreeBSD Portgyûjteményén belül a http://www.freshports.org/docs/[docs] nevû virtuális kategóriában találhatóak meg. [[doc-ports-install-make]] ==== A dokumentációs portok fordítása és telepítése A dokumentáció könnyebb elõállításához a dokumentációs portok a Portgyûjtemény lehetõségeit veszik igénybe. Segítségükkel automatikussá teszik a dokumentáció forrásának letöltését, a man:make[1] parancs meghívását a megfelelõ környezetben, beállításokkal és parancssori paraméterekkel. Rajtuk keresztül a dokumentáció eltávolítása ugyanolyan egyszerûen megtehetõ, mint akármelyik másik FreeBSD port vagy csomag esetében. [NOTE] ==== Továbbá, amikor a dokumentációs portokat a saját rendszerünkön fordítjuk, a _dokumentációs eszközök_ függõségként automatikusan települni fognak. ==== A dokumentációs portok a következõ módon szervezõdnek: * Létezik egy ún. "fõport", a package:misc/freebsd-doc-en[], ahol az összes fontosabb állomány megtalálható. Ez lényegében a dokumentációs portok közös õse. Alapértelmezés szerint kizárólag csak az angol nyelvû dokumentációt állítja elõ. * Létezik egy "mindenes port", a package:misc/freebsd-doc-all[], amely az összes elérhetõ nyelven és formátumban elõállítja a dokumentációt. * Végezetül minden nyelvhez létezik egy-egy "alport", ilyen például a magyar dokumentáció esetén a package:misc/freebsd-doc-hu[] port. Mindegyikük a fõporttól függ és az adott nyelvû dokumentációt telepítik. Az eddigi összefoglaltaknak megfelelõen a dokumentációs portokat forrásból a következõ paranccsal lehet telepíteni (`root` felhasználóként): [source,shell] .... # cd /usr/ports/misc/freebsd-doc-en # make install clean .... Ennek hatására elõáll és telepítõdik a [.filename]#/usr/local/shared/doc/freebsd# könyvtárba az angol nyelvû dokumentáció állományokra bontott HTML formátumban (hasonlóan a http://www.FreeBSD.org[http://www.FreeBSD.org] tartalmához). [[doc-ports-options]] ===== Gyakori beállítások A dokumentációs portok alapértelmezett viselkedése több különbözõ opció segítségével is befolyásolható. Ezek közül most összefoglalunk néhányat: `WITH_HTML`:: Minden dokumentum egyetlen HTML állományba kerüljön. A végeredmény ekkor az adott dokumentum típusának megfelelõen [.filename]#article.html# (cikk) vagy [.filename]#book.html# (könyv) néven keletkezik (képekkel együtt). `WITH_PDF`:: Minden dokumentum Adobe(R) Portable Document Format típusú állományban jön létre. Ezek az állományok a Ghostscript vagy más egyéb PDF nézegetõkkel nyithatóak meg. Ekkor a dokumentáció konkrét típusától függõen az állományok [.filename]#article.pdf# (cikk) vagy [.filename]#book.pdf# (könyv) néven állítódnak elõ. `DOCBASE`:: A dokumentáció telepítésének helye. Alapértelmezés szerint ez a [.filename]#/usr/local/shared/doc/freebsd# könyvtár. + [NOTE] ==== Ügyeljünk arra, hogy a telepítés alapértelmezett célkönyvtára eltér a CVSup módszerétõl. Ugyanis mivel ilyenkor egy portot telepítünk, a tartalma alapértelmezés szerint a [.filename]#/usr/local# könyvtáron belülre kerül. Ez azonban a `PREFIX` változó átállításával tetszõleges megváltoztatható. ==== Az elõbbieket most egy rövid példán keresztül összefoglaljuk. A következõ paranccsal tudjuk tehát a magyar nyelvû dokumentáció Portable Document Format változatát telepíteni: [source,shell] .... # cd /usr/ports/misc/freebsd-doc-hu # make -DWITH_PDF DOCBASE=share/doc/freebsd/hu install clean .... [[doc-ports-install-package]] ==== A dokumentációs csomagok használata A dokumentációs portok elõzõ szakaszban bemutatott forrásból telepítésével kapcsolatban már említettük, hogy szükséges hozzá a dokumentációs eszközök telepítése, valamint némi szabad tárterület. Ha a dokumentációs eszközök telepítéséhez nem elengedõek a rendelkezésre álló erõforrásaink vagy a források feldolgozása túlságosan sokat foglalna a rendszerünkön, akkor lehetõségünk van a dokumentációs portok elõre lefordított, csomagolt változatát használni. A {doceng} minden hónapban elõkészíti a FreeBSD dokumentációs csomagok legfrissebb változatát. Az így karbantartott bináris csomagok azután tetszõlegesen használhatóak a szabványos csomagkezelõ eszközökkel, mint amilyen például a man:pkg_add[1], man:pkg_delete[1] és így tovább. [NOTE] ==== A bináris csomagok használata esetén a FreeBSD dokumentációja az adott nyelvhez az _összes_ elérhetõ formátumban telepítésre kerül. ==== Például az alábbi paranccsal a magyar nyelvû dokumentációhoz tartozó legfrissebb bináris csomagot tudjuk telepíteni: [source,shell] .... # pkg_add -r hu-freebsd-doc .... [NOTE] ==== A csomagok elnevezése eltér a hozzá tartozó port nevétõl. Alakja a következõ: `nyelv-freebsd-doc`, ahol a _nyelv_ az adott nyelv rövid kódja, vagyis a magyar esetén a `hu`, illetve az egyszerûsített kínai esetén a `zh_ch`. ==== [[doc-ports-update]] ==== A dokumentációs portok frissítése Az elõzetesen telepített dokumentációs portok bármilyen portok frissítésére alkalmas eszközzel frissíthetõek. Például a telepített magyar nyelvû dokumentáció a package:ports-mgmt/portupgrade[] eszközön keresztül így frissíthetõ csomagok használatával: [source,shell] .... # portupgrade -PP hu-freebsd-doc .... [[current-stable]] == A fejlesztõi ág követése A FreeBSD-nek két fejlesztési ága van: a FreeBSD.current és a FreeBSD-STABLE. Ebben a szakaszban mindegyikükrõl monduk pár szót, és megmutatjuk, miként lehet az adott ághoz igazítani a rendszerünk frissítését. Elõször a FreeBSD-CURRENT, majd a FreeBSD-STABLE változata kerül tárgyalásra. [[current]] === A FreeBSD friss változatának használata Ahogy arról már az imént is szó esett, nem szabad elfelejtenünk, hogy a FreeBSD-CURRENT a FreeBSD fejlesztésének "frontvonala". Emiatt a FreeBSD-CURRENT használóinak szakmailag jólképzetteknek kell lenniük, és sosem szabad visszariadniuk a használat közben felmerülõ rendszerszintû problémák önálló megoldásától. Ha korábban még nem foglalkoztunk FreeBSD-vel, kétszer is gondoljuk meg a telepítését! ==== Mi a FreeBSD-CURRENT? A FreeBSD-CURRENT a FreeBSD mögött álló legfrissebb forráskódot képviseli. Itt találkozhatunk különféle olyan fejlesztés alatt álló részekkel, kísérletezésekkel és átmeneti megoldásokkal, amelyek nem feltétlenül kerülnek bele a szoftver következõ hivatalos kiadásába. Noha a FreeBSD fejlesztõi a FreeBSD-CURRENT forráskódját naponta fordítják, adódhatnak olyan idõszakok, amikor a források mégsem használhatóak maradéktalanul. Az ilyen gondokat általában a lehetõ leggyorsabban igyekeznek megoldani, azonban attól függõen, hogy éppen a forráskód melyik verzióját sikerült kifogni, a FreeBSD-CURRENT használata kész katasztrófa vagy akár a fejlõdésben igazi továbblépés is lehet. ==== Kinek van szüksége a FreeBSD-CURRENT-re? A FreeBSD-CURRENT használata elsõsorban az alábbi 3 csoportot érinti: . A FreeBSD közösség azon tagjait, akik aktívan dolgoznak a forrásfa valamelyik részén, és mindazokat, akik számára a "legfrissebb" verzió használata feltétlen elvárás. . A FreeBSD közösség azon tagjait, akik aktívan tesztelnek, és a FreeBSD-CURRENT kordában tartásához hajlandóak idõt áldozni a menet közben felbukkanó problémák megoldására. Vannak olyanok is, akik a FreeBSD változásaival és fejlesztési irányával kapcsolatban kívánnak javaslatokat tenni, melyeket javítások és módosítások formájában tesznek közzé. . Mindazokat, akik pusztán kíváncsiak a fejlesztésben zajló eseményekre, vagy hivatkozási szándékkal töltik le a legfrissebb forrásokat (például csak _nézegetik_, de nem futtatják). Az ilyen emberek esetenként megjegyzéseket fûznek a fejlesztéshez vagy kódot küldenek be. ==== Mi _nem_ a FreeBSD-CURRENT? . Az olyan kiadás elõtt álló funkciók kipróbálásának egyszerû módja, amelyekrõl hallottunk, hogy milyen remek újdonságokat hoznak és mi akarunk lenni az elsõk, akik ezt használni is fogják. Ne feledjük azonban, hogy amikor mindenki elõtt kezdünk el használni egy újítást, mi leszünk egyben az elsõk is, akik szembesülnek a benne rejlõ hibákkal. . A gyors hibajavítások eszköze. A FreeBSD-CURRENT szinte bármelyik változata pontosan ugyanakkora valószínûséggel hoz magával új hibákat, mint ahogy eltünteti a régieket. . Akármilyen értelemben is "hivatalosan támogatott". Képességeinktõl függõen õszintén igyekszünk a lehetõ legtöbbet megtenni a 3 "törvényes" FreeBSD-CURRENT csoportba tartozó emberekért, azonban egyszerûen _nincs idõnk_ komolyabb segítségnyújtást adni. Ez viszont nem azt jelenti, hogy komisz és fukar emberek vagyunk, akik utálnak segíteni a másiknak (de máskülönben nem tudna fejlõdni a FreeBSD). Csupán a FreeBSD fejlesztése _közben_ fizikailag képtelenek vagyunk a naponta érkezõ ezernyi üzenetet rendre megválaszolni! A FreeBSD elõremozdítása és a kísérleti stádiumban álló kóddal kapcsolatos kérdések megválaszolása közül a fejlesztõk általában az elsõt részesítik elõnyben. ==== A FreeBSD-CURRENT használata . Iratkozzunk fel az {freebsd-current} és {svn-src-head} listákra. Ez nem egyszerûen hasznos, hanem _elengedhetetlen_. Ha nem vagyunk a _{freebsd-current}_ listán, akkor nem fogjuk látni a rendszer aktuális állapotára vonatkozó megjegyzéseket, és így esetleg feleslegesen öljük az idõnket olyan problémák megoldásába, amelyeket mások már korábban megoldottak. Ami viszont ennél is fontosabb, hogy így elszalasztjuk a rendszerünk folyamatos életbentartására vonatkozó létfontosságú bejelentéseket. + Az {svn-src-head} listán láthatjuk az a forráskód egyes változtatásaihoz tartozó naplóbejegyzéseket, a hozzájuk tartozó esetleges mellékhatások ismertetésével együtt. + -A listákra vagy a {mailman-lists-url} oldalon található többi lista valamelyikére úgy tudunk feliratkozni, ha rákattintunk a nevére. A további lépésekrõl ezt követõen itt kapunk értesítést. Amennyiben a teljes forrásfa változásai érdekelnek minket, javasoljuk az {svn-src-all} lista olvasását. +A listákra vagy a {mailing-lists-url} oldalon található többi lista valamelyikére úgy tudunk feliratkozni, ha rákattintunk a nevére. A további lépésekrõl ezt követõen itt kapunk értesítést. Amennyiben a teljes forrásfa változásai érdekelnek minket, javasoljuk az {svn-src-all} lista olvasását. . A crossref:mirrors[mirrors,tükrözések] egyikérõl töltsük le a FreeBSD forrását. Erre két mód is kínálkozik: .. Használjuk a crossref:mirrors[cvsup,cvsup] programot a [.filename]#/usr/shared/examples/cvsup# könyvtárban található [.filename]#standard-supfile# állománnyal. Ez a leginkább ajánlott módszer, hiszen így csak egyszer kell letölteni az egész gyûjteményt, majd ezután már csak a változásokat. Sokan a `cvsup` parancsot a `cron` parancson keresztül adják ki, és ezzel mindig automatikusan frissítik a forrásaikat. A crossref:mirrors[cvsup,cvsup] mûködését a fentebb említett minta [.filename]#supfile# állomány megfelelõ módosításával tudjuk a saját környezetünkhöz igazítani. + [NOTE] ==== Az említett [.filename]#standard-supfile# állomány eredetileg nem a FreeBSD-CURRENT, hanem inkább a FreeBSD biztonsági problémáit érintõ javítások követésére használatos. A FreeBSD-CURRENT forrásainak eléréséhez a következõ sort kell kicserélnünk ebben az állományban: [.programlisting] .... *default release=cvs tag=RELENG_X_Y .... Erre: [.programlisting] .... *default release=cvs tag=. .... A `tag` paramétereként megadható egyéb címkékrõl a kézikönyv crossref:mirrors[cvs-tags,CVS címkék] szakaszában olvashatunk. ==== .. Használjuk a CTM alkalmazás nyújtotta lehetõségeket. Amennyiben nagyon rossz netkapcsolattal rendelkezünk (drága vagy csak levelezésre használható) a CTM megoldást jelenthet számunkra. Legyünk azonban tekintettel arra, hogy helyenként zûrös lehet a használata és néha hibás állományokat gyárt. Emiatt viszont csak ritkán használják, így elõfordulhat, hogy hosszabb ideig nem is mûködik. A 9600 bps vagy annál nagyobb sebességû kapcsolatok esetén ezért inkább a CVSup használatát javasoljuk. . Ha nem csak böngészésre, hanem fordításra is szedjük a forrásokat, mindig töltsük le a FreeBSD-CURRENT _egészét_, ne csak egyes részeit. Ez azzal magyarázandó, hogy a forráskód bizonyos részei más helyeken található részektõl is függenek, és ezért az önálló fordításuk szinte garantáltan gondot fog okozni. + A FreeBSD-CURRENT lefordítása elõtt figyelmesen olvassuk át a [.filename]#/usr/src# könyvtárban található [.filename]#Makefile# állományt. A frissítési folyamat részeként elõször mindenképpen érdemes <>. Olvassuk el a {freebsd-current} üzeneteit és a [.filename]#/usr/src/UPDATING# állományt, ahol megtalálhatjuk az ezzel kapcsolatos legújabb információkat, melyek egy-egy újabb kiadás közeledtével egyre fontosabbá válnak. . Foglalkozzunk vele! Ha már a FreeBSD-CURRENT változatát használjuk, ne legyünk restek véleményt formálni róla, különösen abban az esetben, ha továbbfejlesztésekrõl vagy hibákra van szó. Leginkább a forráskóddal együtt érkezõ javaslatoknak szoktak örülni a fejlesztõk! [[stable]] === A FreeBSD stabil változatának használata ==== Mi a FreeBSD-STABLE? A FreeBSD-STABLE az a fejlesztési ág, ahonnan az egyes kiadások származnak. Ebbe az ágba már más ütemben kerülnek a változások, mivel általánosan elfogadott, hogy ide a korábban már kipróbált módosítások vándorolnak át a FreeBSD-CURRENT ágból. Ez azonban _még mindig_ csak egy fejlesztési ág, ami arra utal, hogy a FreeBSD-STABLE által adott pillanatban képviselt források nem feltétlenül felelnek meg bizonyos célokra. Ez csupán egy újabb fejlesztési nyomvonal, nem pedig a végfelhasználók kenyere. ==== Kinek van szüksége a FreeBSD-STABLE-re? Ha szeretnénk figyelemmel kísérni vagy valamilyen módon kiegészíteni a FreeBSD fejlesztési folyamatát, különösen a FreeBSD következõ "nagyobb" kiadását illetõen, akkor érdemes követnünk a FreeBSD-STABLE forrásait. Habár a FreeBSD-STABLE ágba is bekerülnek a biztonsági jellegû javítások, ettõl még nem kell feltétlenül ezt követnünk. A FreeBSD-hez kiadott biztonsági figyelmeztetések mindig leírják, hogyan kell javítani a hibát az érintett kiadásokban , azonban az egész fejlesztési ágat felesleges csak biztonsági okból kifolyólag követni, mivel így olyan változások is kerülhetnek a rendszerbe, amire nincs szükségünk. Habár igyekszünk gondoskodni a FreeBSD-STABLE ágban található források lefordíthatóságáról és mûködõképességérõl, nem minden esetben szavatolható. Ráadásul mivel a FreeBSD-STABLE ágba kerülõ kódokat elõször a FreeBSD-CURRENT ágban fejlesztik ki, és mivel a FreeBSD-STABLE felhasználói többen vannak a FreeBSD-CURRENT változaténál, ezért szinte elkerülhetetlen, hogy ilyenkor a FreeBSD-STABLE változatban bizonyos hibák és szélsõséges esetek be ne következzenek, amelyek a FreeBSD-CURRENT használata során még nem buktak ki. Ezért a FreeBSD-STABLE ág vakon követését senkinek _sem_ ajánljuk, és különösen fontos, hogy éles szervereken elõzetes kimerítõ tesztelések nélkül ne futassunk FreeBSD-STABLE rendszert. Ha ehhez nem rendelkezünk elegendõ erõforrással, akkor egyszerûen használjuk a FreeBSD legfrissebb kiadását, és az egyes kiadások között pedig bináris frissítéssel közlekedjünk. ==== A FreeBSD-STABLE használata . Iratkozzunk fel a {freebsd-stable} listára. Ezen keresztül értesülhetünk a FreeBSD-STABLE használata során felmerülõ fordítási függõségekrõl vagy más, külön figyelmet igénylõ problémákról. Gyakran ezen a levelezési listán elmélkednek a fejlesztõk a vitatott javításokról vagy frissítésekrõl, amibe a felhasználók is beleszólhatnak, ha a szóbanforgó változtatással kapcsolatban bármilyen problémájuk vagy ötletünk van. + Iratkozzunk fel a követni kívánt ághoz tartozó SVN levelezési listára. Például ha a 7-STABLE ág változásait követjük, akkor az link:{svn-src-stable-7-url}[svn-src-stable-7] listára érdemes feliratkoznunk. Ennek segítségével elolvashatjuk az egyes változtatásokhoz tartozó naplóbejegyzéseket, a rájuk vonatkozó esetleges mellékhatások ismertetésével együtt. + -Ezekre, valamint a {mailman-lists-url} címen elérhetõ listák valamelyikére úgy tudunk feliratkozni, ha a nevükre kattintunk. A további teendõk ezután itt jelennek meg. +Ezekre, valamint a {mailing-lists-url} címen elérhetõ listák valamelyikére úgy tudunk feliratkozni, ha a nevükre kattintunk. A további teendõk ezután itt jelennek meg. . Amennyiben egy új rendszert akarunk telepíteni és a FreeBSD-STABLE havonta készült pillanatképeit akarjuk rajta futtatni, akkor errõl bõvebb felvilágosítást a link:https://www.FreeBSD.org/snapshots/[Pillanatképek] honlapján találhatunk (angolul). Emellett a legfrissebb FreeBSD-STABLE kiadást telepíthetjük a crossref:mirrors[mirrors,tükrözések] valamelyikérõl is, majd innen a lentebb található utasítások szerint tudunk hozzáférni a FreeBSD-STABLE forráskódjának legfrissebb változatához. + Ha már fut a gépünkön a FreeBSD egy korábbi kiadása, és ezt akarjuk forráson keresztül frissíteni, akkor ezt a FreeBSD crossref:mirrors[mirrors,tükrözéseivel] könnyedén megtehetjük. Két módon is: .. Használjuk a crossref:mirrors[cvsup,cvsup] programot a [.filename]#/usr/shared/examples/cvsup# könyvtárból származó [.filename]#stable-supfile# állománnyal. Ez a leginkább ajánlott módszer, mivel így csak egyszer kell letölteni a teljes gyûjteményt, utána már csak a hozzá tartozó változtatásokra van szükségünk. A `cvsup` parancsot sokan a `cron` segítségével futtatják, és ezzel automatikusan frissülnek a forrásainak. A crossref:mirrors[cvsup,cvsup] mûködését környezetünkhöz az elõbb említett minta [.filename]#supfile# megfelelõ módosításával tudjuk behangolni. .. Használjuk a CTM programot. Ha nincs olcsó vagy gyors internetkapcsolatunk, akkor érdemes ezt a módszert választani. . Alapvetõen azonban ha gyorsan szeretnénk hozzájutni a forrásokhoz és a sávszélesség nem meghatározó tényezõ, akkor helyette válasszuk a `cvsup` vagy az `ftp` használatát, és csak minden más esetben CTM-et. . Mielõtt lefordítanánk a FreeBSD-STABLE változatát, figyelmesen olvassuk át a [.filename]#/usr/src# könyvtárban levõ [.filename]#Makefile# állományt. Az átállási folyamat részeként elõször minden bizonnyal <>. A {freebsd-stable} valamint a [.filename]#/usr/src/UPDATING# elolvasásából értesülhetünk azokról az egyéb, gyakran nagyon fontos változásokról, melyek elengedhetetlenek lesznek a következõ kiadás használatához. [[synching]] == A forrás szinkronizálása Az internet (vagy elektronikus levelek) használatán keresztül számos mód kínálkozik az FreeBSD Projekthez tartozó források frissen tartásához egy adott, vagy éppen az összes területen attól függõen, hogy mik érdekelnek minket. Ehhez elsõsorban az crossref:mirrors[anoncvs,Anonim CVS], crossref:mirrors[cvsup,CVSup] és crossref:mirrors[ctm,CTM] szolgáltatásokat ajánljuk fel. [WARNING] ==== Habár lehetséges csupán a forrásfa egyes részeit letölteni, a támogatott frissítési eljárás során azonban szükségünk lesz az egész fa szinkronizálására és a rendszerhez tartozó felhasználói programok (vagyis minden olyan program, amely a felhasználói térben fut, ilyeneket találhatunk többek közt a [.filename]#/bin# és [.filename]#/sbin# könyvtárakban) valamint rendszermag újrafordítására is. Ha csak a felhasználói programok forrásait, vagy csak a rendszermagot, esetleg csupán a forrásfa egyes részeit frissítjük, akkor az gondokat okozhat. Az itt elõforduló problémák fordítási hibáktól kezdve rendszerösszeomlásokon keresztül akár adatvesztésbe is torkollhatnak. ==== Az Anonim CVS és a CVSup alkalmazások ún. _lehúzással_ frissítik a forrásokat. A CVSup használatakor a felhasználó (vagy a `cron` szkript) meghívja a `cvsup` programot, amely az állományok aktualizálásához felveszi a kapcsolatot egy máshol megtalálható `cvsupd` szerverrel. Az így nyert frissítések az adott pillanatig visszemenõleg érkeznek meg, de csak akkor, ha igényeljük ezeket. A frissítést könnyedén le tudjuk szabályozni a számunkra érdekes egyes állományokra és könyvtárakra. A frissítéseket a szerver hozza létre menet közben annak megfelelõen, hogy milyen verziókkal rendelkezünk, és mihez akarunk szinkronizálni. Az Anonim CVS a CVSupnál valamivel egyszerûbb abban a tekintetben, hogy ez a CVS-nek egy olyan kiterjesztése, amely lehetõvé teszi a változtatások közvetlen lehúzását egy távoli CVS tárházból. Miközben a CVSup mindezt sokkal hatékonnyabb valósítja meg, addig az Anonim CVS jóval könnyebben használható. Velük szemben a CTM nem hasonlítja össze interaktívan a saját és a központi szerveren tárolt forrásokat és nem is húzza át ezeket. Ehelyett egy olyan szkriptõl van szó, amely naponta többször megvizsgálja a központi CTM szerveren tárolt állományok a legutóbbi futtatás óta keletkezett változtatásait, majd az észlelt módosulásokat betömöríti, felcímkézi egy sorozatszámmal és (nyomtatható ASCII formátumban) elõkészíti ezeket az e-mailen keresztüli küldésre. Az így létrehozott "CTM delták" megérkezésük után a man:ctm_rmail[1] segédprogrammal kerülnek feldolgozásra, amely magától visszaalakítja, ellenõrzi és alkalmazza a változtatásokat a forrásfa felhasználó birtokában levõ másolatára. Ez a megoldás hatékonyabb a CVSup használatánál, mert kisebb terhelést jelent a szerverek számára, hiszen a frissítéshez nem a _lehúzást_, hanem a _küldést_ alkalmazzák. Természetesen minden említett eljárásnak megvannak a maga kompromisszumai. Ha véletlenül kitöröljük a forrásfánk egyes részeit, a CVSup képes ezt észrevenni és helyreállítani a sérült részeket. A CTM ezzel szemben ezt nem végzi el, szóval ha (biztonsági mentés nélkül) letöröljük a forrásainkat, akkor az egész szinkronizálást az elejérõl kell kezdenünk (pontosabban a legfrissebb CVS-es "alapdeltától") és a CTM-mel újraépíteni az egészet, esetleg a Anonim CVS-sel letörölni a hibás adatokat és újraszinkronizálni. [[makeworld]] == Az alaprendszer újrafordítása Miután sikerült a helyi forrásfánkat a FreeBSD egy nekünk szimpatikus (FreeBSD-STABLE, FreeBSD-CURRENT és így tovább) változatához igazítanunk, elérkezett az idõ, hogy a segítségével újrafordítsuk az egész rendszert. [WARNING] .Készítsünk biztonsági mentést ==== Nem tudjuk eléggé nyomatékosítani, hogy _mielõtt_ nekikezdenénk, készítsünk egy biztonsági mentést a rendszerünkrõl. Míg az alaprendszer újrafordítása nem túlságosan bonyolult feladat (egészen addig, amíg a megadott utasításokat követjük), saját magunk vagy mások hibájából fakadóan kialakulhatnak olyan helyzetek, amikor a rendszer nem lesz képes elindulni. Mindenképpen gyõzödjünk meg róla, hogy tisztességesen elvégeztük a mentést és akad a kezünk ügyében egy javításra felhasználható rendszerindító floppy vagy CD. Valószínûleg soha nem lesz ténylegesen szükségünk rájuk, azonban jobb félni, mint megijedni! ==== [WARNING] .Iratkozzunk fel a megfelelõ levelezési listákra ==== A FreeBSD-STABLE és FreeBSD-CURRENT ágak természetüknél fogva _fejlesztés alatt állnak_. A FreeBSD fejlesztését is emberek végzik, ezért elõfordulhatnak benne tévedések. Ezek a tévedések gyakran csak ártalmatlan apróságok, amelyek hatására kapunk például egy ismeretlen diagnosztikai hibát. De ezzel szemben létrejöhetnek pusztító erejû hibák is, amelyek hatására a rendszerünk nem lesz képes elindulni, károsodnak az állományrendszerek (vagy még rosszabb). Ha ilyen történik, akkor egy "felszólítást" (egy "heads up" témájú üzenetet) küldenek az érintett változatokhoz tartozó listákra, amelyben igyekeznek kifejteni a probléma természetét és a rendszerre mért hatását. Miután "minden rendbejött", a probléma megoldásáról is küldenek egy értesítést. Ha a {freebsd-stable} vagy a {freebsd-current} olvasása nélkül próbáljuk meg használni a FreeBSD-STABLE és FreeBSD-CURRENT verziókat, akkor csak magunknak keressük a bajt. ==== [WARNING] .Ne használjuk a `make world` parancsot ==== Rengeteg régebben készült dokumentáció erre a feladatra a `make world` parancs kiadását javasolja. Ennek használatával azonban átlépünk olyan fontos lépéseket, amelyek valójában csak akkor lennének kihagyhatóak, ha pontosan tudjuk mit csinálunk. Ezért az esetek döntõ többségében nem a `make world` használatára van szükségünk, hanem a most bemutatandó eljárásra. ==== [[canonical-build]] === A rendszer frissítése dióhéjban A frissítés megkezdése elõtt érdemes elolvasnunk a [.filename]#/usr/src/UPDATING# állományt, ahol a letöltött források használatához elvégzendõ elõzetes intézkedésekrõl kaphatunk hírt. Ezután kövessük az alábbiakban körvonalazott módszer egyes lépéseit. Ezek a lépések feltételezik, hogy egy korábbi FreeBSD verziót használunk, tehát a fordító, a rendszermag, az alaprendszer és a konfigurációs állományok valamelyik régebbi változatát. Alaprendszer alatt, amelyet sokszor csak a "world" néven hivatkozunk, a rendszer számára alapvetõ fontosságú binárisokat, programkönyvtárakat és programfejlesztéshez szükséges egyéb állományokat értjük. Maga a fordítóprogram is része ennek, azonban tartalmaz néhány speciális megszorítást. Mindezek mellett továbbá feltételezzük, hogy elõzetesen már valamilyen módon letöltöttük a friss forrásokat. Ha rendszerünkön ezt még nem tettük volna meg, akkor a <> segítségével tájékozódhatunk részletesen arról, hogyan tölthetjük le a legfrissebb verziót. A rendszer forráskódon keresztüli frissítése egy kicsivel körülményesebb, mint amennyire elsõre látszik. A FreeBSD fejlesztõk az évek során fontosnak találták, hogy a folyamatosan felszínre bukkanó, elkerülhetetlen függõségek tükrében meglehetõsen drámai módon megváltoztassák az erre javasolt módszert. Ezért a szakasz további részében a pillanatnyilag javasolt frissítési megoldás nyomán fogunk haladni. A sikeres frissítések során az alábbi akadályokkal kell mindenképpen szembenéznünk: * A fordító régebbi változata nem feltétlenül lesz képes lefordítani az új rendszermagot. (Illetve a régebbi fordítóprogramok tartalmazhatnak hibákat.) Ezért az új rendszermagot már a fordító új változatával kell elõállítanunk. Ebbõl következik, hogy az új rendszermag elkészítéséhez elõször a fordítóprogram újabb változatát kell lefordítanunk. Ez viszont nem feltétlenül jelenti azt, hogy az új rendszermag fordítása elõtt az új fordítóprogramot _telepítenünk_ is kellene. * Az új alaprendszer esetenként bizonyos új funkciókat igényelhet a rendszermagtól. Ezért a frissebb alaprendszer telepítése elõtt telepítenünk kell a frissebb rendszermagot. * Ez az elõbb említett két akadály képzi az okát a következõ bekezdésekben bemutatott `buildworld`, `buildkernel`, `installkernel`, `installworld` sorozatnak. Természetesen léteznek további egyéb indokok is, amiért még érdemes az itt leírtak szerint frissíteni a rendszerünket. Ezek közül most vegyünk néhány kevésbé nyilvánvalóbbat: ** A régebbi alaprendszer nem minden esetben fog problémamentesen együttmûködni az új rendszermaggal, ezért az alaprendszer újabb változatát szinte azonnal az új rendszermagot követõen kell telepítenünk. ** Vannak olyan konfigurációs változtatások, amelyeket még az új alaprendszer telepítése elõtt el kell végeznünk, a többi viszont veszélyes lehet a korábbi alaprendszerre. Ezért a konfigurációs állományokat általában két külön lépésben kell frissíteni. ** A frissítés során nagyrészt csak állományok cserélõdnek el és újabbak érkeznek, a korábbiak nem törlõdnek. Ez bizonyos esetekben azonban gondokat okozhat. Ennek eredményeképpen a frissítés során idõnként elõfordulhat, hogy magunknak kell manuálisan némely megadott állományokat törölnünk. Elképzelhetõ, hogy ezt a jövõben még majd automatizálni fogják. + Ezek a megfontolások vezettek tehát az ismertetendõ eljárás kialakításához. Ettõl függetlenül adódhatnak olyan helyzetek, amikor további lépéseket is be kell iktatnunk, viszont az itt bemutatott folyamat egy ideje már viszonylag elfogadottnak tekinthetõ: .. `make buildworld` + Elõször lefordítja az új fordítóprogramot és néhány hozzá tartozó eszközt, majd ennek felhasználásával elkészíti az alaprendszer többi részét. Az eredmény a [.filename]#/usr/obj# könyvtárban keletkezik. .. `make buildkernel` + Eltérõen a man:config[8] és man:make[1] programok korábban javasolt alkalmazásától, ezzel a paranccsal már a [.filename]#/usr/obj# könyvtárban létrehozott _új_ fordítót használjuk. Ez védelmet nyújt a fordító és rendszermag változatai közti eltérésekbõl fakadó problémák ellen. .. `make installkernel` + Telepíti a lemezre az új rendszermagot és a hozzá tartozó modulokat, ezáltal lehetõvé válik a frissített rendszermag betöltése. .. Átváltás egyfelhasználós módba. + Egyfelhasználós módban a minimálisra csökkenthetjük a futó szoftverek frissítésébõl adódó bonyodalmakat. Ezzel együtt minimálissá válik a régi alaprendszer és az új rendszermag eltéréseibõl eredõ problémák elõfordulása is. .. `mergemaster -p` + Az új alaprendszer telepítéséhez elvégzi a konfigurációs állományok részérõl szükséges frissítéseket. Például felvesz még nem létezõ csoportokat vagy felhasználókat. Ez gyakran elengedhetetlennek bizonyulhat, mivel ha a rendszer legutóbbi frissítése óta újabb csoportok vagy felhasználók kerültek be az alaprendszerbe, a `installworld` csak akkor tud hibamentesen lefutni, ha ezek már a futásakor is elérhetõek. .. `make installworld` + Átmásolja a [.filename]#/usr/obj# könyvtárból a korábban elkészített új alaprendszert. Lefutása után már mind az új rendszermag és az új alaprendszer a megfelelõ helyén található. .. `mergemaster` + Feldolgozzuk a korábbi fázisból fennmaradó konfigurációs állományok frissítését, mivel most már elérhetõ az új alaprendszer. .. A rendszer újraindítása. + Az új rendszermag és az új konfigurációs állományokkal futó alaprendszer használatához teljesen újra kell indítanunk a számítógépünket. + Ha a FreeBSD ugyanazon fejlesztési ágán belül frissítjük a rendszerünket, például a 7.0 kiadásról a 7.1 kiadásra, akkor értelemszerûen nem kell az iménti eljárás minden lépését szorosan követni, hiszen nagyon valószínûtlen, hogy komoly eltérések lennének a fordítóprogram, a rendszermag, az alaprendszer és a konfigurációs állományok között. Ilyenkor akár nyugodtan kiadhatjuk a `make world` parancsot, majd kérhetjük a rendszermag fordítását és telepítését. + A fejlesztési ágak közti váltás során azonban könnyen érhetnek minket meglepetések, ha nem a megadottak szerint járunk el. + Egyes váltásokhoz (például 4._X_ és 5.0 között) további lépések megtétele is szükséges lehet (például adott állományok törlése vagy átnevezése még az `installworld` elõtt). Ilyenkor mindig figyelmesen olvassuk át a [.filename]#/usr/src/UPDATING# állományt, különös tekintettel a végére, mivel gyakran ott adják meg a konkrét verzióváltáshoz szükséges teendõket. + A szakaszban összefoglalt lépések egyfajta evolúciós folyamat eredményei, melynek során a fejlesztõk felismerték, hogy nem tökéletesen kivédeni az összes frissítéssel járó problémát. A javasolt eljárás remélhetõleg viszont még sokáig érvényes marad. + [NOTE] ==== A FreeBSD 3._X_ vagy annál is korábbi változatok frissítése még ennél is több ügyességet kíván. Ha ilyen verziót akarunk frissíteni, akkor feltétlenül olvassuk el az [.filename]#UPDATING# állományt! ==== + Röviden tehát a FreeBSD forráskódon keresztüli frissítését így foglalhatjuk össze: [source,shell] .... # cd /usr/src # make buildworld # make buildkernel # make installkernel # shutdown -r now .... [NOTE] ==== Néhány ritka esetben a `buildworld` lépés elõtt szükségünk lehet a `mergemaster -p` parancs lefuttatására is. Errõl az [.filename]#UPDATING# állományból tudakozódhatunk. Általában azonban nyugodt szívvel kihagyhatjuk ezt a lépést, kivéve, ha nem egy vagy több fõbb FreeBSD változatot átívelõ frissítést végzünk. ==== Miután az `installkernel` sikeresen befejezte a munkáját, indítsuk újra a számítógépet egyfelhasználós módban (a betöltõ parancssorában adjuk ki `boot -s` parancsot). Itt futtassuk a következõket: [source,shell] .... # adjkerntz -i # mount -a -t ufs # mergemaster -p # cd /usr/src # make installworld # mergemaster # reboot .... [WARNING] .Olvassuk el a magyarázatokat ==== Az iménti leírt folyamat csupán rövid összefoglalás, amivel némi gyorstalpalást igyekeztünk adni. Az egyes lépések megértéséhez azonban javasolt átolvasni a most következõ szakaszokat is, különösen abban az esetben, ha saját rendszermagot akarunk használni. ==== [[src-updating]] === Nézzük meg a [.filename]#/usr/src/UPDATING# állományt Mielõtt bármihez is nekifognánk, keressük meg a [.filename]#/usr/src/UPDATING# (vagy hasonló, a forráskód másolatunk tényleges helyétõl függõ) állományt. Ebben adják hírül az esetlegesen felmerülõ problémákra vonatkozó fontosabb információkat, vagy határozzák meg az egyes lefuttatandó parancsok pontos sorrendjét. Amennyiben az [.filename]#UPDATING# ellentmondana az itt olvasottaknak, az [.filename]#UPDATING# tartalma a mérvadó. [IMPORTANT] ==== A korábban tárgyaltak szerint az [.filename]#UPDATING# elolvasása nem helyettesíti a megfelelõ levelezési listák figyelemmel kísérését. Ez a két elvárás nem kizárja, hanem kiegészíti egymást. ==== [[make-conf]] === Ellenõrizzük az [.filename]#/etc/make.conf# állományt Vizsgáljuk át a [.filename]#/usr/shared/examples/etc/make.conf# és az [.filename]#/etc/make.conf# állományokat. Az elõbbi tartalmaz néhány alapértelmezett beállítást - ezek javarészét megjegyzésbe rakták. Ha használni akarjuk a rendszer lefordítása során, tegyük bele ezeket az [.filename]#/etc/make.conf# állományba. Ne felejtsük el azonban, hogy minden, amit megadunk az [.filename]#/etc/make.conf# állományba, a `make` minden egyes elindításakor felhasználásra kerül. Éppen ezért olyanokat érdemes itt beállítani, amik az egész rendszerünket érintik. A legtöbb felhasználó számára az [.filename]#/etc/make.conf# állományhoz a [.filename]#/usr/shared/examples/etc/make.conf# állományban található `CFLAGS` és `NO_PROFILE` sorokra lesz szüksége, melyeket kivehetünk a megjegyzésbõl. A többi definíció (`COPTFLAGS`, `NOPORTDOCS` és így tovább) használatáról már mindenki maga dönt. [[updating-etc]] === Frissítsük az [.filename]#/etc# tartalmát Az [.filename]#/etc# könyvtár tartalmazza a rendszer beállításaival kapcsolatos információk jelentõs részét, valamint a rendszer indítása során lefutó szkripteket. Egyes szkriptek a FreeBSD verzióiról verzióira változnak. Némely konfigurációs állományok a rendszer hétköznapi mûködésében is szerepet játszanak. Ilyen például az [.filename]#/etc/group#. Alkalmanként a `make installworld` parancs futása során igényt tart adott nevû felhasználókra és csoportokra. A frissítéskor azonban ezek a felhasználók vagy csoportok nem feltétlenül állnak rendelkezésre, ami gondokat okozhat. Ezért bizonyos esetekben a `make buildworld` elõzetesen ellenõrzi az igényelt felhasználók és csoportok meglétét. Erre például szolgálhat a `smmsp` felhasználó esete. Nélküle a felhasználók nem tudták telepíteni az új rendszert, mert hiányában az man:mtree[8] nem volt képes létrehozni a [.filename]#/var/spool/clientmqueue# könyvtárat. Ezt úgy lehetett megoldani, hogy még az alaprendszer lefordítása (a `buildworld`) elõtt meg kellett hívni a man:mergemaster[8] parancsot a `-p` paraméterrel. Így csak azokat az állományokat fogja összehasonlítani, amelyek feltétlenül szükségesek a `buildworld` vagy az `installworld` sikeres mûködéséhez. Amennyiben a `mergemaster` egy olyan verziójával rendelkezünk, amely nem ismeri a `-p` paramétert, akkor az elsõ indításakor használjuk a forrásfában található újabb verzióját: [source,shell] .... # cd /usr/src/usr.sbin/mergemaster # ./mergemaster.sh -p .... [TIP] ==== Ha különösen paranoiásak vagyunk, akkor a csoport törlése vagy átnevezése elõtt az alábbi paranccsal ellenõrizni tudjuk az általa birtokolt állományokat: [source,shell] .... # find / -group GID -print .... Ez megmutatja _GID_ (mely megadható numerikus vagy név formájában is) jelzésû csoporthoz tartozó összes állományt a rendszerünkben. ==== [[makeworld-singleuser]] === Váltsunk egyfelhasználós módba A rendszert egyfelhasználós módban érdemes lefordítani. A nyilvánvalóan érezhetõ gyorsaság elõnyei mellett azért is jobban járunk, mert az új rendszer telepítése során számos rendszerszintû állomány is módosításra kerül, beleértve a szabványos rendszerszintû binárisokat, függvénykönyvtárakat, include állományokat és így tovább. Ha üzemelõ rendszeren végezzük el mindezen változtatásokat (különösen amikor rajtunk kívül még további felhasználók is tartózkodnak a rendszerben), az csak a bajt hozza ránk. Másik lehetõség gyanánt a rendszert magát lefordíthatjuk többfelhasználós módban is, majd ezután csak a telepítést hajtjuk végre egyfelhasználós üzemmódban. Ha eszerint cselekszünk, egyszerûen várjunk addig, amíg az összes fordítás be nem fejezõdik, és az egyfelhasználósra váltást halasszuk a `installkernel` vagy `installworld` idejére. Egy mûködõ rendszerben rendszeradminisztrátorként az alábbi parancs kiadásával válthatunk át egyfelhasználós módba: [source,shell] .... # shutdown now .... Ezt elérhetjük úgy is, ha újraindítjuk a rendszert és a rendszer indításakor a "single user" pontot választjuk a menübõl. Ekkor a rendszer egyfelhasználós módban indul el. Miután ez megtörtént, adjuk ki a következõ parancsokat: [source,shell] .... # fsck -p # mount -u / # mount -a -t ufs # swapon -a .... Ezekkel a parancsokkal elõször ellenõrizzük az állományrendszereket, ezután újracsatlakoztatjuk a [.filename]#/# állományrendszert írható módban, csatlakoztatjuk az [.filename]#/etc/fstab# állományban megadott összes többi UFS típusú állományrendszert, majd bekapcsoljuk a lapozóállomány használatát. [NOTE] ==== Ha a gépünk óráját nem a greenwich-i, hanem a helyi idõ szerint állítottuk be (ez akkor áll fenn, ha a man:date[1] parancs nem a helyes idõt és idõzónát jelzi ki), akkor még erre is szükségünk lehet: [source,shell] .... # adjkerntz -i .... Ezzel a helyi idõzóna beállításait tudjuk jól beállítani - nélküle késõbb még gondjaink akadhatnak. ==== [[cleaning-usr-obj]] === Töröljük a [.filename]#/usr/obj# könyvtárat A rendszer egyes részei fordításuk során a [.filename]#/usr/obj# könyvtáron belülre kerülnek (alapértelmezés szerint). Az itt található könyvtárak a [.filename]#/usr/src# könyvtárszerkezetét követik. Ha mindenestõl töröljük ezt a könyvtárat, akkor növeli tudjuk a `make buildworld` folyamat sebességét és megmenekülünk néhány függõségekkel kapcsolatos fejfájástól is. Egyes [.filename]#/usr/obj# könyvtáron belüli állományoknál szerepelhet a "megváltoztathatatlan" (immutable) állományjelzõ (lásd man:chflags[1]), amelyet a mûvelet elvégzéséhez elõször el kell távolítanunk. [source,shell] .... # cd /usr/obj # chflags -R noschg * # rm -rf * .... [[updating-upgrading-compilebase]] === Fordítsuk újra az alaprendszert ==== A kimenet elmentése Jól járunk azzal, ha a man:make[1] futásának kimenetét elmentjük egy állományba, mivel így a hibák esetén lesz egy másolatunk a hibaüzenetrõl. Ha konkrétan nekünk nem is feltétlenül segít megtalálni a hiba tényleges okát, mások viszont többet tudnak róla mondani, ha beküldjük ezt a FreeBSD egyik levelezési listájára. Ezt egyébként a legegyszerûbben a man:script[1] parancs segítségével oldhatjuk meg, amelynek paraméteréül azt az állományt kell megadni, ahova menteni akarjuk a kimenetet. Ezt közvetlenül a rendszer újrafordítása elõtt kell kiadnunk, majd miután megállt, a `exit` paranccsal kiléphetünk belõle. [source,shell] .... # script /var/tmp/mw.out Script started, output file is /var/tmp/mw.out # make TARGET ... fordít, fordít, fordít ... # exit Script done, ... .... Ilyenkor _soha ne_ a [.filename]#/tmp# könyvtárba mentsük a kimenetet, mert ennek a tartalma a következõ indítás során magától törlõdik. Sokkal jobban tesszük, ha a [.filename]#/var/tmp# könyvtárba (ahogy tettük azt az elõbbi példában is) vagy a `root` felhasználó könyvtárába mentünk. [[make-buildworld]] ==== Az alaprendszer fordítása A [.filename]#/usr/src# könyvtárban kell állnunk: [source,shell] .... # cd /usr/src .... (kivéve természetesen, ha máshol van a forráskód, akkor abba a könyvtárba menjünk). Az alaprendszert a man:make[1] paranccsal fordíthatjuk újra. Ez a [.filename]#Makefile# nevû állományból olvassa be a FreeBSD programjainak újrafordítását leíró utasításokat, a fordításuk sorrendjét és így tovább. A begépelendõ paranccsor általános alakja tehát a következõképpen néz ki: [source,shell] .... # make -x -DVÁLTOZÓ target .... A fenti példában a `-_x_` egy olyan a paraméter, amelyet a man:make[1] programnak adunk át. A man:make[1] man oldalán megtalálhatjuk az összes neki átadható ilyen beállítást. A `-D_VÁLTOZÓ_` alakú paraméterek közvetlenül a [.filename]#Makefile# állománynak adnak át olyan változókat, amelyek segítségével vezérelhetõ a viselkedése. Ezek ugyanazok a változók, mint amelyek az [.filename]#/etc/make.conf# állományban is szerepelnek, és itt a beállításuk egy másik módját kapjuk. Így a [source,shell] .... # make -DNO_PROFILE target .... paranccsal is megadhatjuk, hogy ne profilozott függkönyvtárak jöjjenek létre, ami pontosan megfelel a [.programlisting] .... NO_PROFILE= true # Avoid compiling profiled libraries .... sornak az [.filename]#/etc/make.conf# állományban. A _target_ árulja el a man:make[1] programnak, hogy mi a teendõje. Minden egyes [.filename]#Makefile# különbözõ "targeteket" definiál, és a kiválasztott target mondja meg, pontosan mi is fog történni. Egyes targetek ugyan megjelennek a [.filename]#Makefile# állományban, azonban nem feltétlenül hivatkozhatunk rájuk közvetlenül. Ehelyett csupán arra valók, hogy a fordítás folyamatának lépéseit felbontsák még kisebb allépésekre. A legtöbb esetben azonban semmilyen paramétert nem kell átadnunk a man:make[1] parancsnak, ezért a teljes formája így fog kinézni: [source,shell] .... # make target .... ahol a _target_ az egyik fordítási lehetõséget képviseli. Az elsõ ilyen targetnek mindig a `buildworld`-nek kell lennie. Ahogy a neve is mutatja, a `buildworld` lefordítja az összes forrást a [.filename]#/usr/obj# könyvtárba, majd a `installworld` mint másik target, telepíti az így létrehozott elemeket a számítógépre. A targetek szétválasztása két okból is elõnyös. Elõször is lehetõvé teszi, hogy az új rendszert biztonságban lefordíthassuk, miközben az a jelenleg futó rendszert nem zavarja. A rendszer tehát képes "saját magát újrafordítani". Emiatt a `buildworld` target akár többfelhasználós módban is mindenféle nem kívánatos hatás nélkül használható. Ennek ellenére azonban továbbra is azt javasoljuk, hogy a `installworld` részt egyfelhasználós módban futtassuk le. Másodrészt ezzel lehetõségünk nyílik NFS állományrendszer alkalmazásával több számítógépre is telepíteni hálózaton keresztül. Ha például három frissítendõ számítógépünk van, az `A`, `B` és `C`, akkor az `A` gépen elõször adjuk ki a `make buildworld`, majd a `make installworld` parancsot. A `B` és `C` gépek ezután NFS segítségével csatlakoztatják az `A`[.filename]#/usr/src# és [.filename]#/usr/obj# könyvtárait, amelyet követõen a `make installworld` paranccsal telepíteni tudjuk a fordítás eredményét a `B` és `C` gépekre. Noha a `world` mint target még mindig létezik, használata határozottan ellenjavalt. A [source,shell] .... # make buildworld .... parancs kiadásakor a `make` parancsnak megadható egy `-j` paraméter is, amellyel párhuzamosíthatjuk a folyamat egyes részeit. Ez általában többprocesszoros számítógépeken nyer értelmet, azonban mivel a fordítás folyamatának haladását inkább az állománymûveletek mintsem a processzor sebessége korlátozza, ezért alkalmazható akár egyprocesszoros gépeken is. Tehát egy átlagos egyprocesszoros gépen így adható ki a parancs: [source,shell] .... # make -j4 buildworld .... Ennek hatására man:make[1] egyszerre 4 szálon igyekszik mûködni. A levelezési listákra beküldött tapasztalati jellegû bizonyítékok azt igazolják, hogy általában ez a beállítás adja a legjobb teljesítményt. Ha többprocesszoros géppel rendelkezünk és rajta SMP támogatású rendszermagot indítottunk el, akkor érdemes 6 és 10 közötti értékekkel kísérleteznünk. ==== Idõigény Számos tényezõ befolyásolja a fordítás tényleges idõbeli hosszát, de a FreeBSD-STABLE fa lefordítása mindenféle trükkök és rövidítések nélkül a legtöbb számítógépen olyan egy vagy két órára taksálható. A FreeBSD-CURRENT fához ennél valamivel több idõre lesz szükségünk. [[new-kernel]] === Fordítsunk és telepítsünk egy új rendszermagot Az újdonsült rendszerünket csak akkor tudjuk igazán kihasználni, ha egy új rendszermagot is készítünk hozzá. Ez gyakorlati szinten tulajdonképpen elvárás, mivel könnyen elõfordulhat, hogy bizonyos memóriabeli adatszerkezetek felépítése megváltozott, ezért némely programok, mint például a man:ps[1] és man:top[1], egészen addig nem lesznek képesek normálisan mûködni, amíg a rendszer és a rendszermag forráskódja nem illeszkedik egymáshoz. Ennek legegyszerûbb és egyben legbiztonságosabb módja, ha a [.filename]#GENERIC# beállításai alapján gyártunk és telepítünk egy rendszermagot. Még ha a [.filename]#GENERIC# beállításai nem is tartalmazzák a rendszerünkben fellelhetõ összes eszközt, minden megtalálható bennük ahhoz, hogy a rendszert sikeresen elindíthassuk legalább egyfelhasználós módban. Ez mellesleg remek próbája az új rendszer életképességének. Miután elindítottuk a rendszert a [.filename]#GENERIC# típusú rendszermaggal és meggyõzõdtünk róla, hogy a rendszer tényleg mûködõképes, a megszokott rendszermagunk konfigurációs állománya alapján nyugodtan elkészíthetjük ezután azt is. FreeBSD alatt egy új rendszermag építése elõtt fontos <>. [NOTE] ==== Ha saját beállításaink szerint akarunk rendszermagot létrehozni és már van is ehhez egy konfigurációs állományunk, akkor erre használhatjuk a `KERNCONF=SAJÁTMAG` paramétert is, valahogy így: [source,shell] .... # cd /usr/src # make buildkernel KERNCONF=SAJÁTMAG # make installkernel KERNCONF=SAJÁTMAG .... ==== Hozzátennénk, hogy ha a `kern.securelevel` rendszerváltozó értékét 1 felé állítottuk _és_ a rendszermag állományának beállítottunk `noschg` vagy hozzá hasonló állományjelzõt, akkor az `installkernel` lefuttatásához mindenképpen egyfelhasználós módba kell váltanunk. Minden más esetben további bonyodalmak nélkül ki tudjuk adni az említett parancsokat. A `kern.securelevel` részleteirõl az man:init[8] oldalán, a különbözõ állományjelzõkrõl pedig a man:chflags[1] oldalán olvashatunk. [[new-kernel-singleuser]] === Indítsuk újra a rendszert egyfelhasználós módban Az új rendszermag mûködésének leteszteléséhez indítsuk újra a rendszert egyfelhasználós módban. Ennek pontos részleteit lásd <>. [[make-installworld]] === Telepítsük az új rendszer binárisait Ha a FreeBSD friss változatát nemrég fordítottuk le a `make buildworld` paranccsal, akkor utána az `installworld` segítségével tudjuk telepíteni a keletkezett programokat. Tehát írjuk be ezeket: [source,shell] .... # cd /usr/src # make installworld .... [NOTE] ==== Amennyiben a paranccsorban a `make buildworld` használata során adtunk meg változókat, akkor ne felejtsük el ugyanazokat megadni a `make installworld` kiadása során sem. Ez viszont a többi paraméterre már nem feltétlenül érvényes. Például a `-j` beállítást szigorúan tilos az `installworld` targettel együtt használni. Ennek megfelelõen tehát ha korábban ezt írtuk be: [source,shell] .... # make -DNO_PROFILE buildworld .... akkor így telepítsünk: [source,shell] .... # make -DNO_PROFILE installworld .... Máskülönben azokat a profilozott függvénykönyvtárakat próbáljuk meg telepíteni, amelyek a `make buildworld` futása során nem jöttek létre. ==== [[post-installworld-updates]] === Frissítsük a `make installworld` által kihagyott állományokat Az alaprendszer újrafordítása nem regisztrálja az új vagy megváltozott állományokat bizonyos könyvtárakban (különösen értendõ ez az [.filename]#/etc#, [.filename]#/var# és [.filename]#/usr# esetén). Az ilyen állományokat a legegyszerûbben a man:mergemaster[8] használatával tarthatjuk karban, de igény szerint akár kézzel is elvégezhetjük a szükséges aktualizálásokat. Függetlenül attól, hogy mit is választunk, mindenképpen készítsünk biztonsági mentést az [.filename]#/etc# könyvtárról arra az esetre, ha bármilyen szörnyûség történne. [[mergemaster]] ==== A `mergemaster` A man:mergemaster[8] segédprogram valójában egy Bourne szkript, amely segít az [.filename]#/etc# könyvtárunkban és a forrásfában levõ [.filename]#/usr/src/etc# könyvtárban elhelyezkedõ konfigurációs állományok közti eltérések megállapításában. Ezt a módszert ajánljuk arra, hogy összevessük a konfigurációs állományainkat a forrásfában található változataikkal. A használatának megkezdéséhez egyszerûen írjuk be, hogy `mergemaster`, majd várjunk egy kicsit, amíg a `mergemaster` létrehoz magának egy átmeneti környezetet a [.filename]#/# könyvtárból elindulva és megtölti azt a különbözõ rendszerszintû beállításokat tartalmazó állományokkal. Ezeket az állományokat aztán összehasonlítja a jelenleg érvényben levõ változataikkal. Ilyenkor a köztük talált eltéréseket a man:diff[1] formátumának megfelelõen módon mutatja meg, ahol a `+` jelöli a hozzáadott vagy módosított sorokat, a `-` pedig a teljesen eltávolítandó vagy cserélendõ sorokat. Errõl a formátumról bõvebben a man:diff[1] man oldalán találhatunk felvilágosítást. A man:mergemaster[8] ezt követõen megmutatja az összes olyan állományt, ahol eltérést tapasztalt, és ezen a ponton van lehetõségünk letörölni (delete) az új állományokat (amelyekre itt most ideiglenes állományként hivatkozik), telepíteni (install) a módosítatlan ideiglenes (új) állományt, valamint összefésülni (merge) az ideiglenes (új) és a jelenlegi állományokat, vagy ismét átnézni (view) a man:diff[1] által jelzett különbségeket. Ha az ideiglenes állomány törlését választjuk, akkor a man:mergemaster[8] ezt úgy értelmezi, hogy változatlanul meg akarjuk tartani a jelenlegi változatot és törölni az újat. Ezt alapvetõen nem javasoljuk, hacsak tényleg nem látunk valamilyen okot erre. A man:mergemaster[8] parancssorában a kbd:[?] begépelésével bármikor kérhetünk segítséget. Ha az állomány kihagyását (skip) választjuk, akkor majd ismét felajánlja, amikor végeztünk az összes többivel. A módosítatlan ideiglenes állomány telepítésének választásával lecseréljük a jelenleg verziót az újra. Ha az aktuális verziót sem változtattuk meg, akkor számunkra ez a legjobb megoldás. Az állományok összefésülésének kiválasztásakor kapunk egy szövegszerkesztõt, benne a két állomány tartalmával. Ilyenkor tudjuk a képernyõn soronként egyeztetni a két állományt, majd a belõlük a megfelelõ részek összeválogatásával kialakítani az eredményt. Ebben a feldolgozási módban az kbd:[l] (mint left, vagyis bal) billentyû lenyomására a bal oldalon látható részt, az kbd:[r] (mint right, vagyis jobb) lenyomására pedig a jobb oldalon látható részt választjuk ki. Az így keletkezõ eredményt ezután egy állományba kerül, amelyet telepíteni tudunk. Ez a megoldás olyan állományok esetében használható, amikor a felhasználó módosított az alapértelmezett beállításokat. Ha a man:diff[1] szerinti alakban akarjuk átnézni a különbségeket, akkor a man:mergemaster[8] ugyanúgy megmutatja ezeket, mint a paranccsor megjelenítése elõtt. Miután a man:mergemaster[8] végigment a rendszerszintû állományokon, további opciókat mutat. Megkérdezheti, hogy újra létre akarjuk-e hozni a jelszavakat tároló állományt (rebuild), illetve a folyamat végén a megmaradt ideiglenes állományok törlésére (remove) vár választ. ==== Az állományok aktualizálása kézzel Ha inkább manuálisan szeretnénk frissíteni, akkor nem másolhatjuk csak egyszerûen át az állományokat a [.filename]#/usr/src/etc# könyvtárból a [.filename]#/etc# könyvtárba és nem hagyhatjuk ezeket sorsukra. Egyes állományokat elõször "telepíteni" kell. Ez azért van így, mert a [.filename]#/usr/src/etc# könyvtár _nem pusztán_ az [.filename]#/etc# könyvtár egyszerû másolata. Ráadásul az [.filename]#/etc# könyvtárban vannak olyan állományok, amelyek a [.filename]#/usr/src/etc# könyvtárban nem is találhatóak meg. Ha (az ajánlottak szerint) a man:mergemaster[8] segítségével dolgozunk, nyugodtan átléphetünk a <>. Saját magunk a legegyszerûbben ezt úgy tudjuk megoldani, ha telepítjük az állományokat egy új könyvtárba és ezután nekiállunk változásokat keresni. [WARNING] .Az [.filename]#/etc# meglevõ tartalmának mentése ==== Habár elméletileg magától semmi sem fogja bántani ezt a könyvtárat, azért ettõl függetlenül mindig érdemes biztosra menni. Ezért másoljuk az [.filename]#/etc# könyvtár tartalmát egy megbízható helyre. Például: [source,shell] .... # cp -Rp /etc /etc.old .... Az `-R` itt a rekurzív másolást jelenti, a `-p` pedig a dátumok, az állományok és egyebek tulajdoni viszonyainak megõrzését. ==== Az [.filename]#/etc# új változatának telepítéséhez szükségünk lesz még további könyvtárakra is. Erre a feladatra a [.filename]#/var/tmp/root# tökéletesen megfelel, ahol még létre kell hoznunk néhány alkönyvtárat. [source,shell] .... # mkdir /var/tmp/root # cd /usr/src/etc # make DESTDIR=/var/tmp/root distrib-dirs distribution .... Ezzel létrejön a szükséges könyvtárszerkezet és települnek az állományok. Sok üres alkönyvtár is keletkezik a [.filename]#/var/tmp/root# könyvtáron belül, ezeket töröljük. Ezt a legkönnyebben így tehetjük meg: [source,shell] .... # cd /var/tmp/root # find -d . -type d | xargs rmdir 2/dev/null .... Ezzel törlõdnek az üres könyvtárak. (A szabvány hibakimenetet átirányítottuk a [.filename]#/dev/null# eszközre, és ezzel elnyomtuk a nem üres könyvtárak esetén keletkezõ hibaüzeneteket.) A [.filename]#/var/tmp/root# most már tartalmazza az összes olyan állományt, amelyek normális esetben a [.filename]#/# könyvtáron belül foglalnak helyet. Ezt követõen nincs más dolgunk, csak végigmenni az itt található állományokon és megállapítani, miben térnek a meglévõektõl. Vegyük észre, hogy a [.filename]#/var/tmp/root# könyvtárba telepített állományok némelyikének neve "."-tal kezdõdik. Az írás pillanatában ezek csak a [.filename]#/var/tmp/root/# és [.filename]#/var/tmp/root/root/# könyvtárakban található parancsértelmezõhöz tartozó indító állományok lehetnek, habár adódhatnak még ilyenek (attól függõen, mikor olvassuk ezt). Ezért a feldolgozásukhoz ne felejtsük el a `ls -a` parancsot használni. A man:diff[1] alkalmazásával legegyszerûbben így tudunk összehasonlítani két állományt: [source,shell] .... # diff /etc/shells /var/tmp/root/etc/shells .... Ennek hatására megjelennek az [.filename]#/etc/shells# és az új [.filename]#/var/tmp/root/etc/shells# állományok közti különbségek. A segítségével gyorsan el tudjuk dönteni, hogy összefésüljük-e a két állományt, vagy csak egyszerûen írjuk felül a régebbi verziót az újjal. [TIP] .Az új könyvtár ([.filename]#/var/tmp/root#) nevébe írjuk bele a dátumot is, így könnyedén össze tudunk hasonlítani több verziót is ==== A rendszer gyakori újrafordítása az [.filename]#/etc# szintén gyakori aktualizálását is maga után vonja, ami viszont fárasztó lehet. Az iménti folyamatot fel tudjuk gyorsítani, hogy ha az [.filename]#/etc# legutoljára összefésült változatát megtartjuk. A most következõ eljárás ennek mikéntjét vázolja fel. [.procedure] ====== . A megszokottak szerint fordítsuk le a rendszert. Majd amikor az [.filename]#/etc# könyvtárat és a többit is frissíteni akarjuk, a célként megadott könyvtár nevében adjuk meg a dátumot. Ha tehát például 1998. február 14. van, akkor írjuk ezt: + [source,shell] .... # mkdir /var/tmp/root-19980214 # cd /usr/src/etc # make DESTDIR=/var/tmp/root-19980214 \ distrib-dirs distribution .... + . Fésüljük össze a könyvtárban található az állományokat a fentiekben körvonalazottak szerint. + Befejezés után _õrizzük meg_ a [.filename]#/var/tmp/root-19980214# könyvtárat. . Mikor újra letöltjük a legfrissebb forrásokat és megismételjük az elõbbi lépéseket, haladjunk megint az elsõ lépés szerint. Ekkor tehát létrejön egy újabb könyvtár, amelynek a neve ezúttal már [.filename]#/var/tmp/root-19980221# lesz (ha például hetente frissítünk). . Most már meg tudjuk vizsgálni a közbeesõ héten született eltéréseket, ha a két könyvtárra kiadunk egy rekurzív man:diff[1] hívást: + [source,shell] .... # cd /var/tmp # diff -r root-19980214 root-19980221 .... + Általában így kevesebb eltérést kapunk, mint amennyi például a [.filename]#/var/tmp/root-19980221/etc/# és az [.filename]#/etc# összehasonlítása során elkerült volna. Mivel kisebb a keletkezett különbségek száma, ezért könnyebb lesz átvinnünk az [.filename]#/etc# könyvtárunkba is a módosításokat. . Ezután törölhetjük a régebbi [.filename]#/var/tmp/root-*# könyvtárat: + [source,shell] .... # rm -rf /var/tmp/root-19980214 .... + . Az [.filename]#/etc# összefésülésekor mindig ismételjük meg ezeket a lépéseket. ====== A man:date[1] meghívásával akár automatikussá is tehetjük a könyvtárak névadását: [source,shell] .... # mkdir /var/tmp/root-`date "+%Y%m%d"` .... ==== [[updating-upgrading-rebooting]] === Újraindítás Ezzel készen is vagyunk. Miután ellenõriztük, hogy minden a megfelelõ helyére került, indítsuk újra a rendszert. Ehhez egy egyszerû man:shutdown[8] is elegendõ: [source,shell] .... # shutdown -r now .... === Befejeztük! Gratulálunk, sikerült frissítenünk a FreeBSD rendszerünket. Ha mégis valami balul ütne ki, könnyen újra tudjuk fordítani a rendszer egyes részeit. Például, ha véletlenül letöröltük az [.filename]#/etc/magic# állományt az [.filename]#/etc# frissítése vagy összefésülése során, a man:file[1] parancs nem fog tudni rendesen mûködni. Ilyenkor a következõket kell tennünk a hiba kijavításához: [source,shell] .... # cd /usr/src/usr.bin/file # make all install .... [[updating-questions]] === Kérdések ==== Minden egyes változtatásnál újra kell fordítani a rendszert? Nem könnyû választ adni erre a kérdésre, mivel ez alapvetõen a változtatás jellegétõl függ. Például, ha elindítjuk a CVSup programot és csak az alábbi állományok frissülnek: [source,shell] .... src/games/cribbage/instr.c src/games/sail/pl_main.c src/release/sysinstall/config.c src/release/sysinstall/media.c src/shared/mk/bsd.port.mk .... Ekkor valószínûleg nem éri meg újrafordítani a teljes rendszert. Elegendõ csupán belépni az érintett állományokat tartalmazó alkönyvtárakba és ott rendre kiadni a `make all install` parancsot. Ha viszont már valami komolyabb, például az [.filename]#src/lib/libc/stdlib# változott meg, akkor vagy az egész rendszert, vagy legalább azon részeit fordítsuk újra, amely statikusan linkeltek (és minden más idõközben még hozzáadott statikusan linkelt dolgot). Hogy melyik megoldást választjuk, teljesen rajtunk áll. Újrafordíthatjuk az egész rendszert kéthetente, mondván, hadd gyüljenek fel szépen a módosítások, vagy a függõségek pontos kielemzésével csak azokat az elemeket fordítjuk újra, amelyek tényleg meg is változtak. Természetesen az egész attól függ, hogy milyen gyakran és melyik rendszert, a FreeBSD-STABLE-t vagy a FreeBSD-CURRENT-et frissítjük. ==== A fordító rengeteg 11-es jelzést (signal 11)signal 11 (vagy másfajta jelzéseket) dob hibával. Mi történhetett? Ez általában hardveres meghibásodásra utal. A rendszer újrafordítása alapjaiban véve egy remek módszer számítógépünk alkatrészeinek terhelésére, ezért gyakorta elõhozza a memória már meglevõ hibáit. Ezek többnyire abban fogalmazódnak meg, hogy a fordító rejtélyes módon leáll mindenféle furcsa jelzések hatására. Errõl biztosan úgy tudunk meggyõzõdni, ha újraindítjuk a make programot és az a folyamat egy teljesen másik pontján vérzik el. Ilyenkor nem tudunk mást tenni, mint egymás után kicserélgetjük, kivesszük az alkatrészeket és így próbáljuk megállapítani, pontosan melyikük is okozza a gondokat. ==== A fordítása befejezése után törölhetem a /usr/obj könyvtárat? Röviden: Igen. A [.filename]#/usr/obj# tartalmazza a fordítás folyamata során keletkezõ összes tárgykódot. Ennek törlése általában a `make buildworld` elsõ lépései között szerepel. Ezért tulajdonképpen a [.filename]#/usr/obj# megtartásának nincs túlságosan sok értelme, viszont elég sok (jelenleg úgy kb. 340 MB) helyet fel tudunk így szabadítani. Ha azonban értjük a dolgunkat, akkor megadhatjuk a `make buildworld` parancsnak, hogy hagyja ki ezt a lépést. Ennek hatására a fordítás sokkal hamarabb véget ér, mivel a legtöbb forrást így nem kell újrafordítani. Üröm az örömben, hogy ha netalán aprócska függõségi problémák merülnének fel, akkor az egész fordítás megfeneklik mindenfelé különös módokon. Emiatt gyakran írnak feleslegesen leveleket a FreeBSD levelezési listáira, melyek a rendszer sikertelen újrafordításáról panaszkodnak, miközben kiderül, hogy az maguk az érintettek akarták lerövidíteni a folyamatot. ==== Lehetséges a megszakadt fordítás folytatása? Ez attól függ, hogy a probléma bekövetkezése elõtt mennyire sikerült eljutni a fordításban. _Általában_ (tehát nem feltétlenül minden esetben) a `make buildworld` lefordítja a fordításhoz szükséges eszközök (például a man:gcc[1] és man:make[1]) újabb változatait és a rendszer függvénykönyvtárait, majd ezeket telepíti. Ezután ezekkel az új eszközökkel lefordítattja saját magukat és ismét telepíti. Ezt követõen fordítja újra az új rendszerállományokkal az egész rendszert (így ezúttal már az olyan szokásos felhasználói programokat is, mint például az man:ls[1] és a man:grep[1]). Ha tudjuk, hogy az utolsó fázisban álltunk le (mivel megnéztük a fordításhoz tartozó kimenetet), akkor (minden további nélkül) elég ennyi: [source,shell] .... kijavítjuk a hibát ... # cd /usr/src # make -DNO_CLEAN all .... Ezzel megmarad a korábbi `make buildworld` munkájának eredménye. Ha ezt az üzenetet látjuk a `make buildworld` kimenetében: [source,shell] .... -------------------------------------------------------------- Building everything.. -------------------------------------------------------------- .... akkor különösebb gond nélkül megcsinálhatjuk. Amennyiben viszont nem látunk ilyen üzenetet, vagy nem vagyunk benne biztosak, akkor még mindig jobb elõvigyázatosnak lenni, ezért kénytelenek leszünk teljesen elölrõl kezdeni a fordítást. ==== Hogyan tudjuk felgyorsítani a fordítást? * Futtassuk egyfelhasználós módban. * Tegyük a [.filename]#/usr/src# és [.filename]#/usr/obj# könyvtárakat külön állományrendszerekre, külön lemezekre. Sõt, ha lehetséges, akkor ezeket a lemezeket tegyük külön lemezvezérlõkre. * Még mindig jobb, ha ezeket az állományrendszereket a man:ccd[4] (lemezek összefûzését vezérlõ meghajtó) segítségével kiterjesztjük több lemezes eszközre. * Kapcsoljuk ki a profilozást (az [.filename]#/etc/make.conf# állományban a "NO_PROFILE=true" megadásával). Többnyire úgy sem lesz rá szükségünk. * Az [.filename]#/etc/make.conf# állományban a `CFLAGS` változót állítsuk az `-O -pipe` értékre. Az `-O2` gyakran sokkal lassabb, az `-O` és `-O2` alig tér el az optimalizálás mértékében. A `-pipe` paraméter hatására pedig a fordítóprogram átmeneti állományok helyett csöveket használ a kommunikációra, és így megtakarít némi lemezhasználatot (a memóriahasználat terhére). * Ha a man:make[1] parancsnak átadjuk a `-j_n_` paramétert, akkor képes több mindent párhuzamosan futtatni. Ez sok esetben segít attól függetlenül, hogy egy- vagy többprocesszoros gépünk van. * A [.filename]#/usr/src# könyvtárat tartalmazó állományrendszert csatlakoztathatjuk (vagy újracsatlakoztathatjuk) a `noatime` beállítással. Ilyenkor az állományrendszer nem rögzíti a hozzáférés idejét. Erre az információra sincs igazából szükségünk. + [source,shell] .... # mount -u -o noatime /usr/src .... + [WARNING] ==== A fenti példa azt feltételezi, hogy a [.filename]#/usr/src# könyvtárnak saját állományrendszere van. Ha ez nem így lenne (tehát például a [.filename]#/usr# része), akkor itt azt kell megadnunk, nem pedig a [.filename]#/usr/src# nevét. ==== * A [.filename]#/usr/obj# könyvtárat tartalmazó állományrendszert csatlakoztathatjuk (vagy újracsatlakoztathatjuk) az `async` beállítással. Ennek hatására a lemez írása aszinkron módon történik. Magyarul az írási mûveletek azonnal befejezõdnek, miközben az adat ténylegesen csak pár másodperccel késõbb kerül ki a lemezre. Ezzel az írási kérelmek gyönyörûen összegyûjthetõek, ami nagymértékû növekedést eredményez a teljesítményben. + [WARNING] ==== Ne felejtsük el azonban, hogy ezzel együtt az állományrendszerünk is sérülékenyebbé válik. Ezen beállítás használatával megnõ annak az esélye, hogy egy áramkimaradást követõ indításnál az állományrendszer helyreállíthatatlan állapotba kerül. Ha egyedül csak a [.filename]#/usr/obj# található ezen az állományrendszeren, akkor ez nem jelent akkora veszélyt. Amikor viszont rajta kívül még értékes adat is található az állományrendszeren, a beállítás érvényesítése elõtt mindenképpen készítsünk róla friss mentéseket. ==== + [source,shell] .... # mount -u -o async /usr/obj .... + [WARNING] ==== Ahogy arról az elõbb is szó esett, ha a [.filename]#/usr/obj# nem egy különálló állományrendszeren található, akkor a példában szereplõ csatlakozási pontot cseréljük ki a megfelelõre. ==== ==== Mi tegyünk, ha valami nem megy rendesen? Egyértelmûen bizonyosodjunk meg róla, hogy a korábbi fordításokból nem maradtak vissza semmiféle kóbor állományok. Ennyi sokszor pontosan elég. [source,shell] .... # chflags -R noschg /usr/obj/usr # rm -rf /usr/obj/usr # cd /usr/src # make cleandir # make cleandir .... Igen, a `make cleandir` parancsot tényleg kétszer kell kiadni. Ezután a `make buildworld` parancstól indulva kezdjük újra a fordítást. Ha még ezek után is fennáll a probléma, küldjük el a hibát tartalmazó kimenetet és a `uname -a` parancs eredményét a {freebsd-questions} címére. Ne lepõdjünk meg, ha a beállításainkra vonatkozóan még kapunk további kérdéseket is! [[small-lan]] == A források követése több géppel Ha egyszerre több számítógéppel is szeretnénk követni ugyanannak a forrásfának a változásait és ezért mindegyikre letöltjük a forrásokat majd újrafordítjuk ezeket, akkor sok erõforrást, de leginkább lemezterületet, hálózati sávszélességet és processzoridõt, feleslegesen használunk. Ezekkel úgy tudunk spórolni, ha valójában csak egyetlen géppel végeztetjük el a munka legtöbb részét, miközben a többi NFS használatával dolgozik. Ez a szakasz ezt a módszert foglalja össze. [[small-lan-preliminaries]] === Elõkészületek Elõször is szedjük össze az egyezõ binárisokat futtató gépeket, melyekre a továbbiakban csak _fordítási csoport_ néven hivatkozunk. Minden gépnek lehet saját rendszermagja, viszont a felhasználói programok mindegyikõjük esetében ugyanazok. Ebbõl a csoportból válasszuk ki egy _fordító gépet_. Ez lesz az a gép, amelyen a rendszer és a rendszermag lefordításra kerül. Ideális esetben ez a leggyorsabb gép, amelynek elegendõ a processzorkapacitása arra, hogy lefuttassa a `make buildworld` és `make buildkernel` parancsokat. Érdemes még rajta kívül kiválasztanunk egy _tesztelõ gépet_ is, ahol a véglegesítés elõtt kipróbálhatjuk a szoftverfrissítéseket. Ennek egy olyan gépnek _kell_ lennie, amely akár hosszabb ideig is nélkülözhetõ a csoportból. Lehet akár maga a fordítást végzõ gép is, de nem elvárás. A fordítási csoportban levõ összes gépnek ugyanarról a géprõl és ugyanarra a pontra kell csatlakoztatnia a [.filename]#/usr/obj# és [.filename]#/usr/src# könyvtárakat. Ezek optimális esetben a fordítással foglalkozó gép két külön lemezmeghajtóján vannak, melyek egyaránt elérhetõek NFS-en keresztül. Ha több fordítási csoportunk is van, akkor az [.filename]#/usr/src# könyvtárnak elegendõ csak egyetlen fordító gépen meglennie, a többi pedig csatlakoztassa NFS-en keresztül. Végül gyõzödjünk meg róla, hogy az [.filename]#/etc/make.conf# és a [.filename]#/etc/src.conf# állományok tartalma a fordítási csoport mindegyik gépénél megegyezik a fordító gépével. Ez azt jelenti, hogy a fordító gépnek az alaprendszer ugyanazon részeit és ugyanúgy kell létrehozni, mint amelyet a fordítási csoport akármelyik gépére telepíteni is akarunk. Ezenkívül még a fordítási csoportban levõ minden egyes gép [.filename]#/etc/make.conf# állományában a `KERNCONF` értékének a saját rendszermagjára vonatkozó konfigurációt kell megadni, illetve a fordítással foglakozó gép `KERNCONF` változójánál pedig az együtt összeset, a sajátjával kezdve. Ennek megfelelõen a fordító gépnek a rendszermagok lefordításához rendelkeznie kell az egyes gépek [.filename]#/usr/src/sys/arch/conf# könyvtárában meglevõ állományaival. [[small-lan-base-system]] === Az alaprendszer Most, miután mindent megfelelõen elõkészítettünk, készen állunk a munkára. A <>ban leírtak szerint fordítsuk le a rendszermagokat és az alaprendszert a fordító gépen, de utána még nem telepítsünk semmit se. Ha befejezõdött a fordítás, lépjünk be a tesztelõ gépre és telepítsük a frissen fordított rendszermagot. Ha ez a gép NFS-en keresztül éri a [.filename]#/usr/src# és [.filename]#/usr/obj# könyvtárakat, akkor az egyfelhasználós módban aktiválni kell a hálózatot, majd csatlakoztatni ezeket. Ezt legkönnyebben úgy tudjuk megcsinálni, ha a gépet elõször elindítjuk többfelhasználós módban, majd a `shutdown now` paranccsal egyfelhasználós módba váltunk. Ha eljuttunk ide, telepítsünk az új rendszermagot és rendszert, illetve a megszokott módon futtassuk a `mergemaster` parancsot. Amikor ezt befejeztük, ezen a gépen térjünk vissza a hétköznapi többfelhasználós mûködési módba. Miután a tesztelésre szánt gépen ellenõriztük, hogy minden a megfelelõ módon mûködik, az elõbb tárgyalt eljárással telepítsük fel a fordítási csoportban levõ összes többi gépre is az új szoftvereket. [[small-lan-ports]] === Portok Ugyanezt a gondolatmenet alkalmazható a portfa esetében is. Az elsõ és egyben legfontosabb lépés a [.filename]#/usr/ports# csatlakoztatása ugyanarról a géprõl a fordítási csoport minden gépére. Az [.filename]#/etc/make.conf# megfelelõ beállításával még a terjesztési állományokat is meg tudjuk osztani. A `DISTDIR` értékét egy olyan közösen használt könyvtárra állítsuk, amely írható az NFS-en keresztül megosztott állományrendszerünkben a `root` felhasználóként tevékenykedõk számára. A `WRKDIRPREFIX` változót minden gépen egy helyi fordítási könyvtárra állítsuk. Zárásképpen még hozzátesszük, hogy ha csomagokat akarunk készíteni és mások számára is elérhetõvé tenni, akkor ne felejtsük el a `PACKAGES` változót a `DISTDIR` változóhoz hasonlóan beállítani. diff --git a/documentation/content/hu/books/handbook/eresources/_index.adoc b/documentation/content/hu/books/handbook/eresources/_index.adoc index f525b82229..a94005547b 100644 --- a/documentation/content/hu/books/handbook/eresources/_index.adoc +++ b/documentation/content/hu/books/handbook/eresources/_index.adoc @@ -1,1037 +1,1037 @@ --- title: C. Függelék - Források az interneten part: V. Rész - Függelék prev: books/handbook/bibliography next: books/handbook/pgpkeys --- [appendix] [[eresources]] = Források az interneten :doctype: book :icons: font :sectnums: :sectnumlevels: 6 :source-highlighter: rouge :experimental: :skip-front-matter: :toc-title: Tartalom :table-caption: Táblázat :figure-caption: Ábra :example-caption: Példa :xrefstyle: basic :relfileprefix: ../ :outfilesuffix: :sectnumoffset: C include::shared/mirrors.adoc[] include::shared/authors.adoc[] include::shared/releases.adoc[] include::shared/hu/mailing-lists.adoc[] include::shared/hu/teams.adoc[] include::shared/hu/urls.adoc[] A FreeBSD gyors ütemû fejlõdése a nyomtatott médiát alkalmatlanná teszi a legfrissebb fejlesztések nyomonkövetésére. Ezzel szemben az elektronikus erõforrások a biztos, ha gyakran nem is csak az egyetlen, módjai a legújabb elõrelépések figyelemmel követésének. Mivel a FreeBSD-t többségében önkéntesek fejlesztik, az õt körülvevõ felhasználói közösség önmaga is egyfajta "szakmai segélynyújtó egyletként" funkcionál, amelyet leghatékonyabban elektronikus levélben, webes fórumokon vagy USENET hírcsoportokon keresztül érhetünk el. A továbbiakban a FreeBSD felhasználók közösségének különbözõ fajtájú elérhetõségeit vázoljuk fel nagyvonalakban. Ha úgy érezzük, hogy ebbõl a felsorolásban kimaradt volna valami, akkor ne habozzunk róla értesítést küldeni a {freebsd-doc} címére (angolul), hogy felvehessük a többi közé. [[eresources-mail]] == Levelezési listák A FreeBSD köré csoportosulókat levelezési listákon keresztül tudjuk közvetlenül elérni, ezen a módon tehetünk fel kérdéseket, vethetünk fel témákat. Ezek között több különbözõ területtel foglalkozó listát találhatunk. Ezért célszerû mindig a hozzászólásainkat a témánkhoz legközelebb álló listára küldeni, mert enélkül szinte biztos, hogy nem kapunk pontos vagy gyors választ. A különbözõ listák témájának rövid leírása a dokumentum alján olvasható. _Szeretnénk mindenkit megkérni, hogy mielõtt feliratkozik vagy levelet küld valamelyik listára, figyelmesen olvassa el ezeket._ Az egyes listák tagjai már így is naponta többszáz FreeBSD-vel kapcsolatos üzenetet kapnak, miközben a listák tematikájának és szabályainak lefektetésével igyekszünk a jel-zaj arányt minél kedvezõbb szinten tartani. Ezek nélkül a levelezési listák a Projekt számára haszontalan kommunikációs eszközökké válnának. [NOTE] ==== _A {freebsd-test} címet használjuk, ha ki akarjuk próbálni, hogy tudunk-e levelet küldeni a FreeBSD listáira._ A többi listára viszont lehetõleg ne küldjünk teszt jellegû üzeneteket. ==== Ha nem tudjuk eldönteni, hogy pontosan melyik listát is kellene megcímeznünk kérdésünkkel, olvassuk el a link:{freebsd-questions-article}[Hogyan kapjunk értékelhetõ választ a FreeBSD-questions levelezési listáról] címû leírást (angolul). Mielõtt akármelyik listára is levelet küldenénk, olvassuk el a link:{mailing-list-faq}[Levelezési listák Gyakran Ismételt Kérdéseit] (angolul), amivel elkerülhetjük a gyakran feltett kérdések és témák ismételt felhozását. A levelezési listák tartalma folyamatosan archiválódik, és ezekben az archívumokban a link:https://www.FreeBSD.org/search/[FreeBSD honlapján] tudunk keresni. Az itt elérhetõ, kulcsszavak alapján történõ keresés remek módját nyújtja a gyakran felmerülõ kérdések egyszerû és gyors megválaszolásának, ezért ilyen esetekben elõször mindig ezt javasolt használni. Ez egyben mellesleg azt is jelenti, hogy a FreeBSD levelezési listáira küldött üzenetek fennmaradnak az örökkévalóságig. Ha a beküldendõ üzenet bizalmas információkat tartalmaz, érdemes megfontolni egy eldobható anonim e-mail cím használatát és kizárólag csak a publikus részet beküldeni. [[eresources-summary]] === A listák összefoglalása _Általános listák:_ A következõ általános célú listákhoz szabadon (és nyugodtan) csatlakozhatunk: [.informaltable] [cols="1,1", frame="none", options="header"] |=== | Lista | Tartalom |link:{freebsd-advocacy-url}[freebsd-advocacy] |A FreeBSD igéjének terjesztése |{freebsd-announce} |Fontosabb események és elõrelépések a projektek életében |link:{freebsd-arch-url}[freebsd-arch] |Architekturális és tervezési kérdések tárgyalása |link:{freebsd-bugbusters-url}[freebsd-bugbusters] |A FreeBSD hibabejelentéseit tároló adatbázis és a kapcsolódó eszközök karbantartására vonatkozó megbeszélések |link:{freebsd-bugs-url}[freebsd-bugs] |Hibajelentések |link:{freebsd-chat-url}[freebsd-chat] |A FreeBSD közösség nem szakmai jellegû dolgai |{freebsd-current} |A FreeBSD-CURRENT használatának tárgyalása |link:{freebsd-isp-url}[freebsd-isp] |A FreeBSD-t alkalmazó internet-szolgáltatók fóruma |link:{freebsd-jobs-url}[freebsd-jobs] |FreeBSD-s munkalehetõségek |link:{freebsd-policy-url}[freebsd-policy] |A FreeBSD fejlõdését irányító csoport (Core Team) döntéseirõl tájékoztató lista. A forgalma kicsi, csak olvasható. |link:{freebsd-questions-url}[freebsd-questions] |A felhasználók kérdései és szakmai segítségnyújtás |{freebsd-security-notifications} |Biztonsági figyelmeztetések |{freebsd-stable} |A FreeBSD-STABLE használatát illetõ kérdések |{freebsd-test} |Ide lehet küldeni a próbaüzeneteket |=== _Szakmai listák:_ A következõ listák szakmai jellegû témákat képviselnek. Mielõtt bármelyikükre levelet küldenénk vagy feliratkoznánk, figyelmesen olvassuk el a tartalmukat és céljaikat bemutató rövid leírásukat. [.informaltable] [cols="1,1", frame="none", options="header"] |=== | Lista | Tartalom |{freebsd-acpi} |Az ACPI és energiagazdálkodás támogatás fejlesztése |link:{freebsd-afs-url}[freebsd-afs] |Az AFS portolása FreeBSD-re |link:{freebsd-aic7xxx-url}[freebsd-aic7xxx] |Az Adaptec(R) AIC 7xxx sorozat meghajtóinak fejlesztése |link:{alpha-url}[alpha] |A FreeBSD Alpha portja |link:{freebsd-amd64-url}[freebsd-amd64] |A FreeBSD AMD64 portja |link:{freebsd-apache-url}[freebsd-apache] |Az Apache és hozzá tartozó portok tárgyalása |link:{freebsd-arm-url}[freebsd-arm] |A FreeBSD ARM(R) portja |link:{freebsd-atm-url}[freebsd-atm] |FreeBSD használata ATM hálózatokkal |link:{freebsd-audit-url}[freebsd-audit] |A forráskód ellenõrzésérõl szóló projekt |link:{freebsd-binup-url}[freebsd-binup] |A bináris frissítésekkel foglalkozó rendszer tervezése és fejlesztése |link:{freebsd-bluetooth-url}[freebsd-bluetooth] |A Bluetooth(R) technológia használata a FreeBSD-ben |link:{freebsd-cluster-url}[freebsd-cluster] |A FreeBSD klaszteres környezetben |link:{freebsd-cvsweb-url}[freebsd-cvsweb] |A CVSweb karbantartása |link:{freebsd-database-url}[freebsd-database] |Adatbázisok használata és fejlesztése FreeBSD alatt |link:{freebsd-doc-url}[freebsd-doc] |FreeBSD-rõl szóló leírások készítése |link:{freebsd-drivers-url}[freebsd-drivers] |Eszközmeghajtók írása FreeBSD-re |link:{freebsd-eclipse-url}[freebsd-eclipse] |Az Eclipse integrált fejlesztõi környezet, eszközeinek, gazdag kliens alkalmazásinak és portjainak FreeBSD alatti használata |link:{freebsd-embedded-url}[freebsd-embedded] |A FreeBSD használata beágyazott alkalmazásokban |link:{freebsd-eol-url}[freebsd-eol] |Olyan FreeBSD-s szoftverek független továbbfejlesztése, amelyeket hivatalosan már nem támogatnak |link:{freebsd-emulation-url}[freebsd-emulation] |Linux/MS-DOS(R)/Windows(R) és hasonló rendszerek emulációja |link:{freebsd-firewire-url}[freebsd-firewire] |A FreeBSD és a FireWire(R) (iLink, IEEE 1394) kapcsolatának technikai kérdései |link:{freebsd-fs-url}[freebsd-fs] |Állományrendszerek |link:{freebsd-gecko-url}[freebsd-gecko] |A Gecko Rendering Engine alkalmazásával kapcsolatos problémák |link:{freebsd-geom-url}[freebsd-geom] |A GEOM-hoz tartozó témák és implementációk |link:{freebsd-gnome-url}[freebsd-gnome] |A GNOME és GNOME-alkalmazások portolása |link:{freebsd-hackers-url}[freebsd-hackers] |Általános szakmai témák |link:{freebsd-hardware-url}[freebsd-hardware] |A FreeBSD futtatására szolgáló hardverekkel foglalkozó témák |link:{freebsd-i18n-url}[freebsd-i18n] |A FreeBSD honosítása |link:{freebsd-ia32-url}[freebsd-ia32] |A FreeBSD használata az IA-32 (Intel(R) x86) platformon |link:{freebsd-ia64-url}[freebsd-ia64] |A FreeBSD portolása az Intel(R) következõ IA64 rendszereire |link:{freebsd-ipfw-url}[freebsd-ipfw] |Az IP tûzfal kódjának újratervezését érintõ szakmai megbeszélések |link:{freebsd-isdn-url}[freebsd-isdn] |ISDN fejlesztõk levelei |link:{freebsd-jail-url}[freebsd-jail] |A man:jail[8] segédprogram |link:{freebsd-java-url}[freebsd-java] |Java(TM) fejlesztõk kérdései és a JDK(TM)-k átültetése FreeBSD-re |link:{freebsd-kde-url}[freebsd-kde] |A KDE és KDE-alkalmazások portolása |link:{freebsd-lfs-url}[freebsd-lfs] |Az LFS portolása FreeBSD-re |link:{freebsd-libh-url}[freebsd-libh] |A második generációs telepítõ- és csomagrendszer |link:{freebsd-mips-url}[freebsd-mips] |A FreeBSD portolása MIPS(R)-re |link:{freebsd-mobile-url}[freebsd-mobile] |A mobil számítógépekkel kapcsolatos megbeszélések |link:{freebsd-mono-url}[freebsd-mono] |Mono és C# alkalmazások FreeBSD alatt |link:{freebsd-mozilla-url}[freebsd-mozilla] |A Mozilla átültetése FreeBSD-re |{freebsd-multimedia} |Multimédia alkalmazások |link:{freebsd-new-bus-url}[freebsd-new-bus] |A buszarchitektúrával kapcsolatos szakmai megbeszélések |link:{freebsd-net-url}[freebsd-net] |A TCP/IP forráskódjával és hálózatkezeléssel kapcsolatos kérdések |link:{freebsd-openoffice-url}[freebsd-openoffice] |A OpenOffice.org és StarOffice(TM) alkalmazások portolása FreeBSD-re |link:{freebsd-performance-url}[freebsd-performance] |Nagy terhelésû és teljesítményû rendszerek teljesítményhangolási kérdései |link:{freebsd-perl-url}[freebsd-perl] |A rengeteg Perl alapú port karbantársa |link:{freebsd-pf-url}[freebsd-pf] |A csomagszûrõ mûködésével kapcsolatos kérdések és megbeszélések |link:{freebsd-platforms-url}[freebsd-platforms] |Portolás nem Intel(R) architektúrájú platformokra |link:{freebsd-ports-url}[freebsd-ports] |A Portgyûjtemény mûködése |link:{freebsd-ports-bugs-url}[freebsd-ports-bugs] |A portokhoz tartozó hibák és hibajelentések megbeszélése |link:{freebsd-ppc-url}[freebsd-ppc] |A FreeBSD portolása PowerPC(R)-re |link:{freebsd-proliant-url}[freebsd-proliant] |HP ProLiant szerverek és a FreeBSD kapcsolata |link:{freebsd-python-url}[freebsd-python] |A Python FreeBSD-n futó változatának problémái |link:{qa-url}[qa] |A minõségbiztosítás megbeszélése, különösen a kiadások közeledtével |link:{freebsd-rc-url}[freebsd-rc] |Az [.filename]#rc.d# rendszer és annak fejlõdése |link:{freebsd-realtime-url}[freebsd-realtime] |A FreeBSD valósidejû kiterjesztéseinek fejlesztése |link:{freebsd-ruby-url}[freebsd-ruby] |A Ruby használata FreeBSD rendszereken |link:{freebsd-scsi-url}[freebsd-scsi] |A SCSI alrendszer |{freebsd-security} |A FreeBSD mûködését fenyegetõ biztonsági problémák |link:{freebsd-small-url}[freebsd-small] |A FreeBSD használata beágyazott alkalmazásokban (elavult; helyette a link:{freebsd-embedded-url}[freebsd-embedded] címét használjuk) |link:{smp-url}[smp] |Az [A]Szimmetrikus többszálú feldolgozáshoz ([A]Symmetric MultiProcessing) tartozó tervezési megbeszélések |link:{freebsd-sparc64-url}[freebsd-sparc64] |A FreeBSD portolása SPARC(R) alapú rendszerekre |link:{freebsd-standards-url}[freebsd-standards] |A FreeBSD megfelelése a C99 és POSIX(R) szabványoknak |link:{freebsd-sun4v-url}[freebsd-sun4v] |A FreeBSD portolása UltraSPARC(R) T1 alapú rendszerekre |link:{freebsd-sysinstall-url}[freebsd-sysinstall] |A man:sysinstall[8] fejlesztése |link:{freebsd-threads-url}[freebsd-threads] |A FreeBSD szálkezelése |link:{freebsd-testing-url}[freebsd-testing] |A FreeBSD teljesítmény- és megbízhatósági tesztjei |link:{freebsd-tilera-url}[freebsd-tilera] |A FreeBSD portolása a Tilera processzorcsalád tagjaira |link:{freebsd-tokenring-url}[freebsd-tokenring] |A Token Ring támogatása a FreeBSD-ben |link:{freebsd-toolchain-url}[freebsd-toolchain] |A FreeBSD alapvetõ segédprogramjainak karbantartása |link:{freebsd-usb-url}[freebsd-usb] |USB támogatás a FreeBSD-ben |link:{freebsd-virtualization-url}[freebsd-virtualization] |A FreeBSD részérõl támogatott különbözõ virtualizációs technológiák tárgyalása |link:{freebsd-vuxml-url}[freebsd-vuxml] |A VuXML infrastruktúra tárgyalása |link:{freebsd-x11-url}[freebsd-x11] |Az X11 karbantartása és támogata FreeBSD alatt |link:{freebsd-xen-url}[freebsd-xen] |A Xen(TM) FreeBSD portjának (implementációk, használat) tárgyalása |=== _Korlátozott listák:_ (Limited lists) A következõ listák sokkal jobban specializálódótt (és igényesebb) közösségnek szólnak, nem a nagyközönségnek. Ezért mielõtt egy ilyen listára feliratkoznánk, érdemes némi tapasztalatot gyûjtenünk a szakmai témájú listákon, így megismerjük az itt alkalmazott kommunikációs szabályokat. [.informaltable] [cols="1,1", frame="none", options="header"] |=== | Lista | Tartalom |link:{freebsd-hubs-url}[freebsd-hubs] |A tükrözések üzemeltetõi számára (infrastrukturális támogatás) |link:{freebsd-user-groups-url}[freebsd-user-groups] |A felhasználói csoportok összefogása |link:{freebsd-vendors-url}[freebsd-vendors] |A forgalmazók koordinálása a kiadások elõtt |link:{freebsd-wip-status-url}[freebsd-wip-status] |A FreeBSD-vel kapcsolatos folyamatban levõ fejlesztések helyzetjelentései |link:{freebsd-www-url}[freebsd-www] |A link:https://www.FreeBSD.org/[www.FreeBSD.org] karbantartói számára |=== _Kivonatolt listák:_ (Digest lists) Az eddig említett listák elérhetõek kivonatolt formában is. Miután feliratkoztunk egy listára, a hozzáférésünk beállításainál kiválaszthatjuk, hogy kivonatolt formátumban kívánjuk-e kapni a leveleket. _CVS és SVN listák:_ (CVS SVN lists) A következõ listák a forrásfa különbözõ részeinek változtatásáról és a hozzájuk tartozó üzenetekrõl adnak értesítést. Ezek a listák _csak olvasásra_ vannak, nem szabad rájuk levelet küldeni. [.informaltable] [cols="1,1,1", frame="none", options="header"] |=== | Lista | Forráskód területe | A terület leírása (minek a forrása) |link:{cvs-all-url}[cvs-all] |[.filename]#/usr/(CVSROOT\|doc\|ports)# |A fában végzett akármelyik módosítás (az összes CVS lista együtt) |link:{cvs-doc-url}[cvs-doc] |[.filename]#/usr/(doc\|www)# |A doc és www ágak változásai |link:{cvs-ports-url}[cvs-ports] |[.filename]#/usr/ports# |A portfa változásai |link:{cvs-projects-url}[cvs-projects] |[.filename]#/usr/projects# |A projektek változásai |link:{cvs-src-url}[cvs-src] |[.filename]#/usr/src# |A rendszer forrásának változásai (az svn és cvs közti importer mûködése alapján generálódik) |{svn-src-all} |[.filename]#/usr/src# |A Subversion repositoryk változásai (kivéve a [.filename]#user# és a [.filename]#projects#) |{svn-src-head} |[.filename]#/usr/src# |A Subversion repository "fõágának" (a FreeBSD-CURRENT forrásainak) változásai |link:{svn-src-projects-url}[svn-src-projects] |[.filename]#/usr/projects# |A [.filename]#projects# változásai a forrásokat tároló Subversion repositoryn belül |link:{svn-src-release-url}[svn-src-release] |[.filename]#/usr/src# |A [.filename]#releases# változásai a forrásokat tároló Subversion repositoryn belül |link:{svn-src-releng-url}[svn-src-releng] |[.filename]#/usr/src# |A [.filename]#releng# ágak (biztonsági frissítések és kiadások) változásai a forrásokat tároló Subversion repositoryn belül |link:{svn-src-stable-url}[svn-src-stable] |[.filename]#/usr/src# |A stabil verziókhoz tartozó ágak változásai a forrásokat tároló Subversion repositoryn belüle |link:{svn-src-stable-6-url}[svn-src-stable-6] |[.filename]#/usr/src# |A [.filename]#stable/6# ág változásai a forrásokat tároló Subversion repositoryn belül |link:{svn-src-stable-7-url}[svn-src-stable-7] |[.filename]#/usr/src# |A [.filename]#stable/7# ág változásai a forrásokat tároló Subversion repositoryn belül |link:{svn-src-stable-8-url}[svn-src-stable-8] |[.filename]#/usr/src# |A [.filename]#stable/8# ág változásai a forrásokat tároló Subversion repositoryn belül |link:{svn-src-stable-other-url}[svn-src-stable-other] |[.filename]#/usr/src# |A Subversion repositoryban található korábbi [.filename]#stable# ágak változásai |link:{svn-src-svnadmin-url}[svn-src-svnadmin] |[.filename]#/usr/src# |A forrásokat tároló Subversion repositoryhoz tartozó szkriptek és egy konfigurációs állományok változásai |link:{svn-src-user-url}[svn-src-user] |[.filename]#/usr/src# |A [.filename]#user# változásai a forrásokat tároló Subversion repositoryn belül |link:{svn-src-vendor-url}[svn-src-vendor] |[.filename]#/usr/src# |A [.filename]#vendor# változásai a forrásokat tároló Subversion repositoryn belül |=== [[eresources-subscribe]] === Hogyan iratkozzunk fel -Ha fel akarunk iratkozni valamelyik listára, kattintsunk a nevére, vagy menjünk a {mailman-lists-url} címre és a válasszuk ki onnan a keresett listát. A lista oldalán megtalálunk minden feliratkozással kapcsolatos utasítást. +Ha fel akarunk iratkozni valamelyik listára, kattintsunk a nevére, vagy menjünk a {mailing-lists-url} címre és a válasszuk ki onnan a keresett listát. A lista oldalán megtalálunk minden feliratkozással kapcsolatos utasítást. Ténylegesen úgy tudunk üzenni egy listára, ha levelet küldünk az mailto:listanév@FreeBSD.org[listanév@FreeBSD.org] címre, amely ezután a lista tagjai között kézbesítésre kerül a világban. A listáról úgy tudunk leiratkozni, ha a róla kapott valamelyik levél alján található URL-re kattintunk. Másik megoldás, ha magunk küldünk egy levelet a mailto:listanév-unsubscribe@FreeBSD.org[listanév-unsubscribe@FreeBSD.org] címre. Még egyszer szeretnénk kérni, hogy a szakmai témájú levelezési listákon folyó társalgásokat igyekezzünk az adott témán belül tartani. Ha csupán a fontosabb bejelentésekre vagyunk kíváncsiak, akkor a kisforgalmú {freebsd-announce} használatát válasszuk. [[eresources-charters]] === A listák tematikája _Minden_ FreeBSD-s levelezési lista rendelkezik bizonyos alapszabályokkal, amelyek minden tagnak el kell fogadnia. Az ismeretett irányelvek elleni vétkezés a FreeBSD postamesterének mailto:postmaster@FreeBSD.org[postmaster@FreeBSD.org] két (2, azaz kettõ) írásos figyelmeztetését vonja maga után, amelyek figyelmen kívül hagyásával, tehát a harmadik szabálysértés alkalmával, a küldõ eltávolításra kerül a FreeBSD összes levelezési listájáról és a továbbiakban szûrni fogják a leveleit. Sajnáljuk, hogy ilyen szabályokat és szankciókat kellett bevezetnünk, de napjaink internetes technológiái igen elvadultak és ahogy az látható is, sokan egyszerûen nem fogják fel, mennyire sérülékenyek egyes részei. Közlekedési szabályok: * Minden beküldött levél témájának meg kell felelnie az adott lista tartalmának, tehát például a szakmai kérdésekkel foglalkozó listákon csak szakmai témájú leveleknek szabad megjelenniük. Az oda nem illõ cseverészés és értelmetlen vitázás csak a lista értékét csökkenti, ezért ezt senkitõl sem tûrjük. A kötetlenebb, konkrét téma nélküli megbeszéléseket inkább a {freebsd-chat} címén folytassuk. * 2 listánál többre ne küldjük be ugyanazt a levelet, és 2 listára is csak akkor küldjük, ha az egyértelmûen és nyilvánvalóan indokolt. A legtöbb listánál így is rengeteg az átfedés, kivéve a legtitkosabb kombinációkat (például "-stable és -scsi"), ezért nem túl sok értelme van egyszerre egynél több listát is értesíteni. Ha olyan üzenetet kapunk, amelynek a `Cc` (másolat) mezõjében több lista címe is szerepel, akkor továbbküldés vagy válaszadás során töröljük ezeket. _Az általunk küldött levelekért továbbra is mi magunk vagyunk a felelõsek, függetlenül attól, hogy ki volt a levél eredeti feladója._ * Tilos (vita közben) személyeskedni vagy káromkodni, beleértve a felhasználókat és a fejlesztõket is. A netikett megszegését, például a privát levelezés elõzetes engedély nélküli továbbküldését vagy egyes részleteinek közlését, elítéljük, de nyíltan nem tiltjuk. Nagyon ritka esetekben _azonban_ elõfordulhat, hogy a sértõ tartalom önmagában ellenkezik a lista elveivel és figyelmeztetést (esetleg kitiltást) von maga után. * A FreeBSD-hez nem kötõdõ termékek vagy szolgáltatások reklámozása szigorúan tilos, és ha bebizonyosodik, hogy a küldõ szándékosan küldte szét, akkor azonnali kitiltásban részesül. _Az egyes listák tematikája:_ {freebsd-acpi}:: _Az ACPI és energiagazdálkodás támogatásának fejlesztése_ link:{freebsd-afs-url}[freebsd-afs]:: _Andrew File System_ + Ez a lista a CMU/Transarc AFS portolásáról szól {freebsd-announce}:: _Fontosabb események / nagyobb lépések_ + Olyan emberek számára ajánlott ez a levelezési lista, akik csak a FreeBSD jelentõsebb eseményei bejelentései iránt érdeklõdnek. Ide értendõk a különbözõ idõközi és egyéb kiadások, a FreeBSD újításainak bejelentései. Idõnként önkéntesek toborzására stb. is használják. A forgalma nagyon kicsi, tartalma szigorúan ellenõrzõtt. link:{freebsd-arch-url}[freebsd-arch]:: _Architekturális és tervezési kérdések_ + Ez a lista a FreeBSD architektúráját érintõ megbeszélések színtere. Az itt megjelenõ üzenetek szigorúan szakmai jellegûek. Néhány idevágó téma: ** Hogyan alakítsuk úgy át a fordítási rendszert, hogy egyszerre több különbözõ paraméterû fordítás is képes legyen futni. ** Mit kellene javítani a VFS-en a Heidemann-rétegek mûködéséhez. ** Hogyan tudnánk úgy átalakítani az eszközmeghajtók felületét, hogy ugyanazok a meghajtók minden gond nélkül képesek legyenek több buszon és architektúrán is mûködni. ** Hogyan írjunk meghajtót hálózati eszközökhöz. link:{freebsd-audit-url}[freebsd-audit]:: _A forráskód vizsgálatát végzõ projekt_ + Ez a levelezési lista a FreeBSD forráskódjának vizsgálatával foglalkozik. Habár eredetileg csak a biztonságot érintõ változtatások ellenõrzésére jött létre, napjainkra már a forráskód mindenféle változását felülvizsgálja. + Erre a listára rengeteg javítás érkezik, amelyek valószínûleg egy átlag FreeBSD felhasználó számára nem túlzottan érdekesek. A kód változásától független biztonsági kérdések megvitatása a freebsd-security listán történik. Viszont az összes fejlesztõnek javasoljuk, hogy küldjék be felülvizsgálatra a javításaikat, különösen abban az esetben, amikor a forráskód olyan részéhez nyúlnak, ahol az adott hiba javítása a rendszer egészének mûködésére kihatással lehet. link:{freebsd-binup-url}[freebsd-binup]:: _A FreeBSD bináris frissítésével foglalkozó projekt_ + Ez a lista ad otthont a binup vagy más néven a bináris frissítési rendszer (binary update system) körül felmerülõ problémák tárgyalásának. Tervezési kérdések, implementációs részletek, javítások, hiba- és állapotjelentések, funkciók igénylése, a kód változásainak naplózása és minden, ami a binuppal kapcsolatos. link:{freebsd-bluetooth-url}[freebsd-bluetooth]:: _Bluetooth(R) a FreeBSD-ben_ + Ez a Bluetooth(R)-os FreeBSD felhasználók gyülekezõhelye. Tervezési és implementációs kérdések, javítások, hiba- és állapotjelentések, funkciók igénylése, minden, ami Bluetooth(R). link:{freebsd-bugbusters-url}[freebsd-bugbusters]:: _A hibajelentések kezelésének összefogása_ + A lista célja a Bugmeister és az õ Bugbustereinek, valamint a hibajelentések adatbázisai iránti kifejezetten érdeklõdõ személyek együttmûködésének és kapcsolattartásának elõsegítése. Ez a lista nem az egyes hibákról, javításokról vagy azok jelentésérõl szól. link:{freebsd-bugs-url}[freebsd-bugs]:: _Hibajelentések_ + Ezen a levelezési listán lehet a FreeBSD hibáit bejelenteni. Ha lehet, akkor a hibákat a man:send-pr[1] paranccsal vagy a link:https://www.FreeBSD.org/send-pr/[webes felületen] keresztül küldjük be. link:{freebsd-chat-url}[freebsd-chat]:: _A FreeBSD közösség nem szakmai jellegû dolgai_ + Erre a listára kerül minden olyan nem szakmai jellegû, társadalmi érintkezéssel kapcsolatos információ, ami a többi listáról kimaradt: Jordan mennyire hasonlít a rajzfilmeken látható vadászgörényre, kis- vagy nagybetûvel írjuk-e, ki iszik sok kávét, hol fõzik a legjobb söröket, ki fõz sört az alagsorában és így tovább. Elvétve felbukkannak olyan fontosabb események is (bulik, lakodalmak, gyermekáldás, új munkahely stb), amelyek ugyan szakmai témájúak, de a folyományaik már inkább a -chat listára tartoznak. {core-name}:: _A FreeBSD irányítását végzõ csapat_ + Ezt a belsõ levelezési listát a Core Team tagjai használják. Akkor érdemes ide levelet küldeni, ha FreeBSD-vel kapcsolatos fontos ügyekben lenne szükségünk döntésre vagy véleményre. {freebsd-current}:: _A FreeBSD-CURRENT használatával kapcsolatos megbeszélések_ + A FreeBSD-CURRENT felhasználóinak levelezési listája. Itt értesülhetünk a -CURRENT felhasználókat érintõ friss újdonságairól, és azokról az utasításokról, amelyek követésével mûködéképesen tarthatjuk a -CURRENT rendszerünket. Aki a "-CURRENT" verziót használja, mindenképpen iratkozzon fel erre a listára. Ez is egy szakmai jellegû lista, ahová csak szigorúan ilyen témákat várnak. link:{freebsd-cvsweb-url}[freebsd-cvsweb]:: _A FreeBSD CVSweb projekt_ + A FreeBSD CVSweb szolgáltatásának használatáról, fejlesztésérõl és karbantartásáról szóló megbeszélések. link:{freebsd-doc-url}[freebsd-doc]:: _A dokumentációs projekt_ + Ez a levelezési lista a FreeBSD-rõl szóló különbözõ dokumentumok készítésével kapcsolatos problémák és projektek tárgyalásait öleli fel. A levelezési lista tagjait együttesen a "FreeBSD Dokumentációs Projekt"-nek nevezik. Ez egy nyílt lista, csatlakozzunk hozzá bátran! link:{freebsd-drivers-url}[freebsd-drivers]:: _Eszközmeghajtók írása FreeBSD-re_ + A FreeBSD-hez készülõ eszközmeghajtókról szóló szakmai fórum. Elsõsorban itt tehetik fel a meghajtók készítõi a FreeBSD rendszermagjában megtalalálható API-kra vonatkozó kérdéseiket. link:{freebsd-eclipse-url}[freebsd-eclipse]:: _Az Eclipse integrált fejlesztõi környezetének, segéprogramjainak, kliensalkalmazásainak és portjainak FreeBSD felhasználók számára meghirdetett fóruma._ + A lista azzal a szándékkal jött létre, hogy kölcsönös támogatást nyújtson az Eclipse fejlesztõi környezet, a hozzá tartozó segédeszközök, kliensalkalmazások FreeBSD változatának megválasztásában, telepítésében és használatában. Emellett az Eclipse környezet és pluginjainak FreeBSD-re történõ portolásáról is szó esik. + Valamint igyekszik minél többet profitálni az Eclipse és a FreeBSD köré csoportosuló közösségek kölcsönös információcseréjébõl. + Habár a lista elsõdlegesen az Eclipse felhasználóinek igényeire koncentrál, azok számára is táptalajt ad, akik az Eclipse keretrendszer segítségével FreeBSD specifikus alkalmazásokat szeretnének kifejleszteni. link:{freebsd-embedded-url}[freebsd-embedded]:: _A FreeBSD használata beágyazott alkalmazásokban_ + Ez a lista a FreeBSD beágyazott rendszerekben történõ használatát igyekszik megvitatni. Ez egy szakmai jellegû lista, ezért ide szigorúan csak ilyen témájú leveleket várunk. A listán tárgyalt beágyazott rendszereknek tekintünk minden olyan számítási eszközt, amely az általános számítási környezetekkel szemben egyetlen feladatot lát el. Nem feltétlenül csak ilyenek, de például a különféle telefonok, illetve hálózati eszközök, mint például útválasztók, switchek, PBX-ek, távoli mérõeszközök, PDA-k, eladási rendszerek és így tovább. link:{freebsd-emulation-url}[freebsd-emulation]:: _A Linux/MS-DOS(R)/Windows(R) rendszerek emulációja_ + Ezen a listán arról értekezhetünk és olvashatunk, hogy FreeBSD alatt miként futtassunk más operációs rendszerekre írt programokat. link:{freebsd-eol-url}[freebsd-eol]:: _Összefogás a FreeBSD Projekt által tovább már támogatott, FreeBSD-hez tartozó szoftverekért_ + Ezen a listán kap vagy kaphat helyet a FreeBSD Projekt által hivatalosan tovább már nem fejlesztett szoftverek felhasználói összefogáson alapuló támogatása (például biztonsági figyelmeztetések vagy javítások formájában). link:{freebsd-firewire-url}[freebsd-firewire]:: _FireWire(R) (iLink, IEEE 1394)_ + Ez a levelezési lista foglalkozik a FreeBSD FireWire(R) (azaz IEEE 1394, avagy iLink) alrendszerének implementációjával. Az itt felmerülõ témák többek közt a szabványok, buszos eszközök és a hozzájuk tartozó protokollok, vezérlõkártyák és chipkészletek, valamint a mûködtetésükre szánt programok felépítése és megvalósítása. link:{freebsd-fs-url}[freebsd-fs]:: _Állományrendszerek_ + A FreeBSD-ben megjelenõ állományrendszerek kivesézése. Mivel ez egy szakmai jellegû lista, ide határozottan csak ilyen jellegû leveleket várunk. link:{freebsd-gecko-url}[freebsd-gecko]:: _Gecko Rendering Engine_ + Ezen a levelezési listán a Gecko FreeBSD rendszerekre portolt változatával kapcsolatos fórumot találjuk. + Az itt felmerülõ témák többségükben a Gecko alapú alkalmazásokról, telepítésükrõl, és a FreeBSD alatti fejlesztésükrõl, támogatásukról szólnak. link:{freebsd-geom-url}[freebsd-geom]:: _GEOM_ + A GEOM és a vele kapcsolatos implementáció megbeszélései. Szakmai jellegû lista, ezért erre tekintettel csak ilyen témájú leveleket postázzunk ide. link:{freebsd-gnome-url}[freebsd-gnome]:: _GNOME_ + A GNOME asztalkörnyezet FreeBSD rendszereket érintõ használatáról szóló lista. Mûszaki jellegû, ezért szigorúan csak ilyen témákban társgalodjunk itt. link:{freebsd-ipfw-url}[freebsd-ipfw]:: _IP tûzfalak_ + A FreeBSD-ben levõ IP tûzfal újratervezésével foglalkozó elgondolások és szakmai témájú megbeszélések otthona. Ide szigorúan csak ilyen témájú leveleket küldjünk! link:{freebsd-ia64-url}[freebsd-ia64]:: _A FreeBSD portolása I64-re_ + Ez a levelezési lista a FreeBSD az Intel(R) IA-64 platformjára készített portjával foglalkozó egyének kommunikációs eszköze, ahol az ezzel kapcsolatos problémák és azok különbözõ megoldásai kerülnek terítékre. A téma iránt érdeklõdõket is szívesen látjuk. link:{freebsd-isdn-url}[freebsd-isdn]:: _ISDN kommunikáció_ + Ez a levelezési lista a FreeBSD ISDN támogatásáról szól. link:{freebsd-java-url}[freebsd-java]:: _Java(TM) alapú fejlesztések_ + A levelezési listán a nagyobb Java(TM) alkalmazások FreeBSD alapú fejlesztését, valamint a JDK(TM)-k portolásáról és karbantartását beszélik meg. [[eresources-charters-jobs]] link:{freebsd-jobs-url}[freebsd-jobs]:: _Munkát keres/kínál_ + Erre a fórumra tudjuk beküldeni a kifejezetten FreeBSD-hez kapcsolódó munkaajánlatokat és önéletrajzokat, tehát ez a megfelelõ hely, ha FreeBSD-s munkát keresünk, vagy éppen FreeBSD szakértõket. Ez azonban _nem_ egy általános célú állásbörze, mert arra megvannak a megfelelõ helyek. + Szeretnénk hozzátenni, hogy ez a lista, a többi `FreeBSD.org` levelezési listához hasonlóan, világméretekben mûködik. Ezért ne felejtsük sosem pontosan megjelölni a munkavégzés helyét, illetve hogy milyen kommunikációs és esetlegesen költözési lehetõségeket javaslunk. + A leveleket csak nyílt formátumban küldjük - elsõsorban szöveges formátumban, de az egyszerûbb PDF, HTML vagy még néhány más hozzájuk hasonló formátumot is alkalmazhatunk. Az olyan zárt formátumok, mint például a Microsoft(R) Word ([.filename]#.doc#) azonban nem fognak továbbítódni. link:{freebsd-kde-url}[freebsd-kde]:: _KDE_ + A KDE és FreeBSD kapcsolatáról szóló lista. Szigorúan szakmai jellegû, ezért csak ilyen témájú levelek küldése elfogadott. link:{freebsd-hackers-url}[freebsd-hackers]:: _Szakmai kérdések_ + Ez a FreeBSD szakmai jellegû kérdéseivel foglalkozó fórum. Ez az elsõ számû szakmai levelezési lista. A FreeBSD fejlesztésével aktívan foglalkozó egyének számára ajánljuk, hiszen itt vethetik fel problémáikat, itt kereshetnek rájuk megoldásokat. Az ilyen típusú megbeszéléseket figyelemmel követõ egyéneket is szívesen fogadjuk. Mivel ez egy erõsen szakmai jellegû lista, ezért csak ilyen témájú leveleket várunk ide. link:{freebsd-hardware-url}[freebsd-hardware]:: _A FreeBSD és a hardverek kapcsolatáról általában_ + Ezen a listán kerül megvitatásra minden olyan hardver, amelyen a FreeBSD mûködik: milyen gondok adódhatnak, milyen hardvereket érdemes beszereznünk vagy elkerülnünk. link:{freebsd-hubs-url}[freebsd-hubs]:: _Tükrözések_ + A FreeBSD tükrözéseit karbantartó egyének számára fontos bejelentések és megbeszélések. link:{freebsd-isp-url}[freebsd-isp]:: _Az internet-szolgáltatók fóruma_ + Ezen a levelezési listán a FreeBSD-t használó internet-szolgáltatók tehetik fel kérdéseiket. Szigorúan csak szakmai jellegû kérdések engedélyezettek. link:{freebsd-mono-url}[freebsd-mono]:: _Mono és C# alkalmazások FreeBSD alatt_ + Ezen a levelezési listán a Mono fejlesztõi keretrendszer FreeBSD alatt futó változatával kapcsolatos megbeszélések folynak. Ez egy szakmai jellegû lista. Itt a Mono vagy más C# alkalmazások FreeBSD változatának elkészítésén dolgozó egyének tudnak problémákat felvetni vagy megvitatni a különbözõ megoldásokat. Rajtuk kívül viszont szeretettel várunk minden érdeklõdõt a téma iránt. link:{freebsd-openoffice-url}[freebsd-openoffice]:: _OpenOffice.org_ + Az OpenOffice.org és StarOffice(TM) portolásával és karbantartásával kapcsolatos megbeszélések. link:{freebsd-performance-url}[freebsd-performance]:: _A FreeBSD hangolásának és gyorsításának tárgyalása_ + Ezen a levelezési listán van lehetõségük a hackereknek, rendszergazdáknak és/vagy az érintett feleknek a FreeBSD teljesítményével kapcsolatos témákban kifejteni a véleményüket. Leginkább nagy terhelés alatt levõ, vagy teljesítménybeli problémákkal küszködõ, esetleg még többet tudó FreeBSD rendszerek tárgyalása a cél. Lehetõleg az érintett gyártókkal és szállítókkal együttesen próbáljuk kidolgozni a FreeBSD teljesítményének növelésére tett kísérleteinket, ezért õket is szívesen látjuk ezen a listán. Ez a kifejezetten szakmai jellegû lista többségében a tapasztalt FreeBSD felhasználók, hackerek vagy rendszergazdák számára tárja fel a gyors, megbízható és skálázható FreeBSD rendszerek lehetõségeit. Ez alapvetõen nem egy kérdezgetõs lista, ahol a dokumentációk elolvasását tudjuk megspórolni, hanem egy olyan hely, ahol a teljesítményt érintõ megválaszolatlan kérdések és elõremutató fejlesztések nyernek teret. link:{freebsd-pf-url}[freebsd-pf]:: _A csomagszûrõ tûzfalrendszerrel kapcsolatos kérdések_ + A FreeBSD csomagszûrõjéhez (packet filter, pf) tartozó tûzfalrendszer megbeszéléseit összefoglaló lista. Szakmai jellegû fejtegetések és felhasználói kérdések egyaránt jöhetnek. Továbbá ezen a listán foglalkozunk az ALTQ rendszer mûködésével is. link:{freebsd-platforms-url}[freebsd-platforms]:: _Portolás nem Intel(R) plaformokra_ + A FreeBSD különbözõ, nem az Intel(R) architektúrára építkezõ portjainak indítványozása és általános jellegû megvitatása. Ez egy kiemelten szakmai jellegû lista, ezért ide csak ilyen témájú leveleket várunk. link:{freebsd-policy-url}[freebsd-policy]:: _Az Core Team szabályozásai_ + Alacsony forgalmú, csak olvasható lista, ahol a FreeBSD fejlesztését irányító csoport különbözõ döntéseirõl olvashatunk. link:{freebsd-ports-url}[freebsd-ports]:: _A "portok" megbeszélése_ + A FreeBSD "portgyûjteményével" ([.filename]#/usr/ports#), a portok infrastruktúrájával és a portok fejlesztésének irányításával kapcsolatos megbeszélések. Erõsen szakmai jellegû lista, ezért ide csak ilyen témában írjunk. link:{freebsd-ports-bugs-url}[freebsd-ports-bugs]:: _A "portok" hibáinak tárgyalása_ + A FreeBSD "portgyûjteményének" ([.filename]#/usr/ports#), a bejelentett portok és azok módosításához kötõdõ hibajelentésekkel foglalkozó lista. Ez egy szakmai jellegû lista, ahol csak ilyen jellegû témákra számítunk. link:{freebsd-proliant-url}[freebsd-proliant]:: _A FreeBSD és a HP ProLiant szerverek kapcsolatát érintõ szakmai megbeszélések_ + Ezen a levelezési listán a FreeBSD HP ProLiant szervereken történõ használatát célozzuk meg, beleértve a ProLianthoz tartozó eszközmeghajtókat, karbantartó és konfigurációs szoftvereket és BIOS-frissítéseket. Ennek megfelelõen tehát a hpasmd, hpasmcli és hpacucli modulok is elsõsorban itt kerülnek felboncolásra. link:{freebsd-python-url}[freebsd-python]:: _A FreeBSD és a Python_ + A lista a FreeBSD Python támogatásának fejlesztésérõl folytatott szakmai megbeszéléseket foglalja össze. Elsõsorban a Python portolásával foglalkozó egyének, valamint a külsõ fejlesztõk által készített modulok és a Zope FreeBSD-s alkalmazásával foglalkozik. Az említett témák iránti érdeklõdõket is szeretettel várjuk. link:{freebsd-questions-url}[freebsd-questions]:: _Felhasználói kérdések_ + Ez a levelezési lista a FreeBSD-vel kapcsolatos kérdésekrõl szól. Lehetõleg ne küldjünk "hogyan" témájú kérdéseket erre a szakmai listára, hacsak nem kifejezetten szakmai jellegûnek szánjuk. link:{freebsd-ruby-url}[freebsd-ruby]:: _A Ruby használata FreeBSD rendszereken_ + Ezen a listán a FreeBSD Ruby támogatásával foglalkozunk, témáját tekintve teljesen szakmai jellegû. Elsõsorban a Ruby portokon, külsõ Ruby könyvtárakon és rendszereken dolgozó fejlesztõk figyelmébe ajánljuk. + Mindenkit szeretettel várunk, aki ezekkel kapcsolatos szakmai tárgyú témákat szeretne megvitatni. link:{freebsd-scsi-url}[freebsd-scsi]:: _A SCSI alrendszer_ + Ezt a levelezési listát a FreeBSD alatt a SCSI alrendszerrel foglalkozók számára tarjuk fenn. Mivel ez egy erõsen szakmai jellegû lista, ezért rajta csak szakmai témák megengedettek. {freebsd-security}:: _Biztonsági problémák_ + A FreeBSD biztonságát illetõ kérdések (DES, Kerberos, biztonsági rések és javításaik, stb.) Szakmai jellegû lista, ezért ide csak a témához szorosan kapcsolódó leveleket szabad beküldeni. Alapvetõen nem kérdezz-felelek típusú a lista mûködése, habár a GYIK-hoz minden hozzájárulást (kérdést ÉS választ EGYARÁNT) szívesen veszünk. {freebsd-security-notifications}:: _Biztonsági figyelmeztetések_ + A FreeBSD-t érintõ biztonsági problémákról és javításaikról szóló értesítések. Megbeszélésekkel, vitákkal nem foglalkozik, mivel azok a FreeBSD-security listán folynak. link:{freebsd-small-url}[freebsd-small]:: _A FreeBSD használata beágyazott alkalmazásokban_ + A szokatlanul kis méretû vagy beágyazott FreeBSD rendszerekhez kapcsolódó megbeszélések színhelye. Szakmai jellegû lista, ezért szigorúan csak a témához tartozó leveleket fogad. + [NOTE] ==== Ezt a listát idõközben felváltotta a link:{freebsd-embedded-url}[freebsd-embedded] lista. ==== {freebsd-stable}:: _A FreeBSD-STABLE használatáról szóló lista_ + Ez a FreeBSD-STABLE használóinak levelezési listája. Ide kerülnek beküldésre a -STABLE ágat futtató felhasználókat érintõ friss változások, valamint hozzájuk kötõdõen a -STABLE használatához szükséges elvégzendõ lépések. Aki a "STABLE" jelzésû változatot használja, mindenképpen iratkozzon fel rá. Szigorúan szakmai jellegû lista, ezért csak szakmai témájú leveleket vár. link:{freebsd-standards-url}[freebsd-standards]:: _C99 és POSIX megfelelés_ + Ez a fórum foglalkozik a FreeBSD és a C99, valamint a POSIX szabványok szerinti megfelelésével. link:{freebsd-toolchain-url}[freebsd-toolchain]:: _A FreeBSD alapvetõ segédprogramjainak karbantartása_ + Ezen a listán a FreeBSD egyes kiadásaihoz mellékelt alapvetõ segédprogramokkal kapcsolatos témákat találjuk meg. Ilyen többek közt rendszerben használt Clang és a GCC fordítók aktuálisan használt változatai, de emellett még szó eshet a rendszerhez kapcsolódó különféle assemblerek, linkerek és debuggerek állapotáról. link:{freebsd-usb-url}[freebsd-usb]:: _A FreeBSD USB támogatása_ + Ez a levelezési lista fogja összes a FreeBSD USB támogatásával foglalkozó szakmai témákat. link:{freebsd-user-groups-url}[freebsd-user-groups]:: _A felhasználói csoportokat irányító lista_ + Ez a levelezési lista az egyes területeken mûködõ felhasználói csoportok az irányítást végzõ központi csoport tagjai általi összehangolásához tartozó problémák megbeszélésére való. Ez a lista leginkább a gyûlések letisztázására és a több csoporton átívelõ nagyobb projektek szervezéséhez használatos. link:{freebsd-vendors-url}[freebsd-vendors]:: _Gyártók_ + A FreeBSD projekt és a hozzá kötödõ hardver- és szoftvergyártók együttmûködését elõsegítõ lista. link:{freebsd-virtualization-url}[freebsd-virtualization]:: _A FreeBSD részérõl támogatott különbözõ virtualizációs technológiák_ + Ezen a levelezési listán elsõsorban a FreeBSD által támogatott virtualizációs megoldásokat vitatjuk meg. Ennek keretében egyrészt az ehhez kapcsolódó alapvetõ funkciók megvalósítása valamint további újítások kerülnek a középpontba, másrészt a felhasználók számára ezzel létrehoztunk egy fórumot a felmerülõ problémák megoldására és az alkalmazási lehetõségek megbeszelésére. link:{freebsd-wip-status-url}[freebsd-wip-status]:: _A FreeBSD-vel kapcsolatos folyamatban levõ fejlesztések helyzetjelentése_ + Ezen a levelezési listán kerülnek bejelentésre a FreeBSD továbbfejlesztéséhez fûzõdõ különbözõ munkák és azok haladásának menete. Az ide befutó üzeneteket moderálják. Javasoljuk, hogy elsõdlegesen az adott témához tartozó tematikus FreeBSD listára küldjük a bejelentésünket és csak egy másolatot erre a listára. Ennek köszönhetõen a munkánk az adott témaspecifikus listán rögtön meg is vitatható, mivel ezen a listán semmi ilyen nem engedélyezett. + A lista archívumába tekintve tájékozódhatunk arról, hogy pontosan milyen formai követelmények illene megfelelnie a beküldenõ üzenetünknek. + A listára beérkezõ üzenetekbõl egy szerkesztett válogatás jelenik meg néhány havonta a FreeBSD honlapján a Projekt helyzetjelentésének részeként . A korábban beküldött jelentések mellett itt még találhatunk további példákat. link:{freebsd-xen-url}[freebsd-xen]:: _A Xen(TM) FreeBSD portjának (implementáció és használat) megvitatása_ + A lista elsõsorban a Xen(TM) FreeBSD-re készült változatával foglalkozik. Elõreláthatólag elég kevesen fognak írni erre a listára ahhoz, hogy helyet kapjanak rajta az implementációt és a kialakítást érintõ szakmai jellegû megbeszélések és a telepítéssel kapcsolatos kérdések egyaránt. [[eresources-mailfiltering]] === A levelezési listák szûrése A kéretlen reklámlevelek, vírusok és egyebek elleni védekezés céljából a FreeBSD levelezési listáinak forgalmát több módon is szûrik. Az ebben a szakaszban bemutatott szûrési megoldások nem fedik le a levelezési listák védelme érdekében alkalmazott összes lehetõséget. A levelezési listákra csak bizonyos típusú csatolt állományokat küldhetünk be. Az alábbi listában nem található MIME típusú csatolt objektumokat még a listára érkezés elõtt törlik. * application/octet-stream * application/pdf * application/pgp-signature * application/x-pkcs7-signature * message/rfc822 * multipart/alternative * multipart/related * multipart/signed * text/html * text/plain * text/x-diff * text/x-patch [NOTE] ==== Egyes levelezési listák ugyan megengedhetnek további csatolt MIME objektumokat is, habár a legtöbb lista esetében a fenti lista a mérvadó. ==== Ha egy levélben a szöveg HTML és nyers szöveg formátumban is szerepel, a HTML változat automatikusan eltávolításra kerül. Ha az e-mail csak HTML formában tartalmazza a szöveget, akkor automatikusan nyers szövegre alakítódik át. [[eresources-news]] == Usenet hírcsoportok A két FreeBSD-s hírcsoport mellett még akadnak olyan további csoportok is, ahol FreeBSD témájú kérdéseket vitathatunk meg vagy hasznos lehet számunkra. Az itt felsorolt hírcsoportok http://minnie.tuhs.org/BSD-info/bsdnews_search.html[ kulcsszavakkal kereshetõ archívuma] Warren Toomey tulajdona (mailto:wkt@cs.adfa.edu.au[wkt@cs.adfa.edu.au]). === BSD-s hírcsoportok * link:news:comp.unix.bsd.freebsd.announce[comp.unix.bsd.freebsd.announce] * link:news:comp.unix.bsd.freebsd.misc[comp.unix.bsd.freebsd.misc] * link:news:de.comp.os.unix.bsd[de.comp.os.unix.bsd] (német) * link:news:fr.comp.os.bsd[fr.comp.os.bsd] (francia) * link:news:it.comp.os.freebsd[it.comp.os.freebsd] (olasz) * link:news:tw.bbs.comp.386bsd[tw.bbs.comp.386bsd] (hagyományos kínai) === Egyéb érdekes UNIX(R)-os hírcsoportok * link:news:comp.unix[comp.unix] * link:news:comp.unix.questions[comp.unix.questions] * link:news:comp.unix.admin[comp.unix.admin] * link:news:comp.unix.programmer[comp.unix.programmer] * link:news:comp.unix.shell[comp.unix.shell] * link:news:comp.unix.user-friendly[comp.unix.user-friendly] * link:news:comp.security.unix[comp.security.unix] * link:news:comp.sources.unix[comp.sources.unix] * link:news:comp.unix.advocacy[comp.unix.advocacy] * link:news:comp.unix.misc[comp.unix.misc] * link:news:comp.bugs.4bsd[comp.bugs.4bsd] * link:news:comp.bugs.4bsd.ucb-fixes[comp.bugs.4bsd.ucb-fixes] * link:news:comp.unix.bsd[comp.unix.bsd] === X Window System * link:news:comp.windows.x.i386unix[comp.windows.x.i386unix] * link:news:comp.windows.x[comp.windows.x] * link:news:comp.windows.x.apps[comp.windows.x.apps] * link:news:comp.windows.x.announce[comp.windows.x.announce] * link:news:comp.windows.x.intrinsics[comp.windows.x.intrinsics] * link:news:comp.windows.x.motif[comp.windows.x.motif] * link:news:comp.windows.x.pex[comp.windows.x.pex] * link:news:comp.emulators.ms-windows.wine[comp.emulators.ms-windows.wine] [[eresources-web]] == Világhálós szolgáltatások <>, <>, <>, <>, <>, <>, <>, <>, <>, <>, <>, <>, <>, <>, <>, <>, <>, <>, <>, <>, <>, <>, <>, <>, <>. (as of UTC) [[central-mirrors]] *{central}* * {central-www} [[armenia-mirrors]] *{mirrors-armenia}* * {mirrors-armenia-www-httpv6} (IPv6) [[australia-mirrors]] *{mirrors-australia}* * {mirrors-australia-www-http} * {mirrors-australia-www2-http} [[austria-mirrors]] *{mirrors-austria}* * {mirrors-armenia-www-httpv6} (IPv6) [[czech-republic-mirrors]] *{mirrors-czech}* * {mirrors-czech-www-httpv6} (IPv6) [[denmark-mirrors]] *{mirrors-denmark}* * {mirrors-denmark-www-httpv6} (IPv6) [[finland-mirrors]] *{mirrors-finland}* * {mirrors-finland-www-http} [[france-mirrors]] *{mirrors-france}* * {mirrors-france-www-http} [[germany-mirrors]] *{mirrors-germany}* * {mirrors-germany-www-http} [[hong-kong-mirrors]] *{mirrors-hongkong}* * {mirrors-hongkong-www} [[ireland-mirrors]] *{mirrors-ireland}* * {mirrors-ireland-www} [[japan-mirrors]] *{mirrors-japan}* * {mirrors-japan-www-httpv6} (IPv6) [[latvia-mirrors]] *{mirrors-latvia}* * {mirrors-latvia-www} [[lithuania-mirrors]] *{mirrors-lithuania}* * {mirrors-lithuania-www} [[netherlands-mirrors]] *{mirrors-netherlands}* * {mirrors-netherlands-www} [[norway-mirrors]] *{mirrors-norway}* * {mirrors-norway-www} [[russia-mirrors]] *{mirrors-russia}* * {mirrors-russia-www-httpv6} (IPv6) [[slovenia-mirrors]] *{mirrors-slovenia}* * {mirrors-slovenia-www} [[south-africa-mirrors]] *{mirrors-south-africa}* * {mirrors-south-africa-www} [[spain-mirrors]] *{mirrors-spain}* * {mirrors-spain-www} * {mirrors-spain-www2} [[sweden-mirrors]] *{mirrors-sweden}* * {mirrors-sweden-www} [[switzerland-mirrors]] *{mirrors-switzerland}* * {mirrors-switzerland-www-httpv6} (IPv6) * {mirrors-switzerland-www2-httpv6} (IPv6) [[taiwan-mirrors]] *{mirrors-taiwan}* * {mirrors-taiwan-www} * {mirrors-taiwan-www2} * {mirrors-taiwan-www4} * {mirrors-taiwan-www5-httpv6} (IPv6) [[uk-mirrors]] *{mirrors-uk}* * {mirrors-uk-www} * {mirrors-uk-www3} [[usa-mirrors]] *{mirrors-us}* * {mirrors-us-www5-httpv6} (IPv6) [[eresources-web-social]] === Fórumok, blogok és ismertségi hálózatok * A http://forums.freebsd.org/[FreeBSD fórumok] a FreeBSD kapcsán felmerülõ kérdések és szakmai témák megvitatásához egy webes felületet kínálnak fel. * A http://planet.freebsdish.org/[Planet FreeBSD] honlapján fejlesztõk által vezetett tucatnyi webes naplót és hozzájuk tartozó RSS feedeket találhatunk. Sok fejlesztõ ezen a módon készít rövid feljegyzéseket a jelenlegi munkájáról, az új javításokról és más egyéb terveirõl. * A Youtube-on keresztül elérhetõ http://www.youtube.com/bsdconferences[BSDConferences] csatornán a világ minden táján tartott különbözõ BSD témájú konferenciák videoanyagait találhatjuk meg. Segítségével megtekinthetjük a fontosabb fejlesztõk által a saját munkájukról tartott különbözõ elõadásokat. [[eresources-web-mirrors]] === Hivatalos tükrözések [[eresources-email]] == E-mail címek A következõ felhasználói csoportok nyújtanak FreeBSD-s e-mail címeket tagjaiknak. A rendszergazdák bármilyen visszaélés esetén fenntartják a visszavonás jogát. [.informaltable] [cols="1,1,1,1", frame="none", options="header"] |=== | Címtartomány | Lehetõségek | Felhasználói csoport | Rendszergazda |ukug.uk.FreeBSD.org |Csak továbbítás |mailto:ukfreebsd@uk.FreeBSD.org[ukfreebsd@uk.FreeBSD.org] |Lee Johnston mailto:lee@uk.FreeBSD.org[lee@uk.FreeBSD.org] |=== diff --git a/documentation/content/hu/books/handbook/jails/_index.adoc b/documentation/content/hu/books/handbook/jails/_index.adoc index d0ea971402..cbe49c9e5c 100644 --- a/documentation/content/hu/books/handbook/jails/_index.adoc +++ b/documentation/content/hu/books/handbook/jails/_index.adoc @@ -1,534 +1,534 @@ --- title: 15. Fejezet - A jail alrendszer part: III. Rész Rendszeradminisztráció prev: books/handbook/security next: books/handbook/mac --- [[jails]] = A jail alrendszer :doctype: book :toc: macro :toclevels: 1 :icons: font :sectnums: :sectnumlevels: 6 :source-highlighter: rouge :experimental: :skip-front-matter: :toc-title: Tartalom :table-caption: Táblázat :figure-caption: Ábra :example-caption: Példa :xrefstyle: basic :relfileprefix: ../ :outfilesuffix: :sectnumoffset: 15 ifeval::["{backend}" == "html5"] :imagesdir: ../../../images/books/handbook/jails/ endif::[] ifeval::["{backend}" == "pdf"] :imagesdir: ../../../../static/images/books/handbook/jails/ endif::[] ifeval::["{backend}" == "epub3"] :imagesdir: ../../../../static/images/books/handbook/jails/ endif::[] include::shared/authors.adoc[] include::shared/releases.adoc[] include::shared/hu/mailing-lists.adoc[] include::shared/hu/teams.adoc[] include::shared/hu/urls.adoc[] toc::[] [[jails-synopsis]] == Áttekintés Ez a fejezet a FreeBSD-ben található jail alrendszert, valamint annak használatát mutatja be közelebbrõl. Az jail, melyet gyakran csak úgy emlegetnek, mint a _chroot környezetek_ továbbfejlesztését, a rendszergazdák számára ajánlott, nagyon sokoldalú eszköz, de a haladó felhasználók is hasznosnak találhatják. A fejezet elolvasása során megismerjük: * mi is az a jail, milyen célra használható a FreeBSD-ben; * hogyan hozzunk létre, indítsunk el és állítsunk le jaileket; * a létrehozott jailek karbantartásainak alapjait, a jailek belülrõl és kívülrõl egyaránt. A jail alrendszerrõl még több hasznos információt a következõ helyekrõl tudhatunk meg: * A man:jail[8] man oldal. Ez tartalmazza a `jail` segédprogram teljes referenciáját - ez az a karbantartásra használható eszköz, amellyel el tudjuk indítani, le tudjuk állítani és vezérelni tudjuk a jaileket a FreeBSD-ben. -* A levelezési listák és azok archívumai. A {freebsd-questions} archívuma és a {mailman-lists}en található többi levelezési lista rengeteg olvasnivalót tartogat a jailekkel kapcsolatban. Mindig érdemes keresni ezekben az archívumokban, vagy beküldeni a kérdésünket a link:{freebsd-questions-url}[freebsd-questions] levelezési listára. +* A levelezési listák és azok archívumai. A {freebsd-questions} archívuma és a {mailing-lists}en található többi levelezési lista rengeteg olvasnivalót tartogat a jailekkel kapcsolatban. Mindig érdemes keresni ezekben az archívumokban, vagy beküldeni a kérdésünket a link:{freebsd-questions-url}[freebsd-questions] levelezési listára. [[jails-terms]] == A jail alrendszerhez kapcsolódó fogalmak A fejezet további részében a következõ fogalmakat fogjuk használni, hogy a FreeBSD jailekhez tartozó egyes részeit és azok belsõ mûködését, valamint kapcsolatukat a rendszer többi részével még inkább érthetõvé tegyük: man:chroot[8] (parancs):: Egy segédprogram, amely a FreeBSD man:chroot[2] rendszerhívásán keresztül egy program és annak leszármazottjainak futtatásához megváltoztatja a rendszer gyökérkönyvtárát (change root). man:chroot[2] (környezet):: A "chroot" módban futó programok környezete. Olyan erõforrásokat foglal magában, mint mondjuk az állományrendszer látható része, az elérhetõ felhasználói és csoport azonosítók, hálózati csatolók és egyéb folyamatok közti kommunikációs mechanizmusok stb. man:jail[8] (parancs):: Az a rendszerkarbantartó segédprogram, amely lehetõvé teszi program elindítását elzárt környezetben. befogadó (rendszer, program, felhasználó stb.):: Az elzárt környezetet irányító rendszer. A befogadó rendszer hozzá tud férni az összes elérhetõ hardveres erõforráshoz, képes az elzárt környezeten kívül és belül futó programokat vezérelni. Az egyik legfontosabb különbség a befogadó és az elzárt rendszer között, hogy azok a korlátozások, amelyek az elzárt környezetben rendszeradminisztrátori jogokkal futó programokra vonatkoznak, nem feltétlenül érvényesek a befogadó rendszerben futóakra. befogadott (rendszer, program, felhasználó stb.):: Olyan program, felhasználó vagy más egyéb egyed, amely csak egy jailen keresztül, korlátozottan tud hozzáférni az erõforrásokhoz. [[jails-intro]] == Bevezetés Mivel a rendszeradminisztráció egy nehéz és zavarba ejtõ feladat, rengeteg komoly eszköz jött létre a rendszergazdák életének megkönnyítésére. Ezek az eszközök többnyire a rendszerek telepítését, beállítását és karbantartását igyekeznek valamilyen módon jobbá tenni. A rendszergazdák egyik feladata úgy gondoskodni a biztonságról, hogy közben a rendszer képes legyen ellátni eredeti feladatát. A FreeBSD rendszerek biztonságosságának növelését hivatott egyik ilyen eszköz a _jails_. Elõször a FreeBSD 4.X verziójában bukkant fel, de jelentõs fejlõdésen ment keresztül a FreeBSD 5.X verziókban, aminek köszönhetõen sokkal erõteljesebb és rugalmasabb alrendszerré vált. A fejlesztése természetesen most is folytatódik tovább, állandóan fejlõdik a használhatósága, teljesítménye, megbízhatósága és biztonságossága. [[jails-what]] === Mi is az a jail? A BSD-szerû operációs rendszerekben már a 4.2BSD óta megtalálható volt a man:chroot[2]. A man:chroot[8] segédprogrammal meg tudjuk megváltoztatni adott programok számára a gyökérkönyvtárat, és ezzel egy biztonságos környezetet teremteni, távol a rendszer többi részétõl. A chroot-tal kialakított környezetben elinduló programok nem tudnak hozzáférni a rajta kívül található állományokhoz és erõforrásokhoz. Ennek okán, ha egy ilyen környezetben futó szolgáltatást megtámadnak, az önmagában még nem teszi lehetõvé a támadó számára, hogy elérhesse az egész rendszert. A man:chroot[8] remekül használható olyan egyszerûbb feladatok megoldására, amelyek nem igényelnek túlságosan sok rugalmasságot vagy bonyolult és fejlett támogatást. A chroot ötletének felmerülése óta azonban számos kiskaput találtak már az általa létrehozott környezetekben, és habár ezek mindegyikét javították a FreeBSD újabb változataiban, teljesen egyértelmûvé vált, hogy a man:chroot[2] nem biztosít járható utat a szolgáltatások biztonságossá tételéhez. Erre a feladatra egy új alrendszert kellett kiépíteni. Ez az egyik oka annak, amiért az _jaileket_ kifejlesztették. A jailek által képviselt elzárás ötlete több szempontból is a hagyományos man:chroot[2] környezet elvén alapszik. Egy hagyományos man:chroot[2] környezetben futó programok korlátozása csupán abban merül ki, hogy az állományrendszer melyik részét láthatják. A rendszer többi erõforrása (mint mondjuk a felhasználók, futó programok vagy a hálózati alrendszer) azonban továbbra is megosztva marad a chroot környezetben és a befogadó rendszerben futó programok között. A jailek által alkalmazott megoldás kibõvíti ezt a modellt, és nem csak az állományrendszerre vonatkozó hozzáférést virtualizálja, hanem több más dolog mellett kiterjeszti ezt a felhasználókra és a FreeBSD hálózati alrendszerére is. Az elzárt környezetek beállításaihoz elérhetõ finomhangolási lehetõségekrõl bõvebben a <>ban esik szó. A jaileket az alább négy elem írja le: * A könyvtárszerkezet egy részfája - attól a résztõl indulva, ahonnan a jail kezdõdik. A jailen belül futó programok nem léphetnek ki ebbõl a részfából. Az eredeti man:chroot[2] kialakításában merengõ biztonsági hibák lehetõségei nem veszélyeztetik a többi FreeBSD jailt. * A rendszer neve - a név, amelyet a jailen belül használunk. Mivel a jaileket elsõsorban hálózati szolgáltatások kordában tartására használjuk, a jailekhez tartozó beszédes rendszernevek sokat tudnak segíteni a rendszergazdák munkájában. * Egy IP-cím - a jailhez tartozik és nem változtatható meg a mûködése során. Egy jail IP-címe általában egy már létezõ hálózati csatoló másik címe, de ez nem szükségszerûen igaz minden esetben. * Egy parancs - annak a programnak az elérési útja, amelyet elzártan kívánunk futtatni. Az elzárt környezet gyökerétõl mérve relatívan adjuk meg, és az adott környezet típusától függõen eltérõ lehet. Ezektõl eltekintve a jailek rendelkezhetnek saját felhasználókkal és lehetnek saját `root` felhasználóik is. Természetesen a `root` hatásköre csak az elzárt környezetre korlátozódik, és a befogadó rendszer szemszögébõl az elzárt `root` nem mindenható. Ráadásul az elzárt `root` felhasználó nem hajthat végre semmilyen kritikus mûveletet a saját man:jail[8] környezetén kívül. A `root` további képességeirõl és korlátozásairól lentiekben bõvebben is említést teszünk a <>ban. [[jails-build]] == A jailek létrehozása és vezérlése Egyes rendszergazdák a jaileket a következõ két típusba sorolják: "teljes" jail, mely egy valódi FreeBSD rendszerre emlékeztet, és a "szolgáltatás" jail, mely egyetlen, feltehetõen kiemelt jogokkal futó alkalmazás vagy szolgáltatás számára van elõkészítve. Ez a besorolás csupán fogalmi szintû, a jail felépítésének módját nem befolyásolja. A man:jail[8] man oldal részletesen ismerteti a jailek létrehozását: [source,shell] .... # setenv D /itt/lesz/a/jail # mkdir -p $D <.> # cd /usr/src # make buildworld <.> # make installworld DESTDIR=$D <.> # make distribution DESTDIR=$D <.> # mount -t devfs devfs $D/dev <.> .... <.> Érdemes elõször a jail helyét megválasztani. Itt fog fizikailag helyet foglalni a befogadó rendszer állományrendszerén belül a jail. Jó választás lehet erre a [.filename]#/usr/jail/jailnév#, ahol a _jailnév_ a jailt azonosító rendszernév. A [.filename]#/usr/# állományrendszeren általában elegendõ hely jut a jail állományrendszerének, ami egy "teljes" jail esetén lényegében a FreeBSD alaprendszer alapértelmezett telepítésében megtalálható összes állomány másolatát tartalmazza. <.> Ha korábban már a `make world` vagy a `make buildworld` parancs segítségével újrafordítottuk az alaprendszert, akkor ezt a lépést ki is hagyhatjuk és telepítsük az új alaprendszert közvetlenül az új jailbe. <.> Ez a parancs fogja felmásolni a jail fizikai helyének választott könyvtár-részfába a mûködéshez szükséges programokat, függvénykönyvtárakat, man oldalakat és így tovább. <.> A make paramétereként megadott `distribution` cél gondoskodik az összes szükséges konfigurációs állomány felmásolásáról. Magyarán szólva, átmásolja az összes telepíhetõ állományt a [.filename]#/usr/src/etc/# könyvtárból a jail [.filename]#/etc# alkönyvtárába, vagyis a [.filename]#$D/etc/# könyvtárba. <.> A jaileken belül a man:devfs[8] csatlakoztatása nem kötelezõ. Másrészt azonban majdnem mindegyik alkalmazás, a feladatától függõen, legalább egy eszközhöz hozzá akar férni. Nagyon fontos, hogy a kezünkbe vegyük a eszközök hozzáférésének irányítását a jaileken belül, mivel a helytelen beállítások révén a támadók csúnya dolgokat tudnak majd mûvelni. A man:devfs[8] mûködését a man:devfs[8] és man:devfs.conf[5] man oldalakon is ismertetett szabályrendszerek irányítják. Ahogy a jailt telepítettük, a man:jail[8] segédprogrammal tudjuk elindítani. A man:jail[8] négy kötelezõ paramétert vár, melyekre a <>ban ki is térünk. Más paramétereket is megadhatunk, például azt, hogy az elzárt program egy adott felhasználó jogaival fusson. A `_command_` paraméter használata a jail típusától függ: egy _virtuális rendszer_ esetében a [.filename]#/etc/rc# jó választásnak bizonyulhat, mivel ennek segítségével egy valódi FreeBSD rendszerindítási folyamatát játszhatjuk le. Amennyiben elzárt __szolgáltatás__ról van szól, az adott szolgáltatástól vagy alkalmazástól függ. A jaileket gyakran már a rendszerindítás során elindítják, amit a FreeBSD [.filename]#rc# mechanizmusa nagyban meg is könnyít. [.procedure] ==== . A rendszer indítása során aktiválandó jailek listáját vegyük hozzá a man:rc.conf[5] állományhoz: + [.programlisting] .... jail_enable="YES" # Ide NO-t írjunk, ha ki akarjuk kapcsolni jail_list="www" # Szóközzel elválasztva soroljuk fel a jaileket .... + [NOTE] ====== A `jail_list` értékeként felsorolt jailek nevei csak betûket és számjegyeket tartalmazhatnak. ====== + . A `jail_list`-ben szereplõ összes jailt meg kell adnunk az ezeket leíró man:rc.conf[5]-beli beállításokat: + [.programlisting] .... jail_www_rootdir="/usr/jail/www" # a jail gyökérkönyvtára jail_www_hostname="www.example.org" # a jail neve jail_www_ip="192.168.0.10" # a jail IP-címe jail_www_devfs_enable="YES" # legyen-e devfs a jailen belül jail_www_devfs_ruleset="www_ruleset" # az alkalmazott devfs szabályrendszer .... + Az man:rc.conf[5] állományban szereplõ jailek esetén a [.filename]#/etc/rc# szkript fut le, tehát feltételezi, hogy az így megadott jail egy teljes virtuális rendszer. A szolgáltatások jailbe foglalásához meg kell változtatnunk a jail alapértelmezett parancsát is. Ezt a `jail__jailnév__exec_start` opció megfelelõ beállításával tudjuk megtenni. + [NOTE] ====== Az összes itt elérhetõ opciót a man:rc.conf[5] man oldalon találhatjuk meg. ====== ==== Ha léteznek a megfelelõ bejegyzések az [.filename]#rc.conf# állományban, akkor az [.filename]#/etc/rc.d/jail# szkript is használható arra, hogy a jaileket kézzel indítsuk el vagy állítsuk le: [source,shell] .... # /etc/rc.d/jail start www # /etc/rc.d/jail stop www .... A man:jail[8] leállítására jelen pillanatban még nem érhetõ el szabályos módszer. Ez azért van, mert a szabályos rendszerleállítást elvégzõ parancsok nem használhatóak a jailen belül. Emiatt a jaileket a legtisztábban úgy tudjuk leállítani, ha kiadjuk az alábbi parancsot magában a jailben vagy pedig a man:jexec[8] segédprogrammal a jailen kívülrõl: [source,shell] .... # sh /etc/rc.shutdown .... Errõl a témáról többet a man:jail[8] man oldalon olvashatunk. [[jails-tuning]] == Finomhangolás és karbantartás Számos opció állítható be a jaileknél, és sokféle módon vegyíthetjük a befogadó FreeBSD rendszerünket a jailekkel, ami által magasabb szintû alkalmazásokat hozhatunk létre. Ebben a részben bemutatunk: * Néhány olyan beállítást, amellyel finomhangolhatjuk a telepített jailek által megvalósított biztonsági megszorítások viselkedését. * A jailek kezelésére alkalmas néhány olyan magasabb szintû alkalmazást, amelyek elérhetõek a FreeBSD Portgyûjteményén keresztül, és általános jail alapú megoldások kialakításához használhatóak. [[jails-tuning-utilities]] === A FreeBSD-ben található finomhangoló eszközök A jailek beállításainak finomhangolását túlnyomórészt man:sysctl[8] változókkal végezhetjük el. A sysctl-en belül egy speciális részfában találhatunk erre alkalmas beállításokat: ez a a FreeBSD rendszermag opciói között megtalálható `security.jail.*`. Itt közüljük a jailekre vonatkozó fontosabb sysctl változók listáját, az alapértelmezett értékeikkel együtt. A nevek minden bizonnyal sokat elárulnak, de ha többet szeretnénk tudni róluk, lapozzuk fel a man:jail[8] és man:sysctl[8] man oldalakat. * `security.jail.set_hostname_allowed: 1` * `security.jail.socket_unixiproute_only: 1` * `security.jail.sysvipc_allowed: 0` * `security.jail.enforce_statfs: 2` * `security.jail.allow_raw_sockets: 0` * `security.jail.chflags_allowed: 0` * `security.jail.jailed: 0` Ezekkel a változókkal a _befogadó rendszer_ rendszergazdája tud hozzátenni vagy elvenni a `root` felhasználó alapértelmezett határaihoz. Vegyük azonban észre, hogy egyes korlátozások azonban semmiképpen sem szüntethetõek meg. A `root` nem csatlakoztathat és választhat le állományrendszereket a man:jail[8] környezetben. Az elzárt `root` nem tölthet be és törölhet man:devfs[8] szabályrendszereket, tûzfal szabályokat sem, ill. nem végezhet semmilyen olyan bármilyen más karbantartási feladatot, amely a rendszermag adataiban módosítást vonna maga után, például nem állíthatja a rendszermag `securelevel` (biztonsági szintjének) értékét. A FreeBSD alaprendszere tartalmazza azokat a segédeszközöket, amelyekkel a rendszerben aktív jailek információt tudjuk megjeleníteni, vagy csatlakozni tudunk hozzájuk. A man:jls[8] és man:jexec[8] parancsok részei az alap FreeBSD rendszernek, segítségükkel elvégezhetõek az alábbi egyszerû feladatokat: * Ki tudjuk íratni az aktív jailek és hozzájuk tartozó azonosítókat (JID-eket), IP-címeket, neveket és útvonalakat. * A befogadó rendszerbõl hozzá tudunk csatlakozni egy futó jailhez, és parancsokat tudunk futtatni a jailen belül vagy karbantartási feladatokat tudunk elvégezni magán a jailen belül. Ez különösen hasznosnak bizonyulhat, amikor a `root` felhasználó szabályosan le akarja állítani a jailt. A man:jexec[8] segédprogrammal el tudunk indítani egy parancsértelmezõt a jailen belül, amibõl aztán irányíthatjuk. Példa: + [source,shell] .... # jexec 1 tcsh .... [[jails-tuning-admintools]] === Magasszintû karbantartó eszközök a FreeBSD Portgyûjteményében A sok külsõ karbantartó eszköz közül az egyik legteljesebb és leghasznosabb a package:sysutils/jailutils[]. Sok kisebb alkalmazást tartalmaz, melyek kibõvítik a man:jail[8] irányíthatóságát. Bõvebb információkért kérjük, látogassa meg a hozzá tartozó honlapot. [[jails-application]] == A jailek alkalmazása [[jails-service-jails]] === Szolgáltatások jailbe foglalása Ez a rész eredetileg {simon} http://simon.nitro.dk/service-jails.html[http://simon.nitro.dk/service-jails.html] oldalon található írásán, valamint Ken Tom (mailto:locals@gmail.com[locals@gmail.com]) átdolgozott cikkén alapul. Itt megismerhetjük, hogyan állítsunk be a FreeBSD rendszerünkben egy biztonsági réteget a man:jail[8] felhasználásával. Továbbá feltételezzük, hogy ez a rendszer legalább RELENG_6_0 verziójú és a fejezetben korábban tárgyaltakat az olvasó teljes mértékben megértette. [[jails-service-jails-design]] ==== A kialakítás A jailek egyik legnagyobb gondja a frissítés folyamatának lebonyolítása. Azért jelent ez egyre inkább gondot, mert minden egyes jailt újra fel kell építenünk a frissítése során. Ez többnyire nem okoz gondot egyetlen jail használata során, mivel maga a frissítési folyamat meglehetõsen egyszerû, azonban igen idõigényessé és fárasztóvá tud válni több jail esetében. [WARNING] ==== Ez a példa a FreeBSD képességeinek haladó szintû ismeretét követeli meg. Amennyiben az itt bemutatott lépesek túlságosan is bonyolultnak tûnnének, érdemes olyan egyszerûbb rendszerek után nézni, mint mondjuk a package:sysutils/ezjail[], amely egy egyszerûbb módszert kínál fel a FreeBSD-ben használt jailek karbantartására, és nem is annyira bonyolult, mint ez a példa. ==== A bemutatandó példa célja, hogy feloldja az ilyen jellegû problémákat, és ezért igyekszik a jailek között mindent megosztani, ami csak lehetséges. Mindezt biztonságosan éri el - írásvédett man:mount_nullfs[8] állományrendszer használatával, aminek köszönhetõen a frissítés maga egyszerûbbé, az egyes szolgáltatások különzárása pedig vonzóbbá válik. Ráadásul egyúttal egy nagyon egyszerû módszert mutat az új jailek hozzáadására és a régi törlésére ugyanúgy, mint a frissítésükre. [NOTE] ==== Például ilyen szolgáltatásokat kívánunk szabályozni: egy HTTP szervert, egy DNS szervert, egy SMTP szervert és így tovább. ==== Az itt szereplõ beállítás céljai: * Készítsünk egy egyszerûen és könnyen átlátható jailkezelési rendszert. Ebbõl tehát következik, hogy _ne_ kelljen lefuttatni a teljes rendszer telepítését minden egyes jailre. * Könnyítsük meg az új jailek hozzáadását és a régiek eltávolítását. * Könnyítsük meg a már létezõ jailek frissítését és cseréjét. * Tegyük lehetõvé saját FreeBSD ágak futtatását. * Legyünk különösen körültekintõek a biztonság tekintetében, és igyekezzünk minél jobban csökkenteni veszély kockázatát. * Takarékoskodjunk a tárhellyel és az állományrendszerrel, amennyire csak lehet. Ahogy azt már korábban is említettük, ez a kialakítás nagyban építkezik egyetlen fõ sablonra, amely írásvédetten kerül csatlakoztatásra (nullfsen keresztül) az egyes jailekben, valamint jailenként egy-egy írható-olvasható eszközre. Ez az eszköz lehet egy külön fizikai lemez, egy partíció vagy egy vnode alapú man:md[4] eszköz. Ebben a példában írható-olvasható nullfs csatlakozásokat használunk. Az állományrendszer kiosztása a most következõ listában szerepel: * Minden jailt a [.filename]#/home/j# könyvtárban csatlakoztatunk. * A [.filename]#/home/j/mroot# lesz az összes jail sablonja és mindegyikük számára írásvédett. * Minden jailnek létrehozunk egy üres alkönyvtárat a [.filename]#/home/j# könyvtárban. * Minden jailnek lesz egy [.filename]#/s# alkönyvtára, amelyet a rendszer írható-olvasható részére irányítunk. * Minden jailnek lesz egy saját írható-olvasható része, amely a [.filename]#/home/j/skel# könyvtáron alapszik. * Mindegyik elzárt terület (a jailek írható-olvasható része) a [.filename]#/home/js# könyvtárban jön létre. [NOTE] ==== Ez a kiosztás feltételezi, hogy a jaileket a [.filename]#/home# partíción hozzuk létre. Ez természetesen bármi másra megváltoztatható, de akkor figyelnünk kell erre minden egyes parancs kiadása elõtt. ==== [[jails-service-jails-template]] ==== A sablon létrehozása Ez a rész leírja a fõ sablon létrehozásához szükséges lépéseket. Ez a jailek számára írásvédett lesz. Érdemes mindig frissíteni a FreeBSD rendszerünket a legújabb -RELEASE ágra. Ehhez olvassuk el az ide tartozó crossref:cutting-edge[makeworld,fejezetet] a kézikönyvbõl. Abban az esetben, ha a frissítés nem lenne megoldható, egy `make buildworld` parancsot mindenképpen le kell tudnunk futtatni. Ezenfelül a package:sysutils/cpdup[] csomagra is szükségünk van. Használni fogjuk a man:portsnap[8] segédprogramot is a FreeBSD Portgyûjtemény letöltéséhez. Akik nem ismernék, a kézikönyv crossref:portsnap[portsnap,errõl szóló fejezetében] olvashatnak róla. [.procedure] ==== . Elõször is, készítsük el az írásvédett állományrendszer könyvtárszerkezetét, amely majd tartalmazni fogja a jailek által használt FreeBSD-s programokat. Ezután lépjünk be a FreeBSD forrásfájának könyvtárába és telepítsük fel az írásvédett állományrendszert a sablonba: + [source,shell] .... # mkdir /home/j /home/j/mroot # cd /usr/src # make installworld DESTDIR=/home/j/mroot .... + . Ezt követõen készítsük elõ a jailek számára a FreeBSD Portgyûjteményt és FreeBSD forrásfát, melyek kellenek a mergemaster használatához: + [source,shell] .... # cd /home/j/mroot # mkdir usr/ports # portsnap -p /home/j/mroot/usr/ports fetch extract # cpdup /usr/src /home/j/mroot/usr/src .... + . Hozzuk létre a rendszer írásvédett részének vázát: + [source,shell] .... # mkdir /home/j/skel /home/j/skel/home /home/j/skel/usr-X11R6 /home/j/skel/distfiles # mv etc /home/j/skel # mv usr/local /home/j/skel/usr-local # mv tmp /home/j/skel # mv var /home/j/skel # mv root /home/j/skel .... + . Használjuk a mergemastert a hiányzó konfigurációs állományok telepítésére. Szabaduljunk meg a mergemaster által készített felesleges könyvtáraktól: + [source,shell] .... # mergemaster -t /home/j/skel/var/tmp/temproot -D /home/j/skel -i # cd /home/j/skel # rm -R bin boot lib libexec mnt proc rescue sbin sys usr dev .... + . Most pedig szimbolikusan linkeljük az írható-olvasható állományrendszert az írásvédett állományrendszerre. Ellenõrizzük, hogy a szimbolikus linkek a megfelelõ [.filename]#s/# könyvtárakban jöttek létre. Valós vagy rossz helyen létrehozott könyvtárak használata esetén a telepítés nem fog sikerülni. + [source,shell] .... # cd /home/j/mroot # mkdir s # ln -s s/etc etc # ln -s s/home home # ln -s s/root root # ln -s ../s/usr-local usr/local # ln -s ../s/usr-X11R6 usr/X11R6 # ln -s ../../s/distfiles usr/ports/distfiles # ln -s s/tmp tmp # ln -s s/var var .... + . Utolsó lépésként hozzunk létre egy [.filename]#/home/j/skel/etc/make.conf# állományt az alábbi tartalommal: + [.programlisting] .... WRKDIRPREFIX?= /s/portbuild .... + A `WRKDIRPREFIX` beállításával lehetõvé válik a FreeBSD portok jaileken belüli fordítása. Ne felejtsük el, hogy a portokat tartalmazó könyvtár az írásvédett rendszer része! Az átállított `WRKDIRPREFIX` azonban megengedi, hogy a fordítások az egyes jailek írható-olvasható részeiben történjenek. ==== [[jails-service-jails-creating]] ==== A jailek létrehozása Most, miután teljesen elkészült a FreeBSD jailek sablonja, be is tudjuk állítani és hozzá is tudjuk venni ezeket az [.filename]#/etc/rc.conf# állományhoz. Ebben a példában 3 jail létrehozását láthatjuk: "NS", "MAIL" és "WWW". [.procedure] ==== . Írjuk bele a következõ sorokat az [.filename]#/etc/fstab# állományba, aminek köszönhetõen az egyes jailek számára elérhetõvé válik az írásvédett sablon és a hozzájuk tartozó írható-olvasható területek: + [.programlisting] .... /home/j/mroot /home/j/ns nullfs ro 0 0 /home/j/mroot /home/j/mail nullfs ro 0 0 /home/j/mroot /home/j/www nullfs ro 0 0 /home/js/ns /home/j/ns/s nullfs rw 0 0 /home/js/mail /home/j/mail/s nullfs rw 0 0 /home/js/www /home/j/www/s nullfs rw 0 0 .... + [NOTE] ====== Az elsõ helyen nullával jelölt partíciókat a man:fsck[8] nem fogja ellenõrizni a rendszer indulása során, a második helyen nullával jelölt partíciókat pedig nem fogja menteni a man:dump[8]. Mi egyáltalán nem akarjuk, hogy az fsck ellenõrizze vagy a dump lementse a jailjeinkhez tartozó írásvédett nullfs-partícióinkat. Ezért szerepel végig "0 0" a fentebb szereplõ [.filename]#fstab#-bejegyzések utolsó két oszlopában. ====== + . Állítsuk be a jaileket az [.filename]#/etc/rc.conf#-ban: + [.programlisting] .... jail_enable="YES" jail_set_hostname_allow="NO" jail_list="ns mail www" jail_ns_hostname="ns.example.org" jail_ns_ip="192.168.3.17" jail_ns_rootdir="/usr/home/j/ns" jail_ns_devfs_enable="YES" jail_mail_hostname="mail.example.org" jail_mail_ip="192.168.3.18" jail_mail_rootdir="/usr/home/j/mail" jail_mail_devfs_enable="YES" jail_www_hostname="www.example.org" jail_www_ip="62.123.43.14" jail_www_rootdir="/usr/home/j/www" jail_www_devfs_enable="YES" .... + [WARNING] ====== Azért állítottuk a `jail__név__rootdir` változó értékét a [.filename]#/usr/home# könyvtárra a [.filename]#/home# könyvtár helyett, mert a FreeBSD alaptelepítésében a [.filename]#/home# könyvtár fizikailag a [.filename]#/usr/home# könyvtárral egyezik meg. A `jail__név__rootdir` változó értékeként megadott könyvtár _nem_ tartalmazhat szimbolikus linket, máskülönben a jailek nem lesznek hajlandóak létrejönni. Ennek megállapításában a man:realpath[1] segédprogram lehet segítségünkre. A korlátozás részleteirõl a FreeBSD-SA-07:01.jail biztonsági figyelmeztetésben olvashatunk. ====== + . Hozzuk létre az egyes jailek írásvédett állományrendszereihez szükséges csatlakozási pontokat: + [source,shell] .... # mkdir /home/j/ns /home/j/mail /home/j/www .... + . Telepítsük az írható-olvasható sablont az egyes jailekbe. Figyeljük meg a package:sysutils/cpdup[] használatát, amellyel az egyes könyvtárak pontos másolatait hozhatjuk létre: + [source,shell] .... # mkdir /home/js # cpdup /home/j/skel /home/js/ns # cpdup /home/j/skel /home/js/mail # cpdup /home/j/skel /home/js/www .... + . Ebben a fázisban a jailek már elkészültek és készen állnak a futásra. Elõször csatlakoztassuk az egyes jailekhez szükséges állományrendszereket, majd indítsuk el ezeket a [.filename]#/etc/rc.d/jail# szkripttel: + [source,shell] .... # mount -a # /etc/rc.d/jail start .... ==== A jailek most már futnak. Az elindulásuk ellenõrzéséhez használjuk a man:jls[8] parancsot. Valami ilyesmit láthatunk a kiadása után: [source,shell] .... # jls JID IP Address Hostname Path 3 192.168.3.17 ns.example.org /home/j/ns 2 192.168.3.18 mail.example.org /home/j/mail 1 62.123.43.14 www.example.org /home/j/www .... Itt már be tudunk jelentkezni az egyes jailekbe, új felhasználókat tudunk készíteni vagy démonokat tudunk beállítani. A `JID` oszlop mutatja az egyes jailek azonosítási számát. A 3-as `JID` számú jailben az alábbi parancs használatával karbantartási feladatokat elvégezni: [source,shell] .... # jexec 3 tcsh .... [[jails-service-jails-upgrading]] ==== Frissítés Idõrõl idõre adódhat, hogy frissítenünk kell a rendszert a FreeBSD egy újabb változatára, vagy egy biztonsági hiba javítása miatt, vagy pedig a már meglevõ jailek számára hasznos újítások bevezetése miatt. Ez a kialakítás megkönnyíti a korábban létrehozott jailjeink frissítését. Továbbá igyekszik minimalizálni a kiesésüket is, mivel a jaileket csak a legutolsó pillanatban fogjuk leállítani. Sõt, még az is lehetõvé válik, hogy visszaállítsuk a korábbi verziót, ha véletlenül valami rosszul sülne el menetközben. [.procedure] ==== . Elsõ lépéseként frissítsük magát a befogadó rendszert a megszokott módon. Ezután hozzunk létre egy új írásvédett sablont a [.filename]#/home/j/mroot2# könyvtárban. + [source,shell] .... # mkdir /home/j/mroot2 # cd /usr/src # make installworld DESTDIR=/home/j/mroot2 # cd /home/j/mroot2 # cpdup /usr/src usr/src # mkdir s .... + A `installworld` lefuttatása létrehoz néhány felesleges könyvtárat, melyeket takarítsunk is el: + [source,shell] .... # chflags -R 0 var # rm -R etc var root usr/local tmp .... + . Hozzuk újra létre az írható-olvasható szimbolikus linkjeinket a fõ állományrendszerre: + [source,shell] .... # ln -s s/etc etc # ln -s s/root root # ln -s s/home home # ln -s ../s/usr-local usr/local # ln -s ../s/usr-X11R6 usr/X11R6 # ln -s s/tmp tmp # ln -s s/var var .... + . Most érkezett el az idõ, hogy leállítsuk a jaileket: + [source,shell] .... # /etc/rc.d/jail stop .... + . Válasszuk le az eredeti állományrendszereket: + [source,shell] .... # umount /home/j/ns/s # umount /home/j/ns # umount /home/j/mail/s # umount /home/j/mail # umount /home/j/www/s # umount /home/j/www .... + [NOTE] ====== Az írható-olvasható állományrendszerek hozzá vannak kapcsolva az írásvédett állományrendszerhez ([.filename]#/s#), ezért azokat elõször le kell választani. ====== + . Mozgassuk el az útból a régi írásvédett állományrendszerünket és váltsuk fel az újjal. Így biztonsági mentésként és a régi írásvédett rendszer archívumaként továbbra is rendelkezésre áll, ha valami baj történne. Az itt használt elnevezés az újonnan létrehozott írásvédett állományrendszer dátumából ered. Mozgassuk át az eredeti FreeBSD Portgyûjteményt az új állományrendszerre, hogy megtakarítsunk némi tárhelyet és állományleírót: + [source,shell] .... # cd /home/j # mv mroot mroot.20060601 # mv mroot2 mroot # mv mroot.20060601/usr/ports mroot/usr .... + . Most már készen áll az új írásvédett sablon, így már csak az állományrendszerek újracsatlakoztatása és a jailek újraindítása maradt: + [source,shell] .... # mount -a # /etc/rc.d/jail start .... ==== A man:jls[8] használatával ellenõrizzük, hogy a jailek rendesen elindultak. Ne felejtsük el jailenként lefuttatni a mergemastert sem. A konfigurációs állományokat és az rc.d szkripteket is frissítenünk kell majd. diff --git a/documentation/content/hu/books/handbook/mirrors/_index.adoc b/documentation/content/hu/books/handbook/mirrors/_index.adoc index 474fd6df33..08d8bf94df 100644 --- a/documentation/content/hu/books/handbook/mirrors/_index.adoc +++ b/documentation/content/hu/books/handbook/mirrors/_index.adoc @@ -1,1654 +1,1654 @@ --- title: A. Függelék - A FreeBSD beszerzése part: V. Rész - Függelék prev: books/handbook/partv next: books/handbook/bibliography --- [appendix] [[mirrors]] = A FreeBSD beszerzése :doctype: book :icons: font :sectnums: :sectnumlevels: 6 :source-highlighter: rouge :experimental: :skip-front-matter: :toc-title: Tartalom :table-caption: Táblázat :figure-caption: Ábra :example-caption: Példa :xrefstyle: basic :relfileprefix: ../ :outfilesuffix: :sectnumoffset: A include::shared/mirrors.adoc[] include::shared/authors.adoc[] include::shared/releases.adoc[] include::shared/hu/mailing-lists.adoc[] include::shared/hu/teams.adoc[] include::shared/hu/urls.adoc[] [[mirrors-cdrom]] == CD és DVD kiadók === Kiskereskedelmi dobozos termékek A FreeBSD beszerezhetõ számos kiskereskedõtõl dobozos termék formájában is (FreeBSD CD-k, egyéb szoftverek és nyomtatott dokumentáció): * CompUSA + WWW: http://www.compusa.com/ * Frys Electronics + WWW: http://www.frys.com/ === CD- és DVD-készletek FreeBSD CD- és DVD-készletek rengeteg helyrõl rendelhetõek: * FreeBSD 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: + WWW: http://www.freebsdmall.com/ * Dr. Hinner EDV + St. Augustinus-Str. 10 + D-81825 München + Németország + Telefon: (089) 428 419 + WWW: http://www.hinner.de/linux/freebsd.html * Ikarios + 22-24 rue Voltaire + 92000 Nanterre + Franciaország + WWW: http://ikarios.com/form/#freebsd * JMC Software + Írország + Telefon: 353 1 6291282 + WWW: http://www.thelinuxmall.com * The Linux Emporium + Hilliard House, Lester Way + Wallingford + OX10 9TA + Egyesült Királyság + Telefon: +44 1491 837010 + Fax: +44 1491 837016 + WWW: http://www.linuxemporium.co.uk/products/bsd/ * Linux+ DVD Magazine + Lewartowskiego 6 + Warsaw + 00-190 + Lengyelország + Telefon: +48 22 860 18 18 + e-mail: + WWW: http://www.lpmagazine.org/ * Linux System Labs Australia + 21 Ray Drive + Balwyn North + VIC - 3104 + Ausztrália + Telefon: +61 3 9857 5918 + Fax: +61 3 9857 8974 + WWW: http://www.lsl.com.au * LinuxCenter.Ru + Galernaya utca, 55 + Szentpétervár + 190000 + Oroszország + Telefon: +7-812-3125208 + e-mail: + WWW: http://linuxcenter.ru/shop/freebsd === Terjesztõk Ha viszonteladók vagyunk és szeretnénk CD-s FreeBSD 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: + WWW: http://www.cylogistics.com/ * Ingram Micro + 1600 E. St. Andrew Place + Santa Ana, CA 92705-4926 + Egyesült Államok + Telefon: 1 (800) 456-8000 + WWW: http://www.ingrammicro.com/ * Kudzu, LLC + 7375 Washington Ave. S. + Edina, MN 55439 + Egyesült Államok + Telefon: +1 952 947-0822 + Fax: +1 952 947-0876 + e-mail: * LinuxCenter.Kz + Uszty-Kamenogorszk + Kazahsztán + Telefon: +7-705-501-6001 + e-mail: + WWW: http://linuxcenter.kz/page.php?page=fr * LinuxCenter.Ru + Galernaya utca, 55 + Szentpétervár + 190000 + Oroszország + Telefon: +7-812-3125208 + e-mail: + WWW: http://linuxcenter.ru/freebsd * Navarre Corp + 7400 49th Ave South + New Hope, MN 55428 + Egyesült Államok + Telefon: +1 763 535-8333 + Fax: +1 763 535-0341 + WWW: http://www.navarre.com/ [[mirrors-ftp]] == FTP oldalak A FreeBSD hivatalos forrásai anonim FTP-n keresztül is elérhetõek különféle tükrözésekrõl. Az link:ftp://ftp.FreeBSD.org/pub/FreeBSD/[ftp://ftp.FreeBSD.org/pub/FreeBSD/] 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 http://mirrorlist.FreeBSD.org/[FreeBSD 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 FreeBSD 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 FreeBSD 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 FreeBSD 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. <>, <>, <>, <>, <>, <>, <>, <>, <>, <>, <>, <>, <>, <>, <>, <>, <>, <>, <>, <>, <>, <>, <>, <>, <>, <>, <>, <>, <>, <>, <>, <>, <>, <>. (as of UTC) [[central]] *{central}* {central-ftp} (ftp / ftpv6 / {central-http} / {central-httpv6}) [[primary]] *{mirrors-primary}* In case of problems, please contact the hostmaster `<{mirrors-primary-email}>` for this domain. * {mirrors-primary-ftp1} (ftp) * {mirrors-primary-ftp2} (ftp) * {mirrors-primary-ftp3} (ftp) * {mirrors-primary-ftp4} (ftp / ftpv6 / {mirrors-primary-ftp4-http} / {mirrors-primary-ftp4-httpv6}) * {mirrors-primary-ftp5} (ftp) * {mirrors-primary-ftp6} (ftp) * {mirrors-primary-ftp7} (ftp) * {mirrors-primary-ftp10} (ftp / ftpv6 / {mirrors-primary-ftp10-http} / {mirrors-primary-ftp10-httpv6}) * {mirrors-primary-ftp11} (ftp) * {mirrors-primary-ftp13} (ftp) * {mirrors-primary-ftp14} (ftp / {mirrors-primary-ftp14-http}) [[armenia]] *{mirrors-armenia}* In case of problems, please contact the hostmaster `<{mirrors-armenia-email}>` for this domain. * {mirrors-armenia-ftp} (ftp / {mirrors-armenia-ftp-http} / rsync) [[australia]] *{mirrors-australia}* In case of problems, please contact the hostmaster `<{mirrors-australia-email}>` for this domain. * {mirrors-australia-ftp} (ftp) * {mirrors-australia-ftp2} (ftp) * {mirrors-australia-ftp3} (ftp) [[austria]] *{mirrors-austria}* In case of problems, please contact the hostmaster `<{mirrors-austria-email}>` for this domain. * {mirrors-austria-ftp} (ftp / ftpv6 / {mirrors-austria-ftp-http} / {mirrors-austria-ftp-httpv6}) [[brazil]] *{mirrors-brazil}* In case of problems, please contact the hostmaster `<{mirrors-brazil-email}>` for this domain. * {mirrors-brazil-ftp2} (ftp / {mirrors-brazil-ftp2-http}) * {mirrors-brazil-ftp3} (ftp / rsync) * {mirrors-brazil-ftp4} (ftp) [[czech-republic]] *{mirrors-czech}* In case of problems, please contact the hostmaster `<{mirrors-czech-email}>` for this domain. * {mirrors-czech-ftp} (ftp / {mirrors-czech-ftpv6} / {mirrors-czech-ftp-http} / {mirrors-czech-ftp-httpv6} / rsync / rsyncv6) * {mirrors-czech-ftp2} (ftp / {mirrors-czech-ftp2-http}) [[denmark]] *{mirrors-denmark}* In case of problems, please contact the hostmaster `<{mirrors-denmark-email}>` for this domain. * {mirrors-denmark-ftp} (ftp / ftpv6 / {mirrors-denmark-ftp-http} / {mirrors-denmark-ftp-httpv6}) [[estonia]] *{mirrors-estonia}* In case of problems, please contact the hostmaster `<{mirrors-estonia-email}>` for this domain. * {mirrors-estonia-ftp} (ftp) [[finland]] *{mirrors-finland}* In case of problems, please contact the hostmaster `<{mirrors-finland-email}>` for this domain. * {mirrors-finland-ftp} (ftp) [[france]] *{mirrors-france}* In case of problems, please contact the hostmaster `<{mirrors-france-email}>` for this domain. * {mirrors-france-ftp} (ftp) * {mirrors-france-ftp1} (ftp / {mirrors-france-ftp1-http} / rsync) * {mirrors-france-ftp3} (ftp) * {mirrors-france-ftp5} (ftp) * {mirrors-france-ftp6} (ftp / rsync) * {mirrors-france-ftp7} (ftp) * {mirrors-france-ftp8} (ftp) [[germany]] *{mirrors-germany}* In case of problems, please contact the hostmaster `<{mirrors-germany-email}>` for this domain. * ftp://ftp.de.FreeBSD.org/pub/FreeBSD/ (ftp) * ftp://ftp1.de.FreeBSD.org/freebsd/ (ftp / http://www1.de.FreeBSD.org/freebsd/ / rsync://rsync3.de.FreeBSD.org/freebsd/) * ftp://ftp2.de.FreeBSD.org/pub/FreeBSD/ (ftp / http://ftp2.de.FreeBSD.org/pub/FreeBSD/ / rsync) * ftp://ftp4.de.FreeBSD.org/FreeBSD/ (ftp / http://ftp4.de.FreeBSD.org/pub/FreeBSD/) * ftp://ftp5.de.FreeBSD.org/pub/FreeBSD/ (ftp) * ftp://ftp7.de.FreeBSD.org/pub/FreeBSD/ (ftp / http://ftp7.de.FreeBSD.org/pub/FreeBSD/) * ftp://ftp8.de.FreeBSD.org/pub/FreeBSD/ (ftp) [[greece]] *{mirrors-greece}* In case of problems, please contact the hostmaster `<{mirrors-greece-email}>` for this domain. * {mirrors-greece-ftp} (ftp) * {mirrors-greece-ftp2} (ftp) [[hong-kong]] *{mirrors-hongkong}* {mirrors-hongkong-ftp} (ftp) [[ireland]] *{mirrors-ireland}* In case of problems, please contact the hostmaster `<{mirrors-ireland-email}>` for this domain. * {mirrors-ireland-ftp} (ftp / rsync) [[japan]] *{mirrors-japan}* In case of problems, please contact the hostmaster `<{mirrors-japan-email}>` for this domain. * {mirrors-japan-ftp} (ftp) * {mirrors-japan-ftp2} (ftp) * {mirrors-japan-ftp3} (ftp) * {mirrors-japan-ftp4} (ftp) * {mirrors-japan-ftp5} (ftp) * {mirrors-japan-ftp6} (ftp) * {mirrors-japan-ftp7} (ftp) * {mirrors-japan-ftp8} (ftp) * {mirrors-japan-ftp9} (ftp) [[korea]] *{mirrors-korea}* In case of problems, please contact the hostmaster `<{mirrors-korea-email}>` for this domain. * {mirrors-korea-ftp} (ftp / rsync) * {mirrors-korea-ftp2} (ftp / {mirrors-korea-ftp2-http}) [[latvia]] *{mirrors-latvia}* In case of problems, please contact the hostmaster `<{mirrors-latvia-email}>` for this domain. * {mirrors-latvia-ftp} (ftp / {mirrors-latvia-ftp-http}) [[lithuania]] *{mirrors-lithuania}* In case of problems, please contact the hostmaster `<{mirrors-lithuania-email}>` for this domain. * {mirrors-lithuania-ftp} (ftp / {mirrors-lithuania-ftp-http}) [[netherlands]] *{mirrors-netherlands}* In case of problems, please contact the hostmaster `<{mirrors-netherlands-email}>` for this domain. * {mirrors-netherlands-ftp} (ftp / {mirrors-netherlands-ftp-http} / rsync) * {mirrors-netherlands-ftp2} (ftp) [[new-zealand]] *{mirrors-new-zealand}* * {mirrors-new-zealand-ftp} (ftp / {mirrors-new-zealand-ftp-http}) [[norway]] *{mirrors-norway}* In case of problems, please contact the hostmaster `<{mirrors-norway-email}>` for this domain. * {mirrors-norway-ftp} (ftp / rsync) [[poland]] *{mirrors-poland}* In case of problems, please contact the hostmaster `<{mirrors-poland-email}>` for this domain. * {mirrors-poland-ftp} (ftp) * ftp2.pl.FreeBSD.org [[russia]] *{mirrors-russia}* In case of problems, please contact the hostmaster `<{mirrors-russia-email}>` for this domain. * {mirrors-russia-ftp} (ftp / {mirrors-russia-ftp-http} / rsync) * {mirrors-russia-ftp2} (ftp / {mirrors-russia-ftp2-http} / rsync) * {mirrors-russia-ftp5} (ftp / {mirrors-russia-ftp5-http} / rsync) * {mirrors-russia-ftp6} (ftp) [[saudi-arabia]] *{mirrors-saudi-arabia}* In case of problems, please contact the hostmaster `<{mirrors-saudi-arabia-email}>` for this domain. * {mirrors-saudi-arabia-ftp} (ftp) [[slovenia]] *{mirrors-slovenia}* In case of problems, please contact the hostmaster `<{mirrors-slovenia-email}>` for this domain. * {mirrors-slovenia-ftp} (ftp) [[south-africa]] *{mirrors-south-africa}* In case of problems, please contact the hostmaster `<{mirrors-south-africa-email}>` for this domain. * {mirrors-south-africa-ftp} (ftp) * {mirrors-south-africa-ftp2} (ftp) * {mirrors-south-africa-ftp4} (ftp) [[spain]] *{mirrors-spain}* In case of problems, please contact the hostmaster `<{mirrors-spain-email}>` for this domain. * {mirrors-spain-ftp} (ftp / {mirrors-spain-ftp-http}) * {mirrors-spain-ftp3} (ftp) [[sweden]] *{mirrors-sweden}* In case of problems, please contact the hostmaster `<{mirrors-sweden-email}>` for this domain. * {mirrors-sweden-ftp} (ftp) * {mirrors-sweden-ftp2} (ftp / {mirrors-sweden-ftp2-rsync}) * {mirrors-sweden-ftp3} (ftp) * {mirrors-sweden-ftp4} (ftp / {mirrors-sweden-ftp4v6} / {mirrors-sweden-ftp4-http} / {mirrors-sweden-ftp4-httpv6} / {mirrors-sweden-ftp4-rsync} / {mirrors-sweden-ftp4-rsyncv6}) * {mirrors-sweden-ftp6} (ftp / {mirrors-sweden-ftp6-http}) [[switzerland]] *{mirrors-switzerland}* In case of problems, please contact the hostmaster `<{mirrors-switzerland-email}>` for this domain. * {mirrors-switzerland-ftp} (ftp / {mirrors-switzerland-ftp-http}) [[taiwan]] *{mirrors-taiwan}* In case of problems, please contact the hostmaster `<{mirrors-taiwan-email}>` for this domain. * {mirrors-taiwan-ftp} (ftp / {mirrors-taiwan-ftpv6} / rsync / rsyncv6) * {mirrors-taiwan-ftp2} (ftp / {mirrors-taiwan-ftp2v6} / {mirrors-taiwan-ftp2-http} / {mirrors-taiwan-ftp2-httpv6} / rsync / rsyncv6) * {mirrors-taiwan-ftp4} (ftp) * {mirrors-taiwan-ftp5} (ftp) * {mirrors-taiwan-ftp6} (ftp / {mirrors-taiwan-ftp6v6} / rsync) * {mirrors-taiwan-ftp7} (ftp) * {mirrors-taiwan-ftp8} (ftp) * {mirrors-taiwan-ftp11} (ftp / {mirrors-taiwan-ftp11-http}) * {mirrors-taiwan-ftp12} (ftp) * {mirrors-taiwan-ftp13} (ftp) * {mirrors-taiwan-ftp14} (ftp) * {mirrors-taiwan-ftp15} (ftp) [[ukraine]] *{mirrors-ukraine}* * {mirrors-ukraine-ftp} (ftp / {mirrors-ukraine-ftp-http}) * {mirrors-ukraine-ftp6} (ftp / {mirrors-ukraine-ftp6-http} / {mirrors-ukraine-ftp6-rsync}) * {mirrors-ukraine-ftp7} (ftp) [[uk]] *{mirrors-uk}* In case of problems, please contact the hostmaster `<{mirrors-uk-email}>` for this domain. * {mirrors-uk-ftp} (ftp) * {mirrors-uk-ftp2} (ftp / {mirrors-uk-ftp2-rsync}) * {mirrors-uk-ftp3} (ftp) * {mirrors-uk-ftp4} (ftp) * {mirrors-uk-ftp5} (ftp) [[usa]] *{mirrors-us}* In case of problems, please contact the hostmaster `<{mirrors-us-email}>` for this domain. * {mirrors-us-ftp} (ftp) * {mirrors-us-ftp2} (ftp) * {mirrors-us-ftp3} (ftp) * {mirrors-us-ftp4} (ftp / ftpv6 / {mirrors-us-ftp4-http} / {mirrors-us-ftp4-httpv6}) * {mirrors-us-ftp5} (ftp) * {mirrors-us-ftp6} (ftp) * {mirrors-us-ftp8} (ftp) * {mirrors-us-ftp10} (ftp) * {mirrors-us-ftp11} (ftp) * {mirrors-us-ftp13} (ftp / {mirrors-us-ftp13-http} / rsync) * {mirrors-us-ftp14} (ftp / {mirrors-us-ftp14-http}) * {mirrors-us-ftp15} (ftp) == 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 http://torrents.freebsd.org:8080[http://torrents.freebsd.org:8080] címrõl tölthetjük le. A BitTorrent kliens telepíthetõ a package:net-p2p/py-bittorrent[] portból vagy csomagból. Miután sikeresen letöltöttük BitTorrenten keresztül a lemezképeket, a crossref:disks[burncd,burncd] nyújthat segítséget abban, hogy kell ezeket lemezre írni. [[anoncvs]] == Anonim CVS [[anoncvs-intro]] === Bevezetés Az anonim CVS (vagy más néven _anoncvs_) a FreeBSD-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 FreeBSD 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 FreeBSD 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. [NOTE] ==== A `cvs login` parancs a bejelentkezésekhez szükséges jelszavakat a `HOME` könyvtárunkban levõ [.filename]#.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 [.filename]#.cvspass# állományt, majd próbálkozzunk újra. ==== Habár azt mondhatnánk, hogy a <> é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 FreeBSD Projekt keretein belül fejleszteni is szeretnénk, akkor inkább érdemes a CVSup alkalmazást választani. [[anoncvs-usage]] === 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 FreeBSD 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ó) + [.programlisting] .... 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ó) + [.programlisting] .... 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 FreeBSD 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 `-r` opcióval állítható) fogalmával és a FreeBSD 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 `-D dátum` 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 [example] ==== [source,shell] .... % setenv CVSROOT :pserver:anoncvs@anoncvs.tw.FreeBSD.org:/home/ncvs % cvs login "Jelszóként" ezután bármit megadhatunk. % cvs co ls .... ==== .Az [.filename]#src/# fa kikérése SSH-n keresztül [example] ==== [source,shell] .... % 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 [example] ==== [source,shell] .... % setenv CVSROOT :pserver:anoncvs@anoncvs.tw.FreeBSD.org:/home/ncvs % cvs login Amikor kéri, "jelszóként" bármit megadhatunk. % cvs co -rRELENG_6 ls .... ==== .Az man:ls[1] változásainak (Unified Diff formátumú) listázása [example] ==== [source,shell] .... % setenv CVSROOT :pserver:anoncvs@anoncvs.tw.FreeBSD.org:/home/ncvs % cvs login Itt "jelszóként" bármit megadhatunk. % cvs rdiff -u -rRELENG_5_3_0_RELEASE -rRELENG_5_4_0_RELEASE ls .... ==== .A használható modulok nevének kiderítése [example] ==== [source,shell] .... % setenv CVSROOT :pserver:anoncvs@anoncvs.tw.FreeBSD.org:/home/ncvs % cvs login Ezután "jelszóként" bármit megadhatunk. % cvs co modules % more modules/modules .... ==== === Egyéb helyek A következõ helyeken találhatunk még hasznos információkat a CVS használatáról: * http://users.csc.calpoly.edu/~gfisher/classes/308/handouts/cvs-basics.html[A CVS bemutatása] (forrás: Kaliforna Állami Mûszaki Egyetem). * http://ximbiot.com/cvs/wiki/[A CVS honlapja], a CVS fejlesztésével és alkalmazásával foglalkozó közösség oldala. * A http://www.FreeBSD.org/cgi/cvsweb.cgi[CVSweb] a FreeBSD Projekt által használt CVS rendszerének webes felülete. [[ctm]] == A CTM használata A CTM használatáva a távoli könyvtárakat tudunk egy központi változattal szinkronban tartani. Eredetileg a FreeBSD 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 link:{ctm-users-url}[ctm-users-desc] 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 CTM-et? A CTM segítségével a FreeBSD 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 FreeBSD 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 crossref:cutting-edge[current,FreeBSD legfrissebb változatának használatáról] szóló fejezetet. === Mire van szükségünk a CTM 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 FreeBSD része, és a források között a [.filename]#/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: link:ftp://ftp.FreeBSD.org/pub/FreeBSD/CTM/[ftp://ftp.FreeBSD.org/pub/FreeBSD/CTM/] valamint lásd a <>. FTP-n keresztül lépjünk be a könyvtárba, töltsük le a [.filename]#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 link:{ctm-cvs-cur-url}[ctm-cvs-cur-desc] lista az egész CVS-fát, míg a link:{ctm-src-cur-url}[ctm-src-cur-desc] a fõ fejlesztési ágat teszi elérhetõvé. A {ctm-src-4} 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 {mailman-lists-url} 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.) +Iratkozzunk fel a CTM terjesztési listáinak egyikére. A link:{ctm-cvs-cur-url}[ctm-cvs-cur-desc] lista az egész CVS-fát, míg a link:{ctm-src-cur-url}[ctm-src-cur-desc] a fõ fejlesztési ágat teszi elérhetõvé. A {ctm-src-4} 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 {mailing-lists-url} 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 [.filename]#/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. [NOTE] ==== Nem számít, milyen módon jutunk hozzá a CTM által használt deltákhoz, minden esetben fel kell iratkoznunk a link:{ctm-announce-url}[ctm-announce-desc] 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 CTM 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 [.filename]#src-cur.3210XEmpty.gz#). Az `X` után szereplõ megnevezés a kezdeti "kiindulás" (seed) fokának felel meg. Az [.filename]#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 ``gzip``pel csomagolt adatok gyakoriak az [.filename]#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 CTM használata a hétköznapokban A delták felhasználásához egyszerûen csak ennyit kell tennünk: [source,shell] .... # cd /ahol/tárolni/akarjuk/az/adatokat # 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 `-c` 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 [.filename]#ize# nevû állomány meglétének vizsgálata elõtt az [.filename]#ize.ctm# állományt fogja keresni. Ha létezik, akkor a CTM az [.filename]#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 [.filename]#.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 [.filename]#.ctm# kiterjesztésû állományokat folyamatosan szinkronban tartja. === A CTM 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 `-l` 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 `-B _mentés-állomány_` 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 `-e` és `-x` opciók mentén határozhatjuk meg. Például ha a [.filename]#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: [source,shell] .... # cd /akarhova/ahova/ki/akarjuk/bontani/ # ctm -e '^lib/libc/Makefile' ~ctm/src-xxx.* .... A CTM deltákban megadott minden egyes állomány esetén az `-e` az `-x` 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 `-e` és `-x` opciók kiértékelése után is indokolt. === További tervek a CTM-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. [[mirrors-ctm]] === CTM tükrözések A <>/FreeBSD 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 link:{ctm-users-url}[ctm-users-desc] levelezési listát. Kalifornia, Bay Area (hivatalos forrás):: ** link:ftp://ftp.FreeBSD.org/pub/FreeBSD/development/CTM/[ftp://ftp.FreeBSD.org/pub/FreeBSD/development/CTM/] Dél-Afrika (a korábbi delták biztonsági másolatai):: ** link:ftp://ftp.za.FreeBSD.org/pub/FreeBSD/CTM/[ftp://ftp.za.FreeBSD.org/pub/FreeBSD/CTM/] Tajvan/R.O.C.:: ** link:ftp://ctm.tw.FreeBSD.org/pub/FreeBSD/development/CTM/[ftp://ctm.tw.FreeBSD.org/pub/FreeBSD/development/CTM/] ** link:ftp://ctm2.tw.FreeBSD.org/pub/FreeBSD/development/CTM/[ftp://ctm2.tw.FreeBSD.org/pub/FreeBSD/development/CTM/] ** link:ftp://ctm3.tw.FreeBSD.org/pub/FreeBSD/development/CTM/[ftp://ctm3.tw.FreeBSD.org/pub/FreeBSD/development/CTM/] 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 http://www.alltheweb.com/[alltheweb]. [[cvsup]] == A CVSup használata [[cvsup-intro]] === 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 FreeBSD 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 FreeBSD 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 FreeBSD tüköroldalain futó `cvsupd` nevû szerver. A FreeBSD 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 FreeBSD Projekt. [NOTE] ==== 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 FreeBSD 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 FreeBSD korábbi verzióinak alaprendszerei ugyan nem tartalmazzák a man:csup[1] parancsot, viszont a package: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. ==== [[cvsup-install]] === Telepítés A CVSup telepítésének legegyszerûbb módja a FreeBSD crossref:ports[ports,csomaggyûjteményében] található elõrefordított package:net/cvsup[] csomag használata. Ha viszont inkább forrásból akarjuk telepíteni a CVSupot, akkor helyette használjuk a package:net/cvsup[] portot. De legyünk elõvigyázatosak: a package: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. [NOTE] ==== Ha olyan gépen akarjuk használni a CVSupot, ahol nincs XFree86(TM), Xorg vagy bármilyen más ilyen szerver, akkor használjuk a package:net/cvsup-without-gui[] portot, ami nem tartalmazza a hozzá tartozó grafikus felületet. ==== Ha a FreeBSD 6.1 vagy korábbi változatain szeretnénk telepíteni a csupot, használjuk a FreeBSD crossref:ports[ports,csomaggyûjteményében] megtalálható package:net/csup[] csomagot. Ha viszont forrásból kívánjuk telepíteni a csup programot, akkor helyette használjuk a package:net/csup[] portot. [[cvsup-config]] === A CVSup beállítása A CVSup mûködését a [.filename]#supfile# elnevezésû állomány vezérli. A link:file://localhost/usr/shared/examples/cvsup/[ /usr/shared/examples/cvsup/] könyvárban találhatunk néhány példát a [.filename]#supfile# állományokra. A [.filename]#supfile# állományban szereplõ információk a CVSup használatával kapcsolatban a következõ kérdéseket válaszolják meg: * <> * <> * <> * <> * <> Az imént feltett kérdésekre a következõ szakaszokban összeállítandó [.filename]#supfile# segítségével fogunk válaszolni. Ehhez elõször bemutatjuk a [.filename]#supfile# formátumú állományok általános szerkezetét. A [.filename]#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 [.filename]#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 [.filename]#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 [.filename]#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 crossref:cutting-edge[current,FreeBSD-CURRENT] ág tartalmának letöltésére és frissen tartására alkalmas [.filename]#supfile# állomány összeállítását. * [[cvsup-config-files]]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 <> találjuk. Ebben a példában most szeretnénk letölteni az egész FreeBSD rendszer forrását. Ezt a `src-all` nevû gyûjteményre hivatkozva érhetjük el. A [.filename]#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): + [.programlisting] .... src-all .... + * [[cvsup-config-vers]]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. + [WARNING] ==== 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. + [WARNING] ==== 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 `date=` é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 FreeBSD-CURRENT verziót akarjuk letölteni. Ezért a következõ sort tesszük a [.filename]#supfile# állományunk elejére: + [.programlisting] .... *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. * [[cvsup-config-where]]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 <> 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 FreeBSD terjesztési oldalt választunk, a `cvsup99.FreeBSD.org`-ot: + [.programlisting] .... *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 `-h _hálózati név_` opció megadásával lehetõségünk ennek felülbírálására. * [[cvsup-config-dest]]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 [.filename]#/usr/src# könyvtárba tettük. Mivel a [.filename]#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: + [.programlisting] .... *default prefix=/usr .... + * [[cvsup-config-status]]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 [.filename]#/var/db# könyvtárat fogjuk használni: + [.programlisting] .... *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 [.filename]#supfile# állományban: + Általában még egy sor szokott szerepelni a [.filename]#supfile# állományokban: + [.programlisting] .... *default release=cvs delete use-rel-suffix compress .... + A `release=cvs` mezõ jelzi, hogy a szervernek a FreeBSD 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 [.filename]#supfile# állományunk teljes tartalma: + [.programlisting] .... *default tag=. *default host=cvsup99.FreeBSD.org *default prefix=/usr *default base=/var/db *default release=cvs delete use-rel-suffix compress src-all .... [[cvsup-refuse-file]] ==== A [.filename]#refuse# á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 [.filename]#doc#, [.filename]#ports# vagy [.filename]#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 [.filename]#doc# és a [.filename]#www# fákhoz nincsenek nyelvfüggõ gyûjtemények, ezért elõ kell halásznunk a CVSup egyik remek funkcióját, a [.filename]#refuse# állományt. A [.filename]#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ó [.filename]#refuse# állományt a [.filename]#bázis/sup/# könyvtárban találhatjuk meg (illetve ha még nincsenek, akkor ide kell rakunk ezeket). Itt a _bázis_ a [.filename]#supfile# állományban megadott `base=` mezõre utal, ami a példánkban a [.filename]#/var/db# könyvtár volt. Ennek megfelelõen tehát a [.filename]#refuse# állomány a [.filename]#/var/db/sup/refuse# lesz. A [.filename]#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 [.filename]#refuse# állományba: [source,shell] .... 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 http://www.FreeBSD.org/cgi/cvsweb.cgi/[FreeBSD 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 [.filename]#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 CVSup 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: [source,shell] .... # cvsup supfile .... ahol a [.filename]#supfile# a frissen létrehozott [.filename]#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 btn:[go] feliratú gombot és dõljünk hátra. Mivel a példában a [.filename]#/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: [source,shell] .... # mkdir /var/tmp/proba # 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 [.filename]#/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 [.filename]#/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 [.filename]#/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: [source,shell] .... # cvsup -g -L 2 supfile .... A `-g` 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 `-L 2` 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, `-L 0`-tól indulva egészen `-L 2`-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. [[cvsup-collec]] === A CVSup á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 FreeBSD fõ CVS repositoryja, beleértve a titkosításhoz tartozó kódokat is. `distrib release=cvs`::: A FreeBSD terjesztéséhez és tükrözéséhez kapcsolódó állományok. `doc-all release=cvs`::: A FreeBSD kézikönyvének és a többi dokumentáció forrásai. Nem tartalmazza a FreeBSD honlapjának forrásait. `ports-all release=cvs`::: A FreeBSD portgyûjteménye. + [IMPORTANT] ==== 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. ==== + [IMPORTANT] ==== Ha a [.filename]#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 [.filename]#ports/INDEX# állományt a portfa egy része alapján nem készíthetjük el. Errõl bõvebben lásd a link:{faq}#MAKE-INDEX[ 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 [.filename]#Mk/#, [.filename]#Tools/# és [.filename]#/usr/ports# különféle alkönyvtáraiban elhelyezkedõ állományok. + [NOTE] ==== Ne hagyjuk figyelmen kívül <> sem: ezt az algyûjteményt _mindig_ a FreeBSD 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(TM) 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(TM) 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 FreeBSD projektek forrásainak repositoryja. `src-all release=cvs`::: A FreeBSD fontosabb forrásai, a titkosításhoz tartozó kódokkal együtt. `src-base release=cvs`:::: A [.filename]#/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 ([.filename]#/usr/src/bin#). `src-cddl release=cvs`:::: A CDDL licenc szerint terjesztett segédprogramok és függvénykönyvtárak ([.filename]#/usr/src/cddl#). `src-contrib release=cvs`:::: A FreeBSD Projekten kívül fejlesztett segédprogramok és függvénykönyvtárak, viszonylag kevés módosítással ([.filename]#/usr/src/contrib#). `src-crypto release=cvs`:::: A FreeBSD Projekten kívül fejlesztett, titkosítással kapcsolatos segédprogramok és függvénykönyvtárak, viszonylag kevés módosítással ([.filename]#/usr/src/crypto#). `src-eBones release=cvs`:::: Kerberos és DES ([.filename]#/usr/src/eBones#). A FreeBSD jelenlegi változatai nem használják. `src-etc release=cvs`:::: A rendszer beállításait tartalmazó állományok ([.filename]#/usr/src/etc#). `src-games release=cvs`:::: Játékok ([.filename]#/usr/src/games#). `src-gnu release=cvs`:::: A GPL licenc szerint terjesztett segédprogramok ([.filename]#/usr/src/gnu#). `src-include release=cvs`:::: (C nyelvi) Header állományok ([.filename]#/usr/src/include#). `src-kerberos5 release=cvs`:::: A Kerberos5 biztonsági csomag ([.filename]#/usr/src/kerberos5#). `src-kerberosIV release=cvs`:::: A KerberosIV biztonsági csomag ([.filename]#/usr/src/kerberosIV#). `src-lib release=cvs`:::: Függvénykönyvtárak ([.filename]#/usr/src/lib#). `src-libexec release=cvs`:::: Más programok által futtatott rendszerprogramok ([.filename]#/usr/src/libexec#). `src-release release=cvs`:::: A FreeBSD kiadások elkészítéséhez szükséges állományok ([.filename]#/usr/src/release#). `src-rescue release=cvs`:::: Statikusan linkelt programok vészhelyzet esetére, lásd man:rescue[8] ([.filename]#/usr/src/rescue#). `src-sbin release=cvs`:::: Egyfelhasználós módban használható rendszereszközök ([.filename]#/usr/src/sbin#). `src-secure release=cvs`:::: Titkosítással foglalkozó függvénykönyvtárak és parancsok ([.filename]#/usr/src/secure#). `src-share release=cvs`:::: Több rendszer között megosztható állományok ([.filename]#/usr/src/share#). `src-sys release=cvs`:::: A rendszermag ([.filename]#/usr/src/sys#). `src-sys-crypto release=cvs`:::: A rendszermagban levõ titkosítással foglalkozó kód ([.filename]#/usr/src/sys/crypto#). `src-tools release=cvs`:::: A FreeBSD karbantartására való különbözõ segédprogramok ([.filename]#/usr/src/tools#). `src-usrbin release=cvs`:::: Felhasználói segédprogramok ([.filename]#/usr/src/usr.bin#). `src-usrsbin release=cvs`:::: Rendszerszintû segédprogramok ([.filename]#/usr/src/usr.sbin#). `www release=cvs`::: A FreeBSD 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 FreeBSD levelezési listáinak archívuma. `www release=current`:: A FreeBSD 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 http://www.cvsup.org[A CVSup honlapján] találjuk meg. A CVSup FreeBSD-re vonatkozó tárgyalása a {freebsd-hackers}n történik. Itt és az {freebsd-announce}n jelentik be a szoftver újabb változatait. A CVSup alkalmazással kapcsolatos kérdéseket és hibajelentéseket illetõen a http://www.cvsup.org/faq.html#bugreports[ CVSup GYIK]-ot érdemes megnéznünk. [[cvsup-mirrors]] === CVSup oldalak A FreeBSD <> szerverei az alábbi oldalakon érhetõek el: [[cvs-tags]] == 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 FreeBSD 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 [.filename]#src/# fára vonatkozik. A [.filename]#ports/#, [.filename]#doc/# és [.filename]#www/# fák nem tartalmaznak ágakat. HEAD:: A fõ fejlesztési ág, avagy a FreeBSD-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). + [NOTE] ==== 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 FreeBSD-8.X fejlesztési ága, más néven a FreeBSD 8-STABLE RELENG_8_1:: A FreeBSD-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 FreeBSD-8.0 kiadás ága, ahová csak a biztonsági frissítések és a kritikus hibajavítások kerülnek. RELENG_7:: A FreeBSD-7.X fejlesztési ága, más néven a FreeBSD 7-STABLE RELENG_7_3:: A FreeBSD-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 FreeBSD-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 FreeBSD-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 FreeBSD-7.0 kiadás ága, ahová csak a biztonsági frissítések és a kritikus hibajavítások kerülnek. RELENG_6:: A FreeBSD-6.X fejlesztési ága, más néven a FreeBSD 6-STABLE RELENG_6_4:: A FreeBSD-6.4 kiadás ága, ahová csak biztonsági frissítések és a kritikus hibajavítások kerülnek. RELENG_6_3:: A FreeBSD-6.3 kiadás ága, ahová csak biztonsági frissítések és a kritikus hibajavítások kerülnek. RELENG_6_2:: A FreeBSD-6.2 kiadás ága, ahová csak biztonsági frissítések és a kritikus hibajavítások kerülnek. RELENG_6_1:: A FreeBSD-6.1 kiadás ága, ahová csak biztonsági frissítések és a kritikus hibajavítások kerülnek. RELENG_6_0:: A FreeBSD-6.0 kiadás ága, ahová csak biztonsági frissítések és a kritikus hibajavítások kerülnek. RELENG_5:: A FreeBSD-5.X fejlesztési ág, más néven a FreeBSD 5-STABLE. RELENG_5_5:: A FreeBSD-5.5 kiadás ága, ahová csak biztonsági frissítések és a kritikus hibajavítások kerülnek. RELENG_5_4:: A FreeBSD-5.4 kiadás ága, ahová csak biztonsági frissítések és a kritikus hibajavítások kerülnek. RELENG_5_3:: A FreeBSD-5.3 kiadás ága, ahová csak biztonsági frissítések és a kritikus hibajavítások kerülnek. RELENG_5_2:: A FreeBSD-5.2 és FreeBSD-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 FreeBSD-5.1 kiadás ága, ahová csak biztonsági frissítések és a kritikus hibajavítások kerülnek. RELENG_5_0:: A FreeBSD-5.0 kiadás ága, ahová csak biztonsági frissítések és a kritikus hibajavítások kerülnek. RELENG_4:: A FreeBSD-4.X fejlesztési ága, más néven a FreeBSD 4-STABLE. RELENG_4_11:: A FreeBSD-4.11 kiadás ága, ahová csak biztonsági frissítések és a kritikus hibajavítások kerülnek. RELENG_4_10:: A FreeBSD-4.10 kiadás ága, ahová csak biztonsági frissítések és a kritikus hibajavítások kerülnek. RELENG_4_9:: A FreeBSD-4.9 kiadás ága, ahová csak biztonsági frissítések és a kritikus hibajavítások kerülnek. RELENG_4_8:: A FreeBSD-4.8 kiadás ága, ahová csak biztonsági frissítések és a kritikus hibajavítások kerülnek. RELENG_4_7:: A FreeBSD-4.7 kiadás ága, ahová csak biztonsági frissítések és a kritikus hibajavítások kerülnek. RELENG_4_6:: A FreeBSD-4.6 és FreeBSD-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 FreeBSD-4.5 kiadás ága, ahová csak biztonsági frissítések és a kritikus hibajavítások kerülnek. RELENG_4_4:: A FreeBSD-4.4 kiadás ága, ahová csak biztonsági frissítések és a kritikus hibajavítások kerülnek. RELENG_4_3:: A FreeBSD-4.3 kiadás ága, ahová csak biztonsági frissítések és a kritikus hibajavítások kerülnek. RELENG_3:: A FreeBSD-3.X fejlesztési ága, más néven a 3.X-STABLE. RELENG_2_2:: A FreeBSD-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 FreeBSD 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 link:https://www.FreeBSD.org/releng/[kiadásokat összefoglaló lapról] és a link:{releng}#release-proc/[ kiadások építésérõl szóló cikkbõl] tájékozódhatunk. Az [.filename]#src# fában `RELENG_` kezdetû címkéket találunk. A [.filename]#ports# és [.filename]#doc# fákban a címkék nevei a `RELEASE` elõtaggal kezdõdnek. Végezetül a [.filename]#www# fában nincsenek kiadásokhoz tartozó címkék. RELENG_8_1_0_RELEASE:: FreeBSD 8.1 RELENG_8_0_0_RELEASE:: FreeBSD 8.0 RELENG_7_3_0_RELEASE:: FreeBSD 7.3 RELENG_7_2_0_RELEASE:: FreeBSD 7.2 RELENG_7_1_0_RELEASE:: FreeBSD 7.1 RELENG_7_0_0_RELEASE:: FreeBSD 7.0 RELENG_6_4_0_RELEASE:: FreeBSD 6.4 RELENG_6_3_0_RELEASE:: FreeBSD 6.3 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 [[mirrors-afs]] == AFS oldalak A FreeBSD a következõ szerverein érhetõ el AFS: Svédország:: Az állományok a következõ helyen érhetõek el: [.filename]#/afs/stacken.kth.se/ftp/pub/FreeBSD/# + [.programlisting] .... 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ó: mailto:ftp@stacken.kth.se[ftp@stacken.kth.se] [[mirrors-rsync]] == Rsync oldalak A most következõ oldalakon a FreeBSD-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 FreeBSD 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 FreeBSD-n a package:net/rsync[] port vagy csomag tartalmazza. Cseh Köztársaság:: rsync://ftp.cz.FreeBSD.org/ + Elérhetõ gyûjtemények: ** ftp: a FreeBSD FTP szerverének részleges tükrözése. ** FreeBSD: a FreeBSD FTP szerverének teljes tükrözése. Hollandia:: rsync://ftp.nl.FreeBSD.org/ + Elérhetõ gyûjtemények: ** FreeBSD: a FreeBSD FTP szerverének teljes tükrözése. Oroszország:: rsync://ftp.mtu.ru + Elérhetõ gyûjtemények: ** FreeBSD: A FreeBSD FTP szerver teljes tartalma. ** FreeBSD-gnats: A GNATS hibanyilvántartó adatbázis. ** FreeBSD-Archive: A FreeBSD 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: ** FreeBSD: a FreeBSD 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 FreeBSD FTP szerverének teljes tükrözése. Amerikai Egyesült Államok:: rsync://ftp-master.FreeBSD.org/ + Ezt a szervert csak az elsõdleges FreeBSD tükrözéseknek szabad használniuk. + Elérhetõ gyûjtemények: ** FreeBSD: a FreeBSD FTP szerverének központi archívuma. ** acl: a FreeBSD központi ACL listája. + rsync://ftp13.FreeBSD.org/ + Elérhetõ gyûjtemények: ** FreeBSD: a FreeBSD FTP szerver teljes tükrözése. diff --git a/documentation/content/it/books/handbook/eresources/_index.adoc b/documentation/content/it/books/handbook/eresources/_index.adoc index 13ac19e02f..f35a96956d 100644 --- a/documentation/content/it/books/handbook/eresources/_index.adoc +++ b/documentation/content/it/books/handbook/eresources/_index.adoc @@ -1,926 +1,926 @@ --- title: Appendice C. Risorse su Internet part: Parte V. Appendici prev: books/handbook/bibliography next: books/handbook/pgpkeys --- [appendix] [[eresources]] = Risorse su Internet :doctype: book :icons: font :sectnums: :sectnumlevels: 6 :source-highlighter: rouge :experimental: :skip-front-matter: :toc-title: Indice :table-caption: Tabella :figure-caption: Figura :example-caption: Esempio :xrefstyle: basic :relfileprefix: ../ :outfilesuffix: :sectnumoffset: C include::shared/mirrors.adoc[] include::shared/authors.adoc[] include::shared/releases.adoc[] include::shared/it/mailing-lists.adoc[] include::shared/it/urls.adoc[] Il rapido sviluppo di FreeBSD rende la carta stampata un mezzo non pratico per poterne seguire l'evoluzione. Le risorse in rete sono il migliore, se non l'unico, modo per tenersi informati sulle novità di questo sistema. Dal momento che FreeBSD è il prodotto del lavoro di volontari, la comunità degli utenti generalmente si presta anche ad una funzione di "supporto tecnico" di varia natura, con l'email e le news USENET come il mezzo più efficace per entrare in contatto con queste comunità. I più frequentati punti di ritrovo della comunità FreeBSD sono esposti di seguito. Se aveste conoscenza di altre risorse non menzionate in questa sede, vi preghiamo di darne informazione a {freebsd-doc} cosicchè possano essere incluse. [[eresources-mail]] == Mailing Lists Anche se molti sviluppatori di FreeBSD leggono USENET, non può esservi garanzia di ottenere risposta alle proprie domande in tempi brevi (e in generale non può esservi garanzia di ottenere alcuna risposta) semplicemente scrivendo ad uno dei mail-group di `comp.unix.bsd.freebsd.*`. Indirizzando i propri messaggi alla mailing list appropriata si raggiungerà una audience più concentrata ed informata, permettendo risposte più precise (o quanto meno più sollecite). Gli argomenti delle varie liste sono elencati all'inizio del documento. _Si prega di leggere gli argomenti_ prima di unirsi o scrivere ad una lista. La maggior parte dei sottoscrittori di liste ricevono ogni giorno svariate centinaia di messaggi, e mantenendo argomenti e regole di comportamento cerchiamo di tenere alto il rapporto segnale/rumore della lista. Venir meno a queste regole vorrebbe dire il fallimento della mailing list come mezzo efficace di comunicazione per il progetto. [NOTE] ==== _Se vuoi verificare la tua abilità nel spedire alle liste di FreeBSD, manda un messaggio testuale a {freebsd-test}._ Per favore non mandare messaggi di prova a altre liste. ==== Se hai alcuni dubbi su quale lista postare una questione, leggi link:{freebsd-questions-article}[Come ottenere i migliori risultati dalla mailing list FreeBSD-questions]. Prima di postare su qualsiasi lista, per favore impara a come usare al meglio le mailing list, ad esempio come evitare discussioni che vengono richieste di frequente, leggendo il documento (FAQ) link:{mailing-list-faq}[Le Questioni Maggiormente Richieste sulle Mailing List]. Vengono tenuti archivi per tutte le mailing list, e questi possono essere esplorati usando il link:https://www.FreeBSD.org/search/[FreeBSD World Wide Web server]. L'archivio esplorabile per parole chiave costituisce un mezzo eccellente per trovare risposte a domande poste di frequente e dovrebbe essere consultato prima di spedire una domanda. [[eresources-summary]] === Sommario delle liste _Liste generiche:_ Le seguenti sono liste generiche a cui tutti sono invitati (e incoraggiati) a partecipare: [.informaltable] [cols="1,1", frame="none", options="header"] |=== | Lista | Argomento |link:{cvs-all-url}[cvs-all] |Cambiamenti apportati all'albero dei sorgenti di FreeBSD |link:{freebsd-advocacy-url}[freebsd-advocacy] |Evangelismo FreeBSD |{freebsd-announce} |Eventi importanti e annunci di progetti |link:{freebsd-arch-url}[freebsd-arch] |Discussioni sull'architettura ed il design |link:{freebsd-bugbusters-url}[freebsd-bugbusters] |Discussioni incentrate sul mantenimento del database dei report dei problemi di FreeBSD e progetti correlati |link:{freebsd-bugs-url}[freebsd-bugs] |Report sui bug |link:{freebsd-chat-url}[freebsd-chat] |Argomenti non-tecnici di interesse della comunità FreeBSD |{freebsd-current} |Discussioni sull'utilizzo di FreeBSD.current; |link:{freebsd-isp-url}[freebsd-isp] |Argomenti di interesse degli Internet Service Providers che usano FreeBSD |link:{freebsd-jobs-url}[freebsd-jobs] |Opportunità di lavoro e consulenza relative a FreeBSD |link:{freebsd-policy-url}[freebsd-policy] |Le decisioni sulla politica da adottare del core degli sviluppatori FreeBSD. Toni pacati e sola lettura |link:{freebsd-questions-url}[freebsd-questions] |Domande degli utenti e assistenza tecnica |{freebsd-security-notifications} |Notifiche sulla sicurezza |{freebsd-stable} |Discussioni sull'uso di FreeBSD.stable; |{freebsd-test} |Dove spedire i tuoi messaggi di test, lasciando in pace le altre liste |=== _Liste tecniche:_ le seguenti liste sono a carattere tecnico. Dovreste leggere attentamente gli argomenti elencati di seguito prima di unirvi o spedirvi mail, poichè ci sono strette linee di condotta per il loro uso ed il loro contenuto. [.informaltable] [cols="1,1", frame="none", options="header"] |=== | Lista | Argomento |{freebsd-acpi} |Sviluppo di ACPI e della gestione dell'energia |link:{freebsd-afs-url}[freebsd-afs] |Il porting di AFS su FreeBSD |link:{freebsd-aic7xxx-url}[freebsd-aic7xxx] |Sviluppare drivers per Adaptec(R) AIC 7xxx |link:{alpha-url}[alpha] |Il porting di FreeBSD su Alpha |link:{freebsd-amd64-url}[freebsd-amd64] |Il porting di FreeBSD sui sistemi AMD64 |link:{freebsd-apache-url}[freebsd-apache] |Discussioni sui port relativi ad Apache |link:{freebsd-arm-url}[freebsd-arm] |Il porting di FreeBSD su processori ARM(R) |link:{freebsd-atm-url}[freebsd-atm] |Usare reti ATM con FreeBSD |link:{freebsd-audit-url}[freebsd-audit] |Il progetto di audit del codice sorgente |link:{freebsd-binup-url}[freebsd-binup] |Il design e lo sviluppo del sistema di aggiornamento dei binari |link:{freebsd-bluetooth-url}[freebsd-bluetooth] |Usare la tecnologia Bluetooth(R) su FreeBSD |link:{freebsd-cluster-url}[freebsd-cluster] |Usare FreeBSD in cluster |link:{freebsd-cvsweb-url}[freebsd-cvsweb] |Il mantenimento di CVSweb |link:{freebsd-database-url}[freebsd-database] |Discussioni sull'uso e lo sviluppo di database sotto FreeBSD |link:{freebsd-doc-url}[freebsd-doc] |Creare documenti su FreeBSD |link:{freebsd-drivers-url}[freebsd-drivers] |Scrivere driver di dispositivi per FreeBSD |link:{freebsd-eclipse-url}[freebsd-eclipse] |Utenti FreeBSD di Eclipse IDE, strumenti, applicazioni client e port. |link:{freebsd-embedded-url}[freebsd-embedded] |Come usare FreeBSD in applicazioni embedded |link:{freebsd-emulation-url}[freebsd-emulation] |L'emulazione di altri sistemi operativi come Linux/MS-DOS(R)/Windows(R) |link:{freebsd-eol-url}[freebsd-eol] |Supporto per il software relativo a FreeBSD che non è più supportato dal progetto FreeBSD. |link:{freebsd-firewire-url}[freebsd-firewire] |Discussioni tecniche sui FreeBSD FireWire(R) (iLink, IEEE 1394) |link:{freebsd-fs-url}[freebsd-fs] |I file system |link:{freebsd-geom-url}[freebsd-geom] |Discussioni e implementazioni riguardanti GEOM |link:{freebsd-gnome-url}[freebsd-gnome] |Il porting di GNOME e delle applicazioni GNOME |link:{freebsd-hackers-url}[freebsd-hackers] |Discussioni tecniche generiche |link:{freebsd-hardware-url}[freebsd-hardware] |Discussioni tecniche generiche sull'hardware e FreeBSD |link:{freebsd-i18n-url}[freebsd-i18n] |L'internazionalizzazione di FreeBSD |link:{freebsd-ia32-url}[freebsd-ia32] |FreeBSD sulla piattaforma IA-32 (Intel(R) x86) |link:{freebsd-ia64-url}[freebsd-ia64] |Il porting di FreeBSD ai futuri sistemi Intel(R) IA64 |link:{freebsd-ipfw-url}[freebsd-ipfw] |Discussioni tecniche sul redesign del codice del firewall |link:{freebsd-isdn-url}[freebsd-isdn] |Sviluppatori ISDN |link:{freebsd-jail-url}[freebsd-jail] |Discussioni sul metodo man:jail[8] |link:{freebsd-java-url}[freebsd-java] |Sviluppatori Java(TM) e persone coinvolte nel port delle JDK(TM) sotto FreeBSD |link:{freebsd-kde-url}[freebsd-kde] |Il porting di KDE e delle applicazioni KDE |link:{freebsd-lfs-url}[freebsd-lfs] |Il porting di LFS sotto FreeBSD |link:{freebsd-libh-url}[freebsd-libh] |Il sistema di installazione e di gestione dei pacchetti di seconda generazione |link:{freebsd-mips-url}[freebsd-mips] |Il porting di FreeBSD su MIPS(R) |link:{freebsd-mobile-url}[freebsd-mobile] |Discussioni sui portatili |link:{freebsd-mozilla-url}[freebsd-mozilla] |Il porting di Mozilla sotto FreeBSD |{freebsd-multimedia} |Applicazioni multimediali |link:{freebsd-new-bus-url}[freebsd-new-bus] |Discussioni tecniche sull'architettura bus |link:{freebsd-net-url}[freebsd-net] |Discussione sul networking e codice sorgente TCP/IP |link:{freebsd-openoffice-url}[freebsd-openoffice] |Il porting di OpenOffice.org e StarOffice(TM) su FreeBSD |link:{freebsd-performance-url}[freebsd-performance] |Questioni relative alla calibrazione delle prestazioni per installazioni a ad alta performance o carico elevato |link:{freebsd-perl-url}[freebsd-perl] |Mantenimento di un numero di port relativi a perl |link:{freebsd-pf-url}[freebsd-pf] |Discussioni sul sistema di firewall packet filter |link:{freebsd-platforms-url}[freebsd-platforms] |Riguardo al porting di FreeBSD su architetture non Intel(R) |link:{freebsd-ports-url}[freebsd-ports] |Discussione sulla collezione dei port |link:{freebsd-ports-bugs-url}[freebsd-ports-bugs] |Discussione sui bug/PR relativi ai port |link:{freebsd-ppc-url}[freebsd-ppc] |Il porting di FreeBSD su PowerPC(R) |link:{freebsd-proliant-url}[freebsd-proliant] |Discussioni tecniche di FreeBSD su piattaforme server HP ProLiant |link:{freebsd-python-url}[freebsd-python] |Discussioni riguardo Python su FreeBSD. |link:{qa-url}[qa] |Discussione su certificati di qualità, solitamente sotto una release |link:{freebsd-rc-url}[freebsd-rc] |Discussione sul sistema [.filename]#rc.d# e relativo sviluppo |link:{freebsd-realtime-url}[freebsd-realtime] |Sviluppo di estensioni realtime su FreeBSD |link:{freebsd-scsi-url}[freebsd-scsi] |Il sottosistema SCSI |{freebsd-security} |Questioni relative alla sicurezza di FreeBSD |link:{freebsd-small-url}[freebsd-small] |L'uso di FreeBSD in applicazioni embedded (obsoleto; usare al suo posto link:{freebsd-embedded-url}[freebsd-embedded]) |link:{smp-url}[smp] |Discussioni di design per sistemi a multiprocessore [a]simmetrico |link:{freebsd-sparc64-url}[freebsd-sparc64] |Il porting di FreeBSD su architetture SPARC(R) |link:{freebsd-standards-url}[freebsd-standards] |La coerenza di FreeBSD agli standards C99 e POSIX(R) |link:{freebsd-sun4v-url}[freebsd-sun4v] |Il porting di FreeBSD su sistemi T1 UltraSPARC(R) |link:{freebsd-testing-url}[freebsd-testing] |Test di stabilità e performance di FreeBSD |link:{freebsd-threads-url}[freebsd-threads] |Threading in FreeBSD |link:{freebsd-tokenring-url}[freebsd-tokenring] |Supporto per il token-ring in FreeBSD |link:{freebsd-usb-url}[freebsd-usb] |Supporto USB in FreeBSD |link:{freebsd-vuxml-url}[freebsd-vuxml] |Discussioni sull'infrastruttura VuXML |link:{freebsd-x11-url}[freebsd-x11] |Mantenimento e supporto di X11 su FreeBSD |=== _Liste limitate:_ Le seguenti liste sono adatte ad un audience più specializzata (ed esigente) e probabilmente non sono di interesse del pubblico generico. È inoltre buona norma frequentare le liste tecniche prima di unirsi ad una di queste liste così da comprendere l'etichetta di comunicazione richiesta. [.informaltable] [cols="1,1", frame="none", options="header"] |=== | Lista | Argomento |link:{freebsd-hubs-url}[freebsd-hubs] |Per coloro che gestiscono mirrors (supporto infrastrutturale) |link:{freebsd-user-groups-url}[freebsd-user-groups] |Coordinamento dei gruppi utenti |link:{freebsd-vendors-url}[freebsd-vendors] |Coordinamento dei venditori pre-release |link:{freebsd-www-url}[freebsd-www] |Coloro che mantengono il sito link:https://www.FreeBSD.org/it/[www.FreeBSD.org] |=== _Liste digest:_ Tutte le liste sopracitate sono anche consultabili come digest. Una volta iscritto a una lista, puoi cambiare le tue opzioni digest nella sezione delle opzioni del tuo account. _Liste CVS:_ Le liste seguenti sono per le persone interessate a vedere i messaggi di log delle modifiche alle varie aree dell'albero dei sorgenti. Sono liste a _Sola Lettura_ e non si dovrebbero inviare messaggi ad esse. [.informaltable] [cols="1,1,1", frame="none", options="header"] |=== | Lista | Area dei sorgenti | Descrizione dell'area |link:{cvs-all-url}[cvs-all] |[.filename]#/usr/(CVSROOT\|doc\|ports\|projects\|src)# |Tutte le modifiche in ogni parte dell'albero (unione di tutte le altre liste di commit CVS) |link:{cvs-doc-url}[cvs-doc] |[.filename]#/usr/(doc\|www)# |Tutte le modifiche all'albero doc e www |link:{cvs-ports-url}[cvs-ports] |[.filename]#/usr/ports# |Tutte le modifiche all'albero ports |link:{cvs-projects-url}[cvs-projects] |[.filename]#/usr/projects# |Tutte le modifiche all'albero projects |link:{cvs-src-url}[cvs-src] |[.filename]#/usr/src# |Tutte le modifiche all'albero src |=== [[eresources-subscribe]] === Come iscriversi -Per iscriverti ad una lista, clicca sul nome della lista qui sopra o vai su {mailman-lists-url} e clicca sulla lista a cui sei interessato. La pagina delle liste dovrebbe contenere tutte le informazioni necessarie all'iscrizione. +Per iscriverti ad una lista, clicca sul nome della lista qui sopra o vai su {mailing-lists-url} e clicca sulla lista a cui sei interessato. La pagina delle liste dovrebbe contenere tutte le informazioni necessarie all'iscrizione. Per mandare un messaggio ad una lista basta inviare una mail a mailto:listname@FreeBSD.org[listname@FreeBSD.org]. Sarà poi redisribuita a tutti i membri della lista. Per disiscriverti da una lista, clicca sull'URL che trovi in fondo a ogni email ricevuta dalla lista. È anche possibile inviare un'email a mailto:listname-unsubscribe@FreeBSD.org[listname-unsubscribe@FreeBSD.org] per disiscriverti. A costo di ripeterci, vorremmo che i membri della lista tecnica tenessero la discussione su un tono tecnico. Se sei solo interessato ad annunci importanti, allora è preferibile che ti iscrivi alla {freebsd-announce}, creata apposta per traffico non frequente. [[eresources-charters]] === Argomenti delle liste _Tutte_ le mailing list FreeBSD hanno alcune regole base che tutti gli utenti devono seguire. La mancata aderenza a queste regole comporterà due (2) avvisi scritti dal PostMaster FreeBSD mailto:postmaster@FreeBSD.org[postmaster@FreeBSD.org], dopo dei quali, ad una terza trasgressione, il membro sarà espulso da tutte le mailing list di FreeBSD e gli sarà impedita qualsiasi futura iscrizione. Siamo mortificati del fatto che queste regole e misure siano necessarie, ma al giorno d'oggi Internet è diventato, a quanto pare, un'ambiente alquanto disordinato, e molti paiono scordarsi di quanto siano fragili alcuni suoi meccanismi. Regole della strada: * L'argomento di ogni messaaggio dovrebbe aderire all'argomento della lista a cui è inviato, ad esempio se la lista è a carattere tecnico, i vostri messaggi dovrebbero contenere discussioni tecniche. Chiacchiericci continui ed irrilevanti vanno a discapito del valore della lista per tutti i suoi membri e non saranno tollerati. Per discussioni libere senza restrizioni sull'argomento, la {freebsd-chat} è liberamente fruibile e dovrebbe essere usata per questo. * Non bisognerebbe scrivere a più di due mailing list, ed anche a due solo e soltanto se un motivo reale e concreto esiste. Per molte liste, esiste già un grande traffico di messaggi che si sovrappongono ed eccetto per i mix più esoterici (ad esempio "-stable & -scsi"), non c'è alcun motivo di scrivere a più di una lista alla volta. Se un messaggio è inviato in modo tale che molte mailing list appaiono nella linea `Cc`, allora la linea `Cc` dovrebbe essere suddivisa prima di inviare nuovi messaggi. _Voi siete del tutto responsabili per i vostri messaggi inviati in modo errato, non importa di chi sia la causa._ * Attacchi personali ed insulti (nel contesto di una discussione) non sono permessi, e questa regola comprende membri e sviluppatori. Gravi violazioni della netiquette, come citare o inviare messaggi altrui quando il permesso a farlo non c'era e non sarebbe giunto sono altamente disapprovate ma non sanzionate direttamente. _Comunque_, ci sono pochissimi casi in cui questi messaggi sarebbero pertinenti all'argomento della lista, quindi tali comportamenti probabilmente otterrebbero un avviso (o un espulsione) del Postmaster, solo per quel motivo. * Pubblicità di prodotti non-FreeBSD è altamente proibita e comportertà un'espulsione immediata se è chiaro che il trasgressore sta inviando pubblicità spam. _Argomenti delle singole liste:_ {freebsd-acpi}:: _Sviluppo di ACPI e della gestione dell'energia_ link:{freebsd-afs-url}[freebsd-afs]:: _Andrew File System_ + Questa è la lista per le discussioni sul porting e l'uso dell' AFS da CMU/Transarc. {freebsd-announce}:: _Eventi importanti/pietre miliari_ + Questa è la mailing list per le persone interessate soltanto in annunci occasionali di eventi significativi riguardanti FreeBSD. Contiene annunci riguardo snapshots e altre release. Contiene annunci su nuove potenzialità di FreeBSD. Può contenere richieste di volontari etc. È una mailing list dal poco traffico, strettamente regolata. link:{freebsd-arch-url}[freebsd-arch]:: _Discussione sull'architettura e la progettazione_ + Questa lista è per la discussione dell'architettura FreeBSD. I messaggi saranno mantenuti strettamente tecnici di natura. Esempi di possibili argomenti: ** Come modificare il processo di build per avere molti build personalizzati in funzione allo stesso tempo. ** Cosa deve essere modificato nel VFS per far funzionare i layers Heimann. ** Come modificare l'interfaccia dei device driver per poter usare gli stessi driver senza problemi su molti buses e architetture. ** Come scrivere un driver di rete. link:{freebsd-audit-url}[freebsd-audit]:: _Progetto di audit del sorgente_ + Questa è la mailing list per il progetto di audit del codice FreeBSD. Anche se in origine era intesa per cambiamenti relativi alla sicurezza, le sue caratteristiche sono state estese per includere ogni cambiamento al codice. + Questa lista è piena di discussioni di patch, e probabilmente di non grandissimo interesse per l'utente medio FreeBSD. Discussioni sulla sicurezza non relative ad una particolare modifica del codice si tengono in FreeBSD-security. Nel frattempo tutti gli svilupatori sono incoraggiati a spedire le proprie patch a questa lista per correzioni, specialmente se toccano parte del sistema dove un bug può influenzare negativamente l'integrità del sistema. link:{freebsd-binup-url}[freebsd-binup]:: _Aggiornamento dei binari FreeBSD_ + Questa lista esiste per fornire un terreno di discussione per il sistema di aggiornamento dei binari, o binup. Sono consentite questioni di design, dettagli di implementazione, patch, report di bug, report di status, richieste di feature, log delle modifiche, e tutto ciò che riguardi binup. link:{freebsd-bluetooth-url}[freebsd-bluetooth]:: _Bluetooth(R) su FreeBSD_ + Questo è il forum dove si riuniscono gli utenti Bluetooth(R) di FreeBSD. Sono consentite aromentazioni su problemi di progettazione, dettagli implementativi, patch, report di bug, lo stato attuale, nuove caratteristiche, e altro materiale relativo a Bluetooth(R). link:{freebsd-bugbusters-url}[freebsd-bugbusters]:: _Coordinamento dello sforzo di gestione dei Problem Report_ + Lo scopo di questa lista è di servire come forum di coordinamento e discussione per il Bugmeister, i suoi Bugbuster, e ogni altra parte che abbia un genuino interesse nel database PR. Questa lista non è per la discussione di bug specifici, patch, o PR. link:{freebsd-bugs-url}[freebsd-bugs]:: _Report di bug_ + Questa è la lista per i report dei bug di FreeBSD. Quando possibile, i bug dovrebbero essere indicati usando il comando man:send-pr[1] o tramite la sua link:https://www.FreeBSD.org/send-pr/[interfaccia WEB]. link:{freebsd-chat-url}[freebsd-chat]:: _Argomenti non tecnici relativi alla comunità FreeBSD_ + Questa lista contiene ciò che resta dalle altre liste riguardo ad informazioni non tecniche, sociali. Include discussioni sul fatto che Jordan sembri o meno un toon ferret, se scrivere o meno in maiuscolo, chi sta bevendo troppo caffè, dove spillano la migliore birra, chi spilla birra in cantina, e così via. Annunci occasionali di eventi importanti (party a venire, celebrazioni di matrimoni, nascite, nuovi lavori etc.) possono essere fatti alle liste non tecniche, ma i suddetti argomenti dovrebbero essere diretti a questa lista. {core-name}:: _Il core team di FreeBSD_ + Questa è una lista interna ad uso dei membri core. Messaggi possono esservi spediti quando una seria questione relativa a FreeBSD richiede un arbitrato da un alto scrutinio. {freebsd-current}:: _Discussioni sull'uso di FreeBSD.current;_ + Questa è la mailing list di discussione di FreeBSD.current;. Contiene avvertimenti su nuove features in arrivo in -CURRENT che toccheranno gli utenti, ed istruzioni su passi che devono restare -CURRENT. Chiunque usi "CURRENT" deve sottoscrivere questa lista. È una mailing list tecnica per la quale ci si attende materiale strettamente tecnico. link:{freebsd-cvsweb-url}[freebsd-cvsweb]:: _Progetto CVSweb di FreeBSD_ + Discussioni tecniche sull'uso, sviluppo e mantenimento di FreeBSD-CVSweb link:{freebsd-doc-url}[freebsd-doc]:: _Progetto di documentazione_ + Questa mailing list è per la discussione di argomenti e progetti riguardanti la creazione della documentazione FreeBSD. I membri di questa mailing list sono noti in genere come "The FreeBSD Documentation Project". È una lista aperta, sentitevi liberi di unirla e contribuirvi. link:{freebsd-drivers-url}[freebsd-drivers]:: _Scrivere driver di dispositivi per FreeBSD_ + Questo è un forum per discussioni tecniche relative ai driver di dispositivi su FreeBSD. È sostanzialmente un posto per gli sviluppatori di driver di dispositivi su questioni su come scrivere driver di dispositivi usando le API del kernel di FreeBSD. link:{freebsd-eclipse-url}[freebsd-eclipse]:: _Utenti FreeBSD di Eclipse IDE, strumenti, applicazioni client e port._ + L'intenzione di questa lista è di fornire un supporto reciproco per tutto ciò che concerne la scelta, l'installazione, l'uso, lo sviluppo e il mantenimento di Eclipse IDE, gli strumenti, le applicazioni client sulla piattaforma FreeBSD e l'assistenza al porting di Eclipse IDE nonchè i plugin per l'ambiente di FreeBSD. + L'intenzione è anche quella di facilitare lo scambio di informazioni tra la comunità di Eclipse e la comunità di FreeBSD per un reciproco beneficio. + Benchè questa lista si focalizzi principalmente sulle necessità degli utenti di Eclipse essa fornisce anche un forum per quelli ai quali piace sviluppare applicaizoni specifiche per FreeBSD usando il framework Eclipse. link:{freebsd-embedded-url}[freebsd-embedded]:: _Come usare FreeBSD in applicazioni embedded._ + In questa lista sono affrontati argomenti relativi all'uso di FreeBSD in sistemi embedded. Essendo questa una mailing list tecnica ci si aspetta contenuti tecnici. Per l'intento di questa lista definiamo i sistemi embedded come quei calcolatori che non sono desktop e che in genere sono utilizzati per un singolo fine al contrario dell'usuale concezione dei sistemi calcolatori. Esempi includono, senza limitazione alcuna, tutti i tipi di telefonini, strumenti di networking come i router, gli switch, i PBX, strumenti di misurazione remota, PDA, sistemi di punti vendita, e altri ancora. link:{freebsd-emulation-url}[freebsd-emulation]:: _Emulazione di altri sistemi come Linux/MS-DOS(R)/Windows(R)_ + Questo è un forum per discussioni tecniche relative all'esecuzione su FreeBSD di programmi scritti per altri sistemi operativi. link:{freebsd-eol-url}[freebsd-eol]:: _Supporto per il software relativo a FreeBSD che non è più supportato dal progetto FreeBSD._ + Questa lista è rivolta a coloro che sono interessati a fornire o usufruire del supporto per software relativo a FreeBSD per il quale il progetto FreeBSD non fornisce più un supporto ufficiale (es. avvisi di sicurezza e patch). link:{freebsd-firewire-url}[freebsd-firewire]:: _FireWire(R) (iLink, IEEE 1394)_ + Questa è la mailing list per la discussione del design e l'implementazione di un sottosistema FireWire(R) (anche noto come IEEE 1394 o iLink) per FreeBSD. Argomenti rilevanti includono nello specifico gli standards, i bus devices, i loro protocolli, insiemi di adapter boards/cards/chips, e l'architettura e implementazione del codice per il loro pieno supporto. link:{freebsd-fs-url}[freebsd-fs]:: _File system_ + Discussioni riguardanti i file system FreeBSD. Questa è una lista dalle caratteristiche tecniche per la quale ci si attende contenuto strettamente tecnico. link:{freebsd-geom-url}[freebsd-geom]:: _GEOM_ + Discussioni riguardanti GEOM e relative implementazioni. Questa è una mailing list tecnica per la quale ci si attente contenuto strettamente tecnico. link:{freebsd-gnome-url}[freebsd-gnome]:: _GNOME_ + Discussioni riguardanti The Gnome Desktop Environment per sistemi FreeBSD. Questa è una mailing list tecnica per la quale ci si attende materiale strettamente tecnico. link:{freebsd-ipfw-url}[freebsd-ipfw]:: _Firewall IP_ + Questo è il forum di discussione riguardante il redesign del codice IP firewall di FreeBSD. Questa è una mailing list tecnica per la quale ci si attende materiale strettamente tecnico. link:{freebsd-ia64-url}[freebsd-ia64]:: _Il porting di FreeBSD su IA64_ + Questa è una mailing list tecnica per individui impegnati attivamente nel porting di FreeBSD alla piattaforma IA-64 dall'Intel(R), nel sollevare problemi e nel proporre soluzioni. Individui interessati nel seguire le discussioni tecniche sono comunque benvenuti. link:{freebsd-isdn-url}[freebsd-isdn]:: _Sistema di comunicazione ISDN_ + Questa è la mailing list per le persone che discutono lo sviluppo del supporto ISDN per FreeBSD. link:{freebsd-java-url}[freebsd-java]:: _Sviluppo Java(TM)_ + Questa è la mailing list per le persone impegnate nello sviluppo di applicazioni Java(TM) significative per FreeBSD ed il porting ed il mantenimento delle JDK(TM). [[eresources-charters-jobs]] link:{freebsd-jobs-url}[freebsd-jobs]:: _Cercasi e offresi opportunità di lavoro_ + Questo è un forum dove inviare avvisi di impiego e curriculum vitae relativi specificatamente a FreeBSD, ad esempio se stai cercando un impiego relativo a FreeBSD o hai un posto di lavoro da pubblicizzare che coinvolge FreeBSD allora questo è il posto giusto. Questa _non_ è una mailing list sui problemi di occupazione in generale visto che forum appropriati esistono già da altre parti. + Nota che questa lista, come le altre mailing list di `FreeBSD.org`, è distribuita in tutto il mondo. Di conseguenza, devi essere chiaro sul luogo e sulle possibiltà di telelavoro o assistenza nel cambiare abitazione, se disponibili. + Le email dovrebbero usare solo formati aperti - preferibilmente testo semplice, ma molti lettori accettano anche Portable Document Format (PDF), HTML, e alcuni altri. Formati chiusi come Microsoft(R) Word ([.filename]#.doc#) saranno respinti dal server delle mailing list. link:{freebsd-kde-url}[freebsd-kde]:: _KDE_ + Discussioni concernenti KDE su sistemi FreeBSD. È una mailing list a carattere tecnico per la quale ci si attende materiale strettamente tecnico. link:{freebsd-hackers-url}[freebsd-hackers]:: _Discussioni tecniche_ + Questo è un forum per discussioni tecniche relative a FreeBSD. Questa è la mailing list tecnica principale. È per individui che lavorano attivamente a FreeBSD per sollevare problemi o discutere soluzioni alternative. Individui interessati nel seguire le discussioni tecniche sono comunque benvenuti. È una mailing list tecnica per la quale ci si attende contenuto strettamente tecnico. link:{freebsd-hardware-url}[freebsd-hardware]:: _Discussione generale sull'hardware e FreeBSD_ + Discussione generica sui vari tipi di hardware che FreeBSD supporta, vari problemi e suggerimenti riguardo a cosa convenga acquistare e cosa evitare. link:{freebsd-hubs-url}[freebsd-hubs]:: _Siti mirror_ + Annunci e discussioni per persone che mantengono siti mirror FreeBSD. link:{freebsd-isp-url}[freebsd-isp]:: _Questioni riguardanti gli Internet Service Provider_ + Questa mailing list è per la discussione di argomenti riguardanti gli Internet Service Provider (ISP) che usano FreeBSD. È una mailing list tecnica per a quale ci si attende materiale strettamente tecnico. link:{freebsd-openoffice-url}[freebsd-openoffice]:: _OpenOffice.org_ + Questione concernenti il porting ed il mantenimento di OpenOffice.org e StarOffice(TM). link:{freebsd-performance-url}[freebsd-performance]:: _Discussioni riguardo la calibrazione o la velocizzazione di FreeBSD_ + Questa mailing list esiste per procurare ad hackers, amministratori di sistema, e/o parti interessate un luogo dove discutere argomenti legati alla performance di FreeBSD. Argomenti accettabili includono installazioni di FreeBSD ad alto carico, con problemi di performance o che stanno spingendo ai limiti delle sue possibilità FreeBSD. Le parti interessate che sono disposte a lavorare per un miglioramento delle prestazioni di FreeBSD sono altamente incoraggiate a sottoscrivere questa lista. Questa è una lista estremamente tecnica, idealmente adatta per utenti FreeBSD esperti, hackers o amministratori intenzionati a mantenere FreeBSD veloce, robusto e scalabile. Questa lista non è una lista domanda-e-risposta che sostituisce l'uso della documentazione, quanto piuttosto un luogo dove apportare i propri contributi o porre domande che non hanno avuto risposta altrove riguardo a tematiche di prestazione. link:{freebsd-pf-url}[freebsd-pf]:: _Discussioni sul sistema di firewall packet filter_ + Discussioni concernenti il sistema di firewall packet filter (pf) su FreeBSD. Saranno ben accolte sia discussioni tecniche che questioni generiche. Inoltre su questa lista si discute anche del framework ALTQ Qos. link:{freebsd-platforms-url}[freebsd-platforms]:: _Il porting sulle piattaforme non Intel(R)_ + Questione concernenti FreeBSD fra le varie piattaforme, discussioni generiche e proposte per ports ad architetture non Intel(R). È una maliling list tecnica per la quale ci si attende materiale strettamente tecnico. link:{freebsd-policy-url}[freebsd-policy]:: _Le decisioni della politica del Core Team_ + Questa è una mailing list a scarso traffico, di sola lettura, per le decisioni politiche del Core Team. link:{freebsd-ports-url}[freebsd-ports]:: _Discussioni sui "port"_ + Discussioni riguardanti la collezione dei "port" di FreeBSD ([.filename]#/usr/ports#), l'infrastruttura dei port, e sforzi generali per la coordinazione dei port. È una mailing list a carattere tecnico per la quale ci si attende materiale strettamente tecnico. link:{freebsd-ports-bugs-url}[freebsd-ports-bugs]:: _Discussione dei bug dei "port"_ + Discussioni concernenti report di problemi sulla "collezione dei port" di FreeBSD ([.filename]#/usr/ports#), proposte di nuovi port, o modifiche ai port. È una mailing list a carattere tecnico per la quale ci si attende materiale strettamente tecnico. link:{freebsd-proliant-url}[freebsd-proliant]:: _Discussioni tecniche di FreeBSD su piattaforme server HP ProLiant_ + Questa mailing list è usata per discussioni tecniche sull'uso di FreeBSD su server HP ProLiant, includendo discussioni su driver ProLiant, software di gestione, strumenti di configurazione, ed aggiornamenti del BIOS. Come tale, questo è il posto adatto per discutere circa hpasmd, hpasmcli, e hpacucli. link:{freebsd-python-url}[freebsd-python]:: _Python su FreeBSD_ + Questa è una lista di discussioni relative al miglioramento del supporto di Python su FreeBSD. Questa è una mailing list tecnica. È per coloro che lavorano sul porting di Python, sui suoi moduli di terze parti e sul materiale di Zopein FreeBSD. Inoltre sono benvenute persone interessate alle discussioni tecniche. link:{freebsd-questions-url}[freebsd-questions]:: _Domande degli utenti_ + Questa è una mailing list per domande riguardanti FreeBSD. Non dovreste porre domande del tipo "how to" alle liste tecniche a meno che stiate considerando le questioni come molto tecniche. link:{freebsd-scsi-url}[freebsd-scsi]:: _Sottosistema SCSI_ + Questa è la mailing list per le persone impegnate nel sottosistema SCSI di FreeBSD. È una mailing list tecnica per la quale ci si attende materiale strettamente tecnico. {freebsd-security}:: _Questioni di sicurezza_ + Argomenti relativi alla sicurezza dei sistemi FreeBSD (DES, Kerberos, buchi di sicurezza noti e fixes, etc.). Questa è una mailing list tecnica per la quale ci si attende materiale strettamente tecnico. Notate che questa non è una lista domanda e risposta, ma che i contributi (SIA domande SIA risposte) alle FAQ sono benvenute. {freebsd-security-notifications}:: _Notifiche riguardanti la sicurezza_ + Notifiche riguardanti problemi di sicurezza di FreeBSD e fix. Non è una lista di discussione. La relativa lista di discussione è FreeBSD-security. link:{freebsd-small-url}[freebsd-small]:: _Utilizzo di FreeBSD in applicazioni embedded_ + Questa lista discute argomenti relativi ad installazioni di FreeBSD su macchine dalle risorse estremamente limitate e sistemi embedded. + [NOTE] ==== Questa lista è stata resa obsoleta da link:{freebsd-embedded-url}[freebsd-embedded]. ==== {freebsd-stable}:: _Discussioni riguardo l'uso di FreeBSD.stable;_ + Questa è la mailing list degli utenti di FreeBSD.stable;. Include avvertimenti su nuove caratteristiche in arrivo nella -STABLE che toccheranno gli utenti, e istruzioni sui passi da compiere per tenere aggiornata la -STABLE. Chiunque usi la "STABLE" dovrebbe sottoscrivere questa lista. È una lista di carattere tecnico per la quale ci si attende materiale strettamente tecnico. link:{freebsd-standards-url}[freebsd-standards]:: _Rispetto degli standards C99 & POSIX_ + Questo è un forum di discussioni tecniche relative al rispetto degli standards C99 e POSIX da parte di FreeBSD. link:{freebsd-usb-url}[freebsd-usb]:: _Discussioni per il supporto USB in FreeBSD_ + Questa è la mailing list per discussioni tecniche relative al supporto USB in FreeBSD. link:{freebsd-user-groups-url}[freebsd-user-groups]:: _Lista di coordinamento dei gruppi utenti_ + Questa è la mailing list per i coordinatori di ogni Gruppo Utenti locale, in cui discutere questioni fra di loro e un membro designato del Core Team. Questa mailing list dovrebbe essere limitata a discussioni su meeting e coordinamento di progetti che riguardano molti Gruppi Utenti. link:{freebsd-vendors-url}[freebsd-vendors]:: _I venditori_ + Discussioni di coordinamento fra il FreeBSD Project e venditori di software e hardware per FreeBSD. [[eresources-mailfiltering]] === Filtraggio sulle Mailing List Le mailing list di FreeBSD sono filtrate in molti modi per evitare la distribuzione di spam, virus, e altre email non volute. Le azioni di filtraggio descritte in questa sezione non includono tutte quelle usate per proteggere le mailing list. Solo certi tipi di allegati sono ammessi sulle mailing list. Tutti gli allegati con un tipo di contenuto MIME non presente nella lista seguente saranno eliminati prima che l'email sia distribuita sulla mailing list. * application/octet-stream * application/pdf * application/pgp-signature * application/x-pkcs7-signature * message/rfc822 * multipart/alternative * multipart/related * multipart/signed * text/html * text/plain * text/x-diff * text/x-patch [NOTE] ==== Alcune mailing list potrebbero ammettere allegati di altri tipi di contenuto MIME, ma la lista qui sopra dovrebbe essere corretta per la maggior parte delle mailing list. ==== Se un'email contiene sia una versione HTML che una versione testo, quella HTML verrà rimossa. Se un'email contiene solo una versione HTML, sarà convertita in semplice testo. [[eresources-news]] == Newsgroup Usenet Oltre ai due newsgroup specificamente designati per FreeBSD, ve ne sono molti altri in cui FreeBSD è discusso o che sono comunque rilevanti per gli utenti FreeBSD. Sono disponibili degli http://minnie.tuhs.org/BSD-info/bsdnews_search.html[archivi interrogabili attraverso parole chiave] su questi newsgroup per gentile concessione di Warren Toomey mailto:wkt@cs.adfa.edu.au[wkt@cs.adfa.edu.au]. === Newsgroup specifici BSD * link:news:comp.unix.bsd.freebsd.announce[comp.unix.bsd.freebsd.announce] * link:news:comp.unix.bsd.freebsd.misc[comp.unix.bsd.freebsd.misc] * link:news:de.comp.os.unix.bsd[de.comp.os.unix.bsd] (Tedesco) * link:news:fr.comp.os.bsd[fr.comp.os.bsd] (Francese) * link:news:it.comp.os.freebsd[it.comp.os.freebsd] (Italiano) * link:news:tw.bbs.comp.386bsd[tw.bbs.comp.386bsd] (Cinese Tradizionale) === Altri newsgroup UNIX(R) di interesse * link:news:comp.unix[comp.unix] * link:news:comp.unix.questions[comp.unix.questions] * link:news:comp.unix.admin[comp.unix.admin] * link:news:comp.unix.programmer[comp.unix.programmer] * link:news:comp.unix.shell[comp.unix.shell] * link:news:comp.unix.user-friendly[comp.unix.user-friendly] * link:news:comp.security.unix[comp.security.unix] * link:news:comp.sources.unix[comp.sources.unix] * link:news:comp.unix.advocacy[comp.unix.advocacy] * link:news:comp.unix.misc[comp.unix.misc] * link:news:comp.bugs.4bsd[comp.bugs.4bsd] * link:news:comp.bugs.4bsd.ucb-fixes[comp.bugs.4bsd.ucb-fixes] * link:news:comp.unix.bsd[comp.unix.bsd] === X Windows System * link:news:comp.windows.x.i386unix[comp.windows.x.i386unix] * link:news:comp.windows.x[comp.windows.x] * link:news:comp.windows.x.apps[comp.windows.x.apps] * link:news:comp.windows.x.announce[comp.windows.x.announce] * link:news:comp.windows.x.intrinsics[comp.windows.x.intrinsics] * link:news:comp.windows.x.motif[comp.windows.x.motif] * link:news:comp.windows.x.pex[comp.windows.x.pex] * link:news:comp.emulators.ms-windows.wine[comp.emulators.ms-windows.wine] [[eresources-web]] == Server World Wide Web <>, <>, <>, <>, <>, <>, <>, <>, <>, <>, <>, <>, <>, <>, <>, <>, <>, <>, <>, <>, <>, <>, <>, <>, <>. (as of UTC) [[central-mirrors]] *{central}* * {central-www} [[armenia-mirrors]] *{mirrors-armenia}* * {mirrors-armenia-www-httpv6} (IPv6) [[australia-mirrors]] *{mirrors-australia}* * {mirrors-australia-www-http} * {mirrors-australia-www2-http} [[austria-mirrors]] *{mirrors-austria}* * {mirrors-armenia-www-httpv6} (IPv6) [[czech-republic-mirrors]] *{mirrors-czech}* * {mirrors-czech-www-httpv6} (IPv6) [[denmark-mirrors]] *{mirrors-denmark}* * {mirrors-denmark-www-httpv6} (IPv6) [[finland-mirrors]] *{mirrors-finland}* * {mirrors-finland-www-http} [[france-mirrors]] *{mirrors-france}* * {mirrors-france-www-http} [[germany-mirrors]] *{mirrors-germany}* * {mirrors-germany-www-http} [[hong-kong-mirrors]] *{mirrors-hongkong}* * {mirrors-hongkong-www} [[ireland-mirrors]] *{mirrors-ireland}* * {mirrors-ireland-www} [[japan-mirrors]] *{mirrors-japan}* * {mirrors-japan-www-httpv6} (IPv6) [[latvia-mirrors]] *{mirrors-latvia}* * {mirrors-latvia-www} [[lithuania-mirrors]] *{mirrors-lithuania}* * {mirrors-lithuania-www} [[netherlands-mirrors]] *{mirrors-netherlands}* * {mirrors-netherlands-www} [[norway-mirrors]] *{mirrors-norway}* * {mirrors-norway-www} [[russia-mirrors]] *{mirrors-russia}* * {mirrors-russia-www-httpv6} (IPv6) [[slovenia-mirrors]] *{mirrors-slovenia}* * {mirrors-slovenia-www} [[south-africa-mirrors]] *{mirrors-south-africa}* * {mirrors-south-africa-www} [[spain-mirrors]] *{mirrors-spain}* * {mirrors-spain-www} * {mirrors-spain-www2} [[sweden-mirrors]] *{mirrors-sweden}* * {mirrors-sweden-www} [[switzerland-mirrors]] *{mirrors-switzerland}* * {mirrors-switzerland-www-httpv6} (IPv6) * {mirrors-switzerland-www2-httpv6} (IPv6) [[taiwan-mirrors]] *{mirrors-taiwan}* * {mirrors-taiwan-www} * {mirrors-taiwan-www2} * {mirrors-taiwan-www4} * {mirrors-taiwan-www5-httpv6} (IPv6) [[uk-mirrors]] *{mirrors-uk}* * {mirrors-uk-www} * {mirrors-uk-www3} [[usa-mirrors]] *{mirrors-us}* * {mirrors-us-www5-httpv6} (IPv6) [[eresources-email]] == Indirizzi Email I seguenti Gruppi Utenti forniscono indirizzi email per i propri membri. Gli amministratori di lista si riservano il diritto di revocare l'indirizzo assegnato se in alcun modo se ne fa cattivo uso. [.informaltable] [cols="1,1,1,1", frame="none", options="header"] |=== | Dominio | Offerta | Gruppo utente | Amministratore |ukug.uk.FreeBSD.org |Solo forwarding |mailto:freebsd-users@uk.FreeBSD.org[freebsd-users@uk.FreeBSD.org] |Lee Johnston mailto:lee@uk.FreeBSD.org[lee@uk.FreeBSD.org] |=== [[eresources-shell]] == Shell Accounts I seguenti Gruppi utenti forniscono account di shell a persone che supportano attivamente il progetto FreeBSD. Gli amministratori elencati si riservano il diritto di cancellare l'account se viene in alcun modo usato male. [.informaltable] [cols="1,1,1,1", frame="none", options="header"] |=== | Host | Accesso | Offerta | Amministratore |dogma.freebsd-uk.eu.org |Telnet/FTP/SSH |Email, spazio Web, FTP anonimo |Lee Johnston mailto:lee@uk.FreeBSD.org[lee@uk.FreeBSD.org] |=== diff --git a/documentation/content/it/books/handbook/jails/_index.adoc b/documentation/content/it/books/handbook/jails/_index.adoc index 2e41775cde..907d81d112 100644 --- a/documentation/content/it/books/handbook/jails/_index.adoc +++ b/documentation/content/it/books/handbook/jails/_index.adoc @@ -1,521 +1,521 @@ --- title: Capitolo 15. Jail part: Parte II. Compiti Ordinari prev: books/handbook/security next: books/handbook/mac --- [[jails]] = Jail :doctype: book :toc: macro :toclevels: 1 :icons: font :sectnums: :sectnumlevels: 6 :source-highlighter: rouge :experimental: :skip-front-matter: :toc-title: Indice :table-caption: Tabella :figure-caption: Figura :example-caption: Esempio :xrefstyle: basic :relfileprefix: ../ :outfilesuffix: :sectnumoffset: 15 ifeval::["{backend}" == "html5"] :imagesdir: ../../../images/books/handbook/jails/ endif::[] ifeval::["{backend}" == "pdf"] :imagesdir: ../../../../static/images/books/handbook/jails/ endif::[] ifeval::["{backend}" == "epub3"] :imagesdir: ../../../../static/images/books/handbook/jails/ endif::[] include::shared/authors.adoc[] include::shared/releases.adoc[] include::shared/it/mailing-lists.adoc[] include::shared/it/urls.adoc[] toc::[] [[jails-synopsis]] == Sinossi Questo capitolo fornirà una spiegazione di cosa siano le jail in FreeBSD e di come usarle. Le jail, definite a volte come una miglioria dell'_ambiente chroot_, sono un strumento molto potente per amministratori di sistema, ma il loro uso può essere utile anche per utenti avanzati. Dopo aver letto questo capitolo, saprai: * Cosa è una jail e a quale scopi può servire nelle installazioni di FreeBSD. * Come creare, avviare e fermare una jail. * Le basi per l'amministrazione delle jail, sia dall'interno che dall'esterno di una jail. Altre fonti di informazioni utili a proposito delle jail sono: * La pagina man man:jail[8]. Questo è un riferimento completo dell'utility `jail` - il tool di amministrazione che può essere usato in FreeBSD per avviare, fermare e controllare le jail in FreeBSD. -* Le mailing list ed i loro archivi. Gli archivi della {freebsd-questions} ed altre mailing list ospitate sul {mailman-lists} contengono già una varietà di materiale per le jail. Si dovrebbe sempre cercare negli archivi, o inviare una nuova domanda alla mailing list link:{freebsd-questions-url}[freebsd-questions]. +* Le mailing list ed i loro archivi. Gli archivi della {freebsd-questions} ed altre mailing list ospitate sul {mailing-lists} contengono già una varietà di materiale per le jail. Si dovrebbe sempre cercare negli archivi, o inviare una nuova domanda alla mailing list link:{freebsd-questions-url}[freebsd-questions]. [[jails-terms]] == Termini Relativi alle Jail Per facilitare una migliore comprensione delle parti di FreeBSD relative alle jail, i loro meandri ed il modo in cui interagiscono con il resto di FreeBSD, i seguenti termini saranno usati più avanti in questo capitolo: man:chroot[2] (comando):: Una chiamata di sistema di FreeBSD, che cambia la directory root di un processo e di tutti i suoi discendenti. man:chroot[2] (ambiente):: L'ambiente di un processo eseguito con "chroot". Sono incluse le risorse come la parte del file system visibile, ID di utenti e di gruppi che sono disponibili, interfacce di rete, altri meccanismi di IPC, ecc. man:jail[8] (comando):: L'utility di amministrazione di sistema che permette di eseguire processi all'interno di una jail. host (sistema, processo, utente, ecc.):: Il sistema di controllo di una jail. Il sistema host ha accesso a tutte le risorse hardware disponibili, e può controllare processi sia all'interno che al di fuori di una jail. Una delle differenze importanti di un sistema host rispetto a una jail è che le limitazioni applicate ai processi superuser dentro una jail non sono valide per i processi del sistema host. hosted (sistema, processo, utente, ecc.):: Un processo, utente o altra entità, che abbia l'accesso alle risorse, limitato da una jail di FreeBSD. [[jails-intro]] == Introduzione Dato che l'amministrazione di sistema è un compito difficile e gravoso, sono stati sviluppati molti strumenti potenti per rendere la vita più semplice per l'amministratore. Questi strumenti forniscono aiuti di vario genere nel modo in cui i sistemi sono installati, configurati e quindi manutenuti. Parte dei compiti che un amministratore dovrebbe fare riguarda la corretta configurazione nell'ambito della sicurezza di un sistema, in modo tale da continuare a servire il suo vero intento, senza permettere violazioni di sistema. Uno degli strumenti che possono essere usati per migliorare la sicurezza di FreeBSD sono le _jail_. Le jail furono introdotte con FreeBSD 4.X da {phk}, ma furono notevolmente migliorate in FreeBSD 5.X per renderle un sottosistema potente e flessibile. Il loro sviluppo continua per migliorare la loro utilità, le prestazioni e la sicurezza. [[jails-what]] === Cosa è una Jail I sistemi operativi BSD-like hanno avuto il man:chroot[2] dai tempi di 4.2BSD. L'utility man:chroot[2] può essere usata per cambiare la directory root di un insieme di processi, creando un ambiente sicuro e separato dal resto del sistema. I processi creati nell'ambiente chroot non possono accedere a file o risorse fuori da questo. Per questa ragione, compromettere un servizio che viene eseguito in un ambiente chroot non dovrebbe permettere all'attaccante di compromettere l'intero sistema. L'utility man:chroot[2] è utile per compiti semplici, che non richiedono molta flessibilità o caratteristiche complesse e avanzate. Tuttavia, dall'inizio del concetto di chroot, sono stati trovati diversi modi per uscire da un ambiente chroot, e, benchè siano stati fixati nelle versioni moderne del kernel di FreeBSD, è diventato chiaro che man:chroot[2] non era la soluzione ideale per rendere sicuri i servizi. Un nuovo sottosistema doveva essere implementato. Queste sono alcune delle ragioni principali per cui le _jail_ sono state sviluppate. Le jail migliorano il concetto dell'ambiente man:chroot[2] tradizionale, in molti modi. In un ambiente man:chroot[2] tradizionale, i processi sono limitati solo nella porzione di file system che possono accedere. Il resto delle risorse di sistema (come l'insieme di utenti di sistema, i processi in esecuzione, o il sotto-sistema di rete) sono condivise dai processi in chroot e dai processi del sistema host (quelli non inseriti in un ambiente chroot). Le jail espandono questo modello virtualizzando non solo l'accesso al file system, ma anche l'insieme di utenti, il sotto-sistema di rete del kernel di FreeBSD e alcune altre cose. Un più completo insieme di controlli disponibili per calibrare l'accesso ad un ambiente jail è descritto nella <>. Una jail è caratterizzata da quattro elementi: * Un sotto-ramo di una directory - il punto di partenza da cui si entra nella jail. Una volta all'interno della jail, ad un processo non è permesso di uscire da questo sotto-ramo. Le questioni tradizionali di sicurezza che colpiscono il design di man:chroot[2] originale non affliggono le jail di FreeBSD. * Un hostname - l'hostname che sarà usato all'interno della jail. Le jail sono principalmente usate per ospitare servizi di rete, quindi avere un nome host descrittivo per ogni jail può veramente aiutare l'amministratore di sistema. * Un indirizzo IP - questo sarà assegnato alla jail e non può essere cambiato in alcun modo durante l'arco di vita della jail. L'indirizzo IP di una jail è in genere un indirizzo alias di un'interfaccia di rete esistente, anche se questo non è strettamente necessario. * Un comando - il percorso di un eseguibile da avviare all'interno della jail. Questo è relativo alla directory root dell'ambiente della jail, e può variare molto, a seconda del tipo specifico di ambiente della jail. Oltre a queste caratteristiche, le jail possono avere il loro insieme di utenti ed il loro utente `root`. Naturalmente, i poteri dell'utente `root` sono limitati all'interno dell'ambiente jail e, dal punto di vista del sistema host, l'utente `root` della jail non è il superuser. Inoltre, l'utente `root` di una jail non potrà eseguire operazioni critiche sul sistema al di fuori del suo ambiente man:jail[8]. Altre informazioni sui poteri e sulle restrizioni dell'utente `root` saranno discusse nella <>. [[jails-build]] == Creare e Controllare la Jail Alcuni amministratori dividono le jail nei seguenti due tipi: jail "complete", che sono simili ad un sistema FreeBSD reale, e jail "di servizio", dedicate ad un'unica applicazione o servizio, possibilmente in esecuzione con privilegi. Questa è solo una divisione concettuale ed il processo di creazione della jail non viene modificato da ciò. La pagina man man:jail[8] è abbastanza chiara a riguardo della procedura di creazione di una jail: [source,shell] .... # setenv D /qui/c'e'/la/jail # mkdir -p $D <.> # cd /usr/src # make world DESTDIR=$D <.> # cd etc/ [7] # make distribution DESTDIR=$D <.> # mount_devfs devfs $D/dev <.> .... <.> Selezionare una directory per la jail è il miglior punto in cui iniziare. Questo sarà il punto in cui la jail risiederà fisicamente nel file system del sistema host. Una buona scelta può essere [.filename]#/usr/jail/nomejail#, dove _nomejail_ è il nome host che identifica la jail. Il file system [.filename]#/usr/# in genere ha abbastanza spazio vuoto per il file system delle jail, che per una jail "completa" è, in pratica, una replica di ogni file presente in una installazione base di FreeBSD <.> Questo comando popolerà la sotto-directory scelta come locazione fisica della jail con i binari necessari, le librerie, le pagine man e cosí via. Tutto è fatto nello stile tipico di FreeBSD - prima tutto viene creato/compilato, poi installato nel percorso di destinazione. <.> Il target `distribution` per make installa ogni file di configuazione richiesto. In parole povere, installa ogni file di [.filename]#/usr/src/etc/# nella directory [.filename]#/etc# dell'ambiente jail: [.filename]#$D/etc/#. <.> Non è richiesto di montare il file system man:devfs[8] all'interno della jail. D'altro lato, ogni applicazione o quasi ha bisogno di accedere ad almeno un dispositivo, a seconda dello scopo dell'applicazione stessa. È molto importante controllare l'accesso ai dispositivi dall'interno della jail, dato che con dei settaggi impropri un attaccante potrebbe compiere azioni dannose nella jail. Il controllo su man:devfs[8] è gestito attraverso le regole che sono descritte nelle pagine man di man:devfs[8] e man:devfs.conf[5]. Una volta che una jail è installata, può essere avviata usando l'utility man:jail[8]. L'utility man:jail[8] prende quattro argomenti obbligatori che sono descritti nella <>. Possono essere specificati altri argomenti, ad esempio, per eseguire il programma nella jail con le credenziali di un utente specifico. L'argomento `_comando_` dipende dal tipo di jail; per un _sistema virtuale_, [.filename]#/etc/rc# è una buona scelta, dato che replicherà la sequenza di avvio di un sistema FreeBSD reale. Per una jail _di servizio_, dipenderà dal servizio o dalla applicazione che sarà eseguita all'interno della jail. Le jail spesso sono avviate al momento di boot e il meccanismo [.filename]#rc# di FreeBSD fornisce un modo semplice per farlo. [.procedure] ==== . Una lista delle jail che sono abilitate al boot dovrebbe essere aggiunta al file man:rc.conf[5]: + [.programlisting] .... jail_enable="YES" # NO per disabilitare l'avvio delle jail jail_list="www" # Lista dei nomi delle jail separati da spazi .... + . Per ogni jail elencata in `jail_list`, dovrebbe essere aggiunto un gruppo di impostazioni di man:rc.conf[5], che descrive la jail: + [.programlisting] .... jail_www_rootdir="/usr/jail/www" # directory root della jail jail_www_hostname="www.example.org" # nome-host della jail jail_www_ip="192.168.0.10" # indirizzo IP della jail jail_www_devfs_enable="YES" # dispositivi di mount devfs nella jail jail_www_devfs_ruleset="www_ruleset" # regole devfs da applicare alla jail .... + L'avvio di default delle jail configurate in man:rc.conf[5] eseguirà lo script della jail in [.filename]#/etc/rc#, che assume che la jail sia un completo sistema virtuale. Per jail di servizio, il comando di default di avvio della jail dovrebbe essere cambiato, impostando l'opzione `jail__nomejail__exec_start` in modo appropriato. + [NOTE] ====== Per una lista completa delle opzioni disponibili, per favore consulta la pagina man man:rc.conf[5]. ====== ==== Lo script [.filename]#/etc/rc.d/jail# può essere usato per avviare o fermare una jail a mano, se esiste una entry in [.filename]#rc.conf#: [source,shell] .... # /etc/rc.d/jail start www # /etc/rc.d/jail stop www .... Un modo pulito per spegnere una man:jail[8] non è disponibile al momento. Questo perchè i comandi usati normalmente per fare uno shutdown pulito non possono essere usati all'interno della jail. Il modo migliore per spegnere una jail è eseguire il seguente comando all'interno della jail stessa o usando l'utility man:jexec[8] da fuori della jail: [source,shell] .... # sh /etc/rc.shutdown .... Maggiori informazioni al riguardo possono essere trovate nella pagina man man:jail[8]. [[jails-tuning]] == Messa a Punto ed Amministrazione Ci sono molte opzioni che possono essere impostate per ogni jail, e molti modi di combinare un sistema FreeBSD con le jail, per produrre applicazioni di alto livello. Questa sezione presenta: * Alcune delle opzioni disponibili per impostare il comportamento e le restrizioni di sicurezza implementate da una installazione di una jail. * Alcune degli applicativi di alto livello per la gestione delle jail, che sono disponibili attraverso la Collezione dei Port di FreeBSD, e possono essere usate per implementare soluzioni complete basate sulle jail. [[jails-tuning-utilities]] === Strumenti di sistema per mettere a punto una jail in FreeBSD La messa a punto di una configurazione di una jail è principalmente fatta settando variabili man:sysctl[8]. Esiste un sotto-ramo speciale di sysctl con tutte le opzioni del caso: la gerarchia `security.jail.*` delle opzioni del kernel di FreeBSD. Qui c'è una lista delle principali opzioni di sysctl relative alle jail, con il loro valori di default. I nomi dovrebbero essere auto esplicativi, ma per maggiori informazioni riguardo questi, per favore fai riferimento alle pagine man man:jail[8] e man:sysctl[8]. * `security.jail.set_hostname_allowed: 1` * `security.jail.socket_unixiproute_only: 1` * `security.jail.sysvipc_allowed: 0` * `security.jail.enforce_statfs: 2` * `security.jail.allow_raw_sockets: 0` * `security.jail.chflags_allowed: 0` * `security.jail.jailed: 0` Queste variabili possono essere usate dall'amministratore di sistema del _sistema host_ per aggiungere o rimuovere alcune delle limitazioni imposte di default all'utente `root`. Nota che ci sono alcune limitazioni che non possono essere rimosse. L'utente `root` non ha il permesso di montare o smontare file system all'interno della man:jail[8]. L'utente `root` all'interno della jail non può caricare o scaricare regole di man:devfs[8], impostare regole del firewall, o compiere molti altri compiti di amministrazione che richiedono modifiche in kernel, come impostare il `securelevel` del kernel. Il sistema base di FreeBSD contiene un insieme di base di strumenti per vedere informazioni a proposito delle jail attive, e per attaccarsi ad una jail per eseguire compiti amministrativi. Il comando man:jail[8] e man:jexec[8] sono parte del sistema base di FreeBSD, e possono essere usati per eseguire i seguenti semplici compiti: * Stampa una lista di jail attive e i loro corrispondenti identificativi di jail (JID), indirizzo IP, nome host e percorso. * Attaccarsi ad una jail in esecuzione, dal suo sistema host, ed eseguire un comando o compiti amministrativi dall'interno della jail stessa. Questo è specialmente utile quando l'utente `root` vuole spegnere in modo pulito una jail. L'utility man:jexec[8] può anche essere usata per avviare una shell in una jail per fare dell'amministrazione; ad esempio: + [source,shell] .... # jexec 1 tcsh .... [[jails-tuning-admintools]] === Strumenti di amministrazione di alto livello nella Collezione dei Ports di FreeBSD Fra le tante utility di terze parti per l'amministrazione delle jail, uno dei più completi ed utili è package:sysutils/jailutils[]. È un insieme di piccoli applicativi che contribuiscono alla gestione delle man:jail[8]. Per favore fai riferimento alla corrispondente pagina web per maggiori informazioni. [[jails-application]] == Applicazioni di Jail [[jails-service-jails]] === Servizi Jail Questa sezione è basata su un'idea di {simon} (http://simon.nitro.dk/service-jails.html[http://simon.nitro.dk/service-jails.html]), e su un articolo scritto da by Ken Tom mailto:locals@gmail.com[locals@gmail.com]. Questa sezione illustra come configurare un sistema FreeBSD aggiungendo uno strato di sicurezza addizionale, usando le funzionalità delle man:jail[8]. Inoltre questa sezione assume che la versione FreeBSD del sistema sia almeno la RELENG_6_0 e che siano state capite le informazioni fornite precedentemente nel capitolo. [[jails-service-jails-design]] ==== Progetto Uno dei maggiori problemi delle jail è la gestione del loro processo di aggiornamento. Questo tende a essere un problema poichè ciascuna jail deve essere ricostruita da zero ogni volta che deve essere aggiornata. Di solito questo non è un problema per una jail singola, poichè il processo di aggiornamento è abbastanza semplice, ma se sono create tante jail può diventare un processo lungo e tedioso. [WARNING] ==== Questa configurazione richiede una esperienza avanzata con FreeBSD. Se i procedimenti seguenti risultano troppo complicati, si consiglia di dare un'occhiata a un sistema più intuitivo come package:sysutils/ezjail[], che fornisce un modo semplice di amministrare le jail in FreeBSD e non è sofisticato come questa configurazione. ==== Questa idea è stata presentata per risolvere il problema di condividere quanto più possibile tra le jail, in modo sicuro - usando man:mount_nullfs[8] in sola lettura, affinchè l'aggiornamento sia semplice, e per fare diventare più allettante mettere singoli servizi in jail individuali. Inoltre, si fornisce un modo per creare, aggiornare e rimuovere jail. [NOTE] ==== Esempi di servizi in questo contesto sono: un server HTTP, un server DNS, un server SMTP, e via dicendo. ==== Gli scopi di configurazione descritti in questa sezione sono: * Comprendere la struttura jail. Questo implica di _not_ dovere eseguire un installworld completo per ogni jail. * Semplificare l'aggiunta di una nuova jail o la rimozione di una esistente. * Semplificare l'aggiornamento o la modifica di una jail esistente. * Rende possibile l'esecuzione di un FreeBSD su misura. * Essere paranoici sulla sicurezza, riducendo quanto più possibile la possibilità di mettere a repentaglio il sistema. * Salvare spazio e inode, quanto più possibile. Come già menzionato, questa configurazione si basa pesantemente nell'avere un unico template master che è in sola lettura (conosciuto come nullfs) montato in ogni jail e un dispositivo in lettura-scrittura per jail. Il dispositivo può essere un disco fisico separato, una partizione, o un dispositivo vnode man:md[4]. In questo esempio, useremo un nullfs in lettura e scrittura. Viene qui descritto il layout del file system: * Ogni jail sarà montata sotto la directory [.filename]#/home/j#. * [.filename]#/home/j/mroot# è il template per ogni jail e la partizione in sola lettura per tutte le jail. * Una directory vuota sarà creata per ogni jail sotto la directory [.filename]#/home/j#. * Ogni jail avrà una directory [.filename]#/s#, che sarà linkata alla porzione del sistema in lettura e scrittura. * Ogni jail ha il suo sistema in lettura e scrittura in [.filename]#/home/j/skel#. * Ogni spazio di jail (la porzione in lettura e scrittura di ogni jail) sarà creato in [.filename]#/home/js#. [NOTE] ==== Si assume che le jail siano posizionate sotto la partizione [.filename]#/home#. Di sicuro, questo può essere modificato con qualcosa di diverso, ma questo cambiamento dovrà essere tenuto in considerazione negli esempi più avanti. ==== [[jails-service-jails-template]] ==== Creare il Template Questa sezione descrive le fasi necessarie per creare il template di riferimento che sarà la parte in sola lettura utilizzate dalle jail. È sempre una buona idea aggiornare FreeBSD al branch -RELEASE più recente. Per farlo, consulta il crossref:cutting-edge[makeworld,capitolo] di riferimento dell'Handbook. Nel caso che l'aggiornamento non sia fattibile, sarà necessaria la procedura di buildworld per poter procedere. Inoltre, è richiesto il pacchetto package:sysutils/cpdup[]. Useremo l'utility man:portsnap[8] per scaricare la FreeBSD Ports Collection. Il crossref:portsnap[portsnap,Capitolo Portsnap] dell'handbook è sempre una buona lettura per i nuovi arrivati. [.procedure] ==== . Primo, creiamo la struttura della directory per il file system in sola lettura che conterrà i binari di FreeBSD per le nostre jail, quindi portiamoci nel ramo della directory dei sorgenti di FreeBSD e installiamo il file system in sola lettura per il template delle jail: + [source,shell] .... # mkdir /home/j /home/j/mroot # cd /usr/src # make installworld DESTDIR=/home/j/mroot .... + . Quindi, prepariamo la FreeBSD Ports Collection per le jail così come abbiamo fatto per l'alberatura dei sorgenti, richiesta per mergemaster: + [source,shell] .... # cd /home/j/mroot # mkdir usr/ports # portsnap -p /home/j/mroot/usr/ports fetch extract # cpdup /usr/src /home/j/mroot/usr/src .... + . Creiamo lo scheletro per la parte del sistema in lettura e scrittura: + [source,shell] .... # mkdir /home/j/skel /home/j/skel/home /home/j/skel/usr-X11R6 /home/j/skel/distfiles # mv etc /home/j/skel # mv usr/local /home/j/skel/usr-local # mv tmp /home/j/skel # mv var /home/j/skel # mv root /home/j/skel .... + . Usiamo mergemaster per installare i file di configurazione mancanti. Quindi liberiamoci delle directory extra che mergemaster ha creato: + [source,shell] .... # mergemaster -t /home/j/skel/var/tmp/temproot -D /home/j/skel -i # cd /home/j/skel # rm -R bin boot lib libexec mnt proc rescue sbin sys usr dev .... + . Ora, linkiamo in modo simbolico il file system in lettura e scrittura nel file system di sola lettura. Assicuriamoci che i link simbolici siano creati nelle posizioni corrette in [.filename]#s/#. La creazione di directory in posti sbagliati causerà un fallimento durante l'installazione. + [source,shell] .... # cd /home/j/mroot # mkdir s # ln -s s/etc etc # ln -s s/home home # ln -s s/root root # ln -s ../s/usr-local usr/local # ln -s ../s/usr-X11R6 usr/X11R6 # ln -s ../../s/distfiles usr/ports/distfiles # ln -s s/tmp tmp # ln -s s/var var .... + . Come ultima fase, creiamo un generico [.filename]#/home/j/skel/etc/make.conf# con il seguente contenuto: + [.programlisting] .... WRKDIRPREFIX?= /s/portbuild .... + Avendo settato `WRKDIRPREFIX` in questo modo sarà possibile compilare i port di FreeBSD all'interno di ogni jail. Ricordati che la directory dei port è parte del sistema in sola lettura. Il percorso ad doc di `WRKDIRPREFIX` permette di compilare nella porzione in lettura e scrittura di ogni jail. ==== [[jails-service-jails-creating]] ==== Creazione di Jail Ora che abbiamo completato il template della jail, possiamo configurare le jail in [.filename]#/etc/rc.conf#. Questo esempio mostra la creazione di 3 jail: "NS", "MAIL" e "WWW". [.procedure] ==== . Inseriamo le seguenti righe nel file [.filename]#/etc/fstab#, in modo tale che il template in sola lettura per le jail e lo spazio in lettura e scrittura sarà disponibile nella rispettive jail: + [.programlisting] .... /home/j/mroot /home/j/ns nullfs ro 0 0 /home/j/mroot /home/j/mail nullfs ro 0 0 /home/j/mroot /home/j/www nullfs ro 0 0 /home/js/ns /home/j/ns/s nullfs rw 0 0 /home/js/mail /home/j/mail/s nullfs rw 0 0 /home/js/www /home/j/www/s nullfs rw 0 0 .... + [NOTE] ====== Le partizioni con uno 0 come numero di pass non sono verificate da man:fsck[8] durante il boot, e le partizioni con uno 0 come numero di dump non sono prese in considerazione da man:dump[8]. Non si vuole che fsck verifichi i mount nullfs o che dump faccia un backup dei mount nullfs in sola lettura delle jail. Ecco perchè queste partizioni hanno "0 0" nelle ultime due colonne di ogni riga di [.filename]#fstab# sopra mosrate. ====== + . Configuriamo le jail in [.filename]#/etc/rc.conf#: + [.programlisting] .... jail_enable="YES" jail_set_hostname_allow="NO" jail_list="ns mail www" jail_ns_hostname="ns.example.org" jail_ns_ip="192.168.3.17" jail_ns_rootdir="/usr/home/j/ns" jail_ns_devfs_enable="YES" jail_mail_hostname="mail.example.org" jail_mail_ip="192.168.3.18" jail_mail_rootdir="/usr/home/j/mail" jail_mail_devfs_enable="YES" jail_www_hostname="www.example.org" jail_www_ip="62.123.43.14" jail_www_rootdir="/usr/home/j/www" jail_www_devfs_enable="YES" .... + [WARNING] ====== La ragione del perchè la variabile `jail_nome_rootdir` è settata a [.filename]#/usr/home# invece di [.filename]#/home# è che il percorso reale della directory [.filename]#/home# in una installazione standard di FreeBSD è [.filename]#/usr/home#. La variabile `jail_nome_rootdir`_non_ deve essere settata a un percorso che include link simbolici, altrimenti la jail rifiuterà di partire. Usa l'utility man:realpath[1] per determinare il valore che questa variabile dovrebbe assumere. Per favore da un occhio al Security Advisory FreeBSD-SA-07:01.jail per maggiorni informazioni. ====== + . Creiamo i punti di mount richiesti per il file system in sola lettura di ogni jail: + [source,shell] .... # mkdir /home/j/ns /home/j/mail /home/j/www .... + . Installiamo il template in lettura e scrittura in ciascuna jail. Notare l'utilizzo di package:sysutils/cpdup[], che assicura una corretta copia di ogni directory: + [source,shell] .... # mkdir /home/js # cpdup /home/j/skel /home/js/ns # cpdup /home/j/skel /home/js/mail # cpdup /home/j/skel /home/js/www .... + . In questa fase, le jail sono preparate per essere eseguite. Montiamo il file system richiesto per ogni jail, e quindi avviamole con lo script [.filename]#/etc/rc.d/jail#: + [source,shell] .... # mount -a # /etc/rc.d/jail start .... ==== Le jail dovrebbero essere in esecuzione. Per verificare che siano state avviate correttamente, usiamo il comando man:jls[8]. Il suo output dovrebbe essere simile al seguente: [source,shell] .... # jls JID IP Address Hostname Path 3 192.168.3.17 ns.example.org /home/j/ns 2 192.168.3.18 mail.example.org /home/j/mail 1 62.123.43.14 www.example.org /home/j/www .... A questo punto, dovrebbe essere possibile entrare in ciascuna jail, aggiungere nuovi utenti o configurare demoni. La colonna `JID` indica il numero identificativo di ciascuna jail in esecuzione. Usa il comando seguente per effettuare compiti amministrativi nella jail con `JID` 3: [source,shell] .... # jexec 3 tcsh .... [[jails-service-jails-upgrading]] ==== Aggiornamento Il tempo passa, e sarà necessario aggiornare il sistema a una nuova versione di FreeBSD, vuoi per questioni di sicurezza, o perchè sono state implementate nuove funzionalità che ritornano utili per le jail esistenti. Di seguito si fornisce un modo semplice per effettuare l'aggiornamento delle jail esistenti. Inoltre, questo metodo minimizza il tempo in cui le jail non sono in esecuzione, poichè le jail saranno disattivate solo per un breve periodo. Questa procedura fornisce un modo per ritornare indietro alle vecchie versioni nel caso qualcosa vada storto. [.procedure] ==== . Il primo passo è aggiornare il sistema host nella maniera usuale. Quindi creiamo un template temporaneo in sola lettura in [.filename]#/home/j/mroot2#. + [source,shell] .... # mkdir /home/j/mroot2 # cd /usr/src # make installworld DESTDIR=/home/j/mroot2 # cd /home/j/mroot2 # cpdup /usr/src usr/src # mkdir s .... + Il processo di `installworld` crea alcune directory non necessarie, che possono essere rimosse: + [source,shell] .... # chflags -R 0 var # rm -R etc var root usr/local tmp .... + . Ricreiamo i link simbolici in lettura e scrittura per il file system di riferimento: + [source,shell] .... # ln -s s/etc etc # ln -s s/root root # ln -s s/home home # ln -s ../s/usr-local usr/local # ln -s ../s/usr-X11R6 usr/X11R6 # ln -s s/tmp tmp # ln -s s/var var .... + . È questo il momento per fermare le jail: + [source,shell] .... # /etc/rc.d/jail stop .... + . Smontiamo il file system originale: + [source,shell] .... # umount /home/j/ns/s # umount /home/j/ns # umount /home/j/mail/s # umount /home/j/mail # umount /home/j/www/s # umount /home/j/www .... + [NOTE] ====== I sistemi in lettura e scrittura sono attaccati al sistema in sola lettura ([.filename]#/s#) e devono essere smontati. ====== + . Muovi il file system in sola lettura e rimpiazzalo con quello nuovo. Il vecchio file system in sola lettura servirà da backup in caso qualcosa dovesse andare storto. La convenzione dei nomi qui utilizzata corrisponde a quella utilizzata quando fu creato il file system in sola lettura. Muovi la FreeBSD Ports Collection originale nel nuovo file system per risparmiare spazio e inode: + [source,shell] .... # cd /home/j # mv mroot mroot.20060601 # mv mroot2 mroot # mv mroot.20060601/usr/ports mroot/usr .... + . A questo punto il nuovo template in sola lettura è pronto, quindi ci rimare di rimontare il file system e avviare le jail: + [source,shell] .... # mount -a # /etc/rc.d/jail start .... ==== Usa man:jls[8] per verificare che le jail sono state avviate correttamente. Non dimenticare di eseguire mergemaster in ciascuna jail. I file di configurazione dovranno essere aggiornati così come gli script rc.d. diff --git a/documentation/content/it/books/handbook/mirrors/_index.adoc b/documentation/content/it/books/handbook/mirrors/_index.adoc index 1dd1bdb2a8..b1bcc823f1 100644 --- a/documentation/content/it/books/handbook/mirrors/_index.adoc +++ b/documentation/content/it/books/handbook/mirrors/_index.adoc @@ -1,1681 +1,1681 @@ --- title: Appendice A. Ottenere FreeBSD part: Parte V. Appendici prev: books/handbook/partv next: books/handbook/bibliography --- [appendix] [[mirrors]] = Ottenere FreeBSD :doctype: book :icons: font :sectnums: :sectnumlevels: 6 :source-highlighter: rouge :experimental: :skip-front-matter: :toc-title: Indice :table-caption: Tabella :figure-caption: Figura :example-caption: Esempio :xrefstyle: basic :relfileprefix: ../ :outfilesuffix: :sectnumoffset: A include::shared/mirrors.adoc[] include::shared/authors.adoc[] include::shared/releases.adoc[] include::shared/it/mailing-lists.adoc[] include::shared/it/urls.adoc[] [[mirrors-cdrom]] == 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: http://www.compusa.com/ * Frys Electronics + WWW: http://www.frys.com/ === 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: + WWW: http://www.bsdmall.com/freebsd1.html * BSD-Systems + Email: + WWW: http://www.bsd-systems.co.uk * 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: + WWW: http://www.freebsdmall.com/ * Hinner EDV + St. Augustinus-Str. 10 + D-81825 München + Germania + Telefono: (089) 428 419 + WWW: http://www.hinner.de/linux/freebsd.html * Ikarios + 22-24 rue Voltaire + 92000 Nanterre + Francia + WWW: http://ikarios.com/form/#freebsd * JMC Software + Irlanda + Telefono: 353 1 6291282 + WWW: http://www.thelinuxmall.com * Linux CD Mall + Private Bag MBE N348 + Auckland 1030 + Nuova Zelanda + Telefono: +64 21 866529 + WWW: http://www.linuxcdmall.co.nz/ * The Linux Emporium + Hilliard House, Lester Way + Wallingford + OX10 9TA + Regno Unito + Telefono: +44 1491 837010 + Fax: +44 1491 837016 + WWW: http://www.linuxemporium.co.uk/products/freebsd/ * Linux+ DVD Magazine + Lewartowskiego 6 + Warsaw + 00-190 + Polonia + Telefono: +48 22 860 18 18 + Email: + WWW: http://www.lpmagazine.org/ * Linux System Labs Australia + 21 Ray Drive + Balwyn North + VIC - 3104 + Australia + Telefono: +61 3 9857 5918 + Fax: +61 3 9857 8974 + WWW: http://www.lsl.com.au * LinuxCenter.Ru + Galernaya Street, 55 + Saint-Petersburg + 190000 + Russia + Telefono: +7-812-3125208 + Email: + WWW: http://linuxcenter.ru/freebsd === 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: + WWW: http://www.cylogistics.com/ * Ingram Micro + 1600 E. St. Andrew Place + Santa Ana, CA 92705-4926 + Stati Uniti d'America + Telefono: 1 (800) 456-8000 + WWW: http://www.ingrammicro.com/ * Kudzu, LLC + 7375 Washington Ave. S. + Edina, MN 55439 + Stati Uniti d'America + Telefono: +1 952 947-0822 + Fax: +1 952 947-0876 + Email: * LinuxCenter.Ru + Galernaya Street, 55 + Saint-Petersburg + 190000 + Russia + Phone: +7-812-3125208 + Email: + WWW: http://linuxcenter.ru/freebsd * 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: http://www.navarre.com/ [[mirrors-ftp]] == 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 link:ftp://ftp.FreeBSD.org/pub/FreeBSD/[ftp://ftp.FreeBSD.org/pub/FreeBSD/] è 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 http://mirrorlist.FreeBSD.org/[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. <>, <>, <>, <>, <>, <>, <>, <>, <>, <>, <>, <>, <>, <>, <>, <>, <>, <>, <>, <>, <>, <>, <>, <>, <>, <>, <>, <>, <>, <>, <>, <>, <>, <>. (aggiornato al UTC) [[central]] *{central}* {central-ftp} (ftp / ftpv6 / {central-http} / {central-httpv6}) [[primary]] *{mirrors-primary}* In case of problems, please contact the hostmaster `<{mirrors-primary-email}>` for this domain. * {mirrors-primary-ftp1} (ftp) * {mirrors-primary-ftp2} (ftp) * {mirrors-primary-ftp3} (ftp) * {mirrors-primary-ftp4} (ftp / ftpv6 / {mirrors-primary-ftp4-http} / {mirrors-primary-ftp4-httpv6}) * {mirrors-primary-ftp5} (ftp) * {mirrors-primary-ftp6} (ftp) * {mirrors-primary-ftp7} (ftp) * {mirrors-primary-ftp10} (ftp / ftpv6 / {mirrors-primary-ftp10-http} / {mirrors-primary-ftp10-httpv6}) * {mirrors-primary-ftp11} (ftp) * {mirrors-primary-ftp13} (ftp) * {mirrors-primary-ftp14} (ftp / {mirrors-primary-ftp14-http}) [[armenia]] *{mirrors-armenia}* In case of problems, please contact the hostmaster `<{mirrors-armenia-email}>` for this domain. * {mirrors-armenia-ftp} (ftp / {mirrors-armenia-ftp-http} / rsync) [[australia]] *{mirrors-australia}* In case of problems, please contact the hostmaster `<{mirrors-australia-email}>` for this domain. * {mirrors-australia-ftp} (ftp) * {mirrors-australia-ftp2} (ftp) * {mirrors-australia-ftp3} (ftp) [[austria]] *{mirrors-austria}* In case of problems, please contact the hostmaster `<{mirrors-austria-email}>` for this domain. * {mirrors-austria-ftp} (ftp / ftpv6 / {mirrors-austria-ftp-http} / {mirrors-austria-ftp-httpv6}) [[brazil]] *{mirrors-brazil}* In case of problems, please contact the hostmaster `<{mirrors-brazil-email}>` for this domain. * {mirrors-brazil-ftp2} (ftp / {mirrors-brazil-ftp2-http}) * {mirrors-brazil-ftp3} (ftp / rsync) * {mirrors-brazil-ftp4} (ftp) [[czech-republic]] *{mirrors-czech}* In case of problems, please contact the hostmaster `<{mirrors-czech-email}>` for this domain. * {mirrors-czech-ftp} (ftp / {mirrors-czech-ftpv6} / {mirrors-czech-ftp-http} / {mirrors-czech-ftp-httpv6} / rsync / rsyncv6) * {mirrors-czech-ftp2} (ftp / {mirrors-czech-ftp2-http}) [[denmark]] *{mirrors-denmark}* In case of problems, please contact the hostmaster `<{mirrors-denmark-email}>` for this domain. * {mirrors-denmark-ftp} (ftp / ftpv6 / {mirrors-denmark-ftp-http} / {mirrors-denmark-ftp-httpv6}) [[estonia]] *{mirrors-estonia}* In case of problems, please contact the hostmaster `<{mirrors-estonia-email}>` for this domain. * {mirrors-estonia-ftp} (ftp) [[finland]] *{mirrors-finland}* In case of problems, please contact the hostmaster `<{mirrors-finland-email}>` for this domain. * {mirrors-finland-ftp} (ftp) [[france]] *{mirrors-france}* In case of problems, please contact the hostmaster `<{mirrors-france-email}>` for this domain. * {mirrors-france-ftp} (ftp) * {mirrors-france-ftp1} (ftp / {mirrors-france-ftp1-http} / rsync) * {mirrors-france-ftp3} (ftp) * {mirrors-france-ftp5} (ftp) * {mirrors-france-ftp6} (ftp / rsync) * {mirrors-france-ftp7} (ftp) * {mirrors-france-ftp8} (ftp) [[germany]] *{mirrors-germany}* In case of problems, please contact the hostmaster `<{mirrors-germany-email}>` for this domain. * ftp://ftp.de.FreeBSD.org/pub/FreeBSD/ (ftp) * ftp://ftp1.de.FreeBSD.org/freebsd/ (ftp / http://www1.de.FreeBSD.org/freebsd/ / rsync://rsync3.de.FreeBSD.org/freebsd/) * ftp://ftp2.de.FreeBSD.org/pub/FreeBSD/ (ftp / http://ftp2.de.FreeBSD.org/pub/FreeBSD/ / rsync) * ftp://ftp4.de.FreeBSD.org/FreeBSD/ (ftp / http://ftp4.de.FreeBSD.org/pub/FreeBSD/) * ftp://ftp5.de.FreeBSD.org/pub/FreeBSD/ (ftp) * ftp://ftp7.de.FreeBSD.org/pub/FreeBSD/ (ftp / http://ftp7.de.FreeBSD.org/pub/FreeBSD/) * ftp://ftp8.de.FreeBSD.org/pub/FreeBSD/ (ftp) [[greece]] *{mirrors-greece}* In case of problems, please contact the hostmaster `<{mirrors-greece-email}>` for this domain. * {mirrors-greece-ftp} (ftp) * {mirrors-greece-ftp2} (ftp) [[hong-kong]] *{mirrors-hongkong}* {mirrors-hongkong-ftp} (ftp) [[ireland]] *{mirrors-ireland}* In case of problems, please contact the hostmaster `<{mirrors-ireland-email}>` for this domain. * {mirrors-ireland-ftp} (ftp / rsync) [[japan]] *{mirrors-japan}* In case of problems, please contact the hostmaster `<{mirrors-japan-email}>` for this domain. * {mirrors-japan-ftp} (ftp) * {mirrors-japan-ftp2} (ftp) * {mirrors-japan-ftp3} (ftp) * {mirrors-japan-ftp4} (ftp) * {mirrors-japan-ftp5} (ftp) * {mirrors-japan-ftp6} (ftp) * {mirrors-japan-ftp7} (ftp) * {mirrors-japan-ftp8} (ftp) * {mirrors-japan-ftp9} (ftp) [[korea]] *{mirrors-korea}* In case of problems, please contact the hostmaster `<{mirrors-korea-email}>` for this domain. * {mirrors-korea-ftp} (ftp / rsync) * {mirrors-korea-ftp2} (ftp / {mirrors-korea-ftp2-http}) [[latvia]] *{mirrors-latvia}* In case of problems, please contact the hostmaster `<{mirrors-latvia-email}>` for this domain. * {mirrors-latvia-ftp} (ftp / {mirrors-latvia-ftp-http}) [[lithuania]] *{mirrors-lithuania}* In case of problems, please contact the hostmaster `<{mirrors-lithuania-email}>` for this domain. * {mirrors-lithuania-ftp} (ftp / {mirrors-lithuania-ftp-http}) [[netherlands]] *{mirrors-netherlands}* In case of problems, please contact the hostmaster `<{mirrors-netherlands-email}>` for this domain. * {mirrors-netherlands-ftp} (ftp / {mirrors-netherlands-ftp-http} / rsync) * {mirrors-netherlands-ftp2} (ftp) [[new-zealand]] *{mirrors-new-zealand}* * {mirrors-new-zealand-ftp} (ftp / {mirrors-new-zealand-ftp-http}) [[norway]] *{mirrors-norway}* In case of problems, please contact the hostmaster `<{mirrors-norway-email}>` for this domain. * {mirrors-norway-ftp} (ftp / rsync) [[poland]] *{mirrors-poland}* In case of problems, please contact the hostmaster `<{mirrors-poland-email}>` for this domain. * {mirrors-poland-ftp} (ftp) * ftp2.pl.FreeBSD.org [[russia]] *{mirrors-russia}* In case of problems, please contact the hostmaster `<{mirrors-russia-email}>` for this domain. * {mirrors-russia-ftp} (ftp / {mirrors-russia-ftp-http} / rsync) * {mirrors-russia-ftp2} (ftp / {mirrors-russia-ftp2-http} / rsync) * {mirrors-russia-ftp5} (ftp / {mirrors-russia-ftp5-http} / rsync) * {mirrors-russia-ftp6} (ftp) [[saudi-arabia]] *{mirrors-saudi-arabia}* In case of problems, please contact the hostmaster `<{mirrors-saudi-arabia-email}>` for this domain. * {mirrors-saudi-arabia-ftp} (ftp) [[slovenia]] *{mirrors-slovenia}* In case of problems, please contact the hostmaster `<{mirrors-slovenia-email}>` for this domain. * {mirrors-slovenia-ftp} (ftp) [[south-africa]] *{mirrors-south-africa}* In case of problems, please contact the hostmaster `<{mirrors-south-africa-email}>` for this domain. * {mirrors-south-africa-ftp} (ftp) * {mirrors-south-africa-ftp2} (ftp) * {mirrors-south-africa-ftp4} (ftp) [[spain]] *{mirrors-spain}* In case of problems, please contact the hostmaster `<{mirrors-spain-email}>` for this domain. * {mirrors-spain-ftp} (ftp / {mirrors-spain-ftp-http}) * {mirrors-spain-ftp3} (ftp) [[sweden]] *{mirrors-sweden}* In case of problems, please contact the hostmaster `<{mirrors-sweden-email}>` for this domain. * {mirrors-sweden-ftp} (ftp) * {mirrors-sweden-ftp2} (ftp / {mirrors-sweden-ftp2-rsync}) * {mirrors-sweden-ftp3} (ftp) * {mirrors-sweden-ftp4} (ftp / {mirrors-sweden-ftp4v6} / {mirrors-sweden-ftp4-http} / {mirrors-sweden-ftp4-httpv6} / {mirrors-sweden-ftp4-rsync} / {mirrors-sweden-ftp4-rsyncv6}) * {mirrors-sweden-ftp6} (ftp / {mirrors-sweden-ftp6-http}) [[switzerland]] *{mirrors-switzerland}* In case of problems, please contact the hostmaster `<{mirrors-switzerland-email}>` for this domain. * {mirrors-switzerland-ftp} (ftp / {mirrors-switzerland-ftp-http}) [[taiwan]] *{mirrors-taiwan}* In case of problems, please contact the hostmaster `<{mirrors-taiwan-email}>` for this domain. * {mirrors-taiwan-ftp} (ftp / {mirrors-taiwan-ftpv6} / rsync / rsyncv6) * {mirrors-taiwan-ftp2} (ftp / {mirrors-taiwan-ftp2v6} / {mirrors-taiwan-ftp2-http} / {mirrors-taiwan-ftp2-httpv6} / rsync / rsyncv6) * {mirrors-taiwan-ftp4} (ftp) * {mirrors-taiwan-ftp5} (ftp) * {mirrors-taiwan-ftp6} (ftp / {mirrors-taiwan-ftp6v6} / rsync) * {mirrors-taiwan-ftp7} (ftp) * {mirrors-taiwan-ftp8} (ftp) * {mirrors-taiwan-ftp11} (ftp / {mirrors-taiwan-ftp11-http}) * {mirrors-taiwan-ftp12} (ftp) * {mirrors-taiwan-ftp13} (ftp) * {mirrors-taiwan-ftp14} (ftp) * {mirrors-taiwan-ftp15} (ftp) [[ukraine]] *{mirrors-ukraine}* * {mirrors-ukraine-ftp} (ftp / {mirrors-ukraine-ftp-http}) * {mirrors-ukraine-ftp6} (ftp / {mirrors-ukraine-ftp6-http} / {mirrors-ukraine-ftp6-rsync}) * {mirrors-ukraine-ftp7} (ftp) [[uk]] *{mirrors-uk}* In case of problems, please contact the hostmaster `<{mirrors-uk-email}>` for this domain. * {mirrors-uk-ftp} (ftp) * {mirrors-uk-ftp2} (ftp / {mirrors-uk-ftp2-rsync}) * {mirrors-uk-ftp3} (ftp) * {mirrors-uk-ftp4} (ftp) * {mirrors-uk-ftp5} (ftp) [[usa]] *{mirrors-us}* In case of problems, please contact the hostmaster `<{mirrors-us-email}>` for this domain. * {mirrors-us-ftp} (ftp) * {mirrors-us-ftp2} (ftp) * {mirrors-us-ftp3} (ftp) * {mirrors-us-ftp4} (ftp / ftpv6 / {mirrors-us-ftp4-http} / {mirrors-us-ftp4-httpv6}) * {mirrors-us-ftp5} (ftp) * {mirrors-us-ftp6} (ftp) * {mirrors-us-ftp8} (ftp) * {mirrors-us-ftp10} (ftp) * {mirrors-us-ftp11} (ftp) * {mirrors-us-ftp13} (ftp / {mirrors-us-ftp13-http} / rsync) * {mirrors-us-ftp14} (ftp / {mirrors-us-ftp14-http}) * {mirrors-us-ftp15} (ftp) [[anoncvs]] == CVS Anonimo [[anoncvs-intro]] === Introduzione 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. [NOTE] ==== Il comando `cvs login` memorizza le password utilizzate per l'autenticazione con il server CVS in un file chiamato [.filename]#.cvspass# nella tua directory `HOME`. Se questo file non esiste, potresti ricevere un errore alla prima esecuzione di `cvs login`. Crea un file [.filename]#.cvspass# vuoto e riprova il login. ==== Benché si possa dire che i servizi <> 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. [[anoncvs-usage]] === 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) + [.programlisting] .... 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) + [.programlisting] .... 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 (`-r`) 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 `-D date`. 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]): [example] ==== [source,shell] .... % setenv CVSROOT :pserver:anoncvs@anoncvs.jp.FreeBSD.org:/home/ncvs % cvs login Alla richiesta, inserire la password «anoncvs». % cvs co ls .... ==== .Utilizzo di SSH per estrarre il ramo [.filename]#src/#: [example] ==== [source,shell] .... % 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: [example] ==== [source,shell] .... % setenv CVSROOT :pserver:anoncvs@anoncvs.jp.FreeBSD.org:/home/ncvs % cvs login Alla richiesta, inserire la password «anoncvs». % cvs co -rRELENG_6 ls .... ==== .Creazione di una Lista di Cambiamenti (come Diff Unificate) di man:ls[1] [example] ==== [source,shell] .... % setenv CVSROOT :pserver:anoncvs@anoncvs.jp.FreeBSD.org:/home/ncvs % cvs login Alla richiesta, inserire la password «anoncvs». % cvs rdiff -u -rRELENG_5_3_0_RELEASE -rRELENG_5_4_0_RELEASE ls .... ==== .Scoperta di Quali Altri Nomi di Moduli Possono Essere Usati [example] ==== [source,shell] .... % setenv CVSROOT :pserver:anoncvs@anoncvs.jp.FreeBSD.org:/home/ncvs % cvs login Alla richiesta, inserire la password «anoncvs». % cvs co modules % more modules/modules .... ==== === Altre Risorse Le seguenti risorse addizionali possono essere utili nell'apprendimento del CVS: * http://www.csc.calpoly.edu/~dbutler/tutorials/winter96/cvs/[CVS Tutorial] dal Cal Poly. * http://ximbiot.com/cvs/wiki/[CVS Home], la comunità di sviluppo e supporto del CVS. * http://www.FreeBSD.org/cgi/cvsweb.cgi[CVSWeb] è l'interfaccia web di CVS relativa al progetto FreeBSD. [[ctm]] == Uso di 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 link:{ctm-users-url}[ctm-users-desc] per avere più informazioni e nel caso voleste usare CTM per altri scopi. === Perché Dovrei Usare CTM? 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 crossref:cutting-edge[current,Restare in "current" con FreeBSD]. === Cosa Serve per l'Uso di CTM? 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 [.filename]#/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: link:ftp://ftp.FreeBSD.org/pub/FreeBSD/CTM/[ftp://ftp.FreeBSD.org/pub/FreeBSD/CTM/] vedi anche la sezione <>. Entra via FTP nella directory giusta e, da lì, inizia col trasferire il file [.filename]#README#. Se invece desideri ricevere le delta per email: -Iscriviti ad una delle liste di distribuzione di CTM. link:{ctm-cvs-cur-url}[ctm-cvs-cur-desc] supporta l'interno albero CVS. link:{ctm-src-cur-url}[ctm-src-cur-desc] supporta il ramo di sviluppo current. {ctm-src-4} 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 {mailman-lists-url} e clicca sulla lista a cui ti vuoi iscrivere. La pagina della lista dovrebbe contenere tutte le informazioni necessarie per l'iscrizione.) +Iscriviti ad una delle liste di distribuzione di CTM. link:{ctm-cvs-cur-url}[ctm-cvs-cur-desc] supporta l'interno albero CVS. link:{ctm-src-cur-url}[ctm-src-cur-desc] supporta il ramo di sviluppo current. {ctm-src-4} 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 {mailing-lists-url} 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 [.filename]#/etc/aliases#. Esamina la pagina man di `ctm_rmail` per maggiori dettagli. [NOTE] ==== Indipendentemente dal metodo che utilizzi per ricevere le delta di CTM, dovresti iscriverti alla mailing list link:{ctm-announce-url}[ctm-announce-desc]. 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 CTM 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 [.filename]#src-cur.3210XEmpty.gz#). Il nome che segue la lettera `X` corrisponde all'origine del tuo "seme" iniziale. [.filename]#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 [.filename]#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 CTM nella Tua Vita Quotidiana Per applicare le delta, fai come segue: [source,shell] .... # cd /where/ever/you/want/the/stuff # 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 `-c` 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 [.filename]#foo#, esso cerca [.filename]#foo.ctm#. Se questo file esiste, CTM opererà su di esso piuttosto che su [.filename]#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 [.filename]#.ctm#. Quindi puoi liberamente hackerare il codice, e CTM manterrà aggiornato il file [.filename]#.ctm#. === Altre Opzioni Interessanti di CTM ==== Scoprire con Precisione Ciò che Dovrebbe Essere Aggiornato Puoi determinare la lista delle modifiche che CTM apporterà ai tuoi sorgenti usando l'opzione `-l` 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 `-B backup-file`, CTM effettuerà il backup di tutti i file che saranno modificati da una certa delta CTM nel file [.filename]#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` e `-x`. Per esempio, per estrarre una copia aggiornata del file [.filename]#lib/libc/Makefile# dalla tua collezione di delta CTM, esegui i comandi seguenti: [source,shell] .... # cd /dove/vuoi/estrarre/ # ctm -e '^lib/libc/Makefile' ~ctm/src-xxx.* .... Per ogni file specificato in una delta CTM, le opzioni `-e` e `-x` 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` e `-x` ad esso applicate. === Piani Futuri per CTM 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. [[mirrors-ctm]] === Mirror 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 link:{ctm-users-url}[ctm-users-desc]. California, Bay Area, sorgenti ufficiali:: ** link:ftp://ftp.FreeBSD.org/pub/FreeBSD/development/CTM/[ftp://ftp.FreeBSD.org/pub/FreeBSD/development/CTM/] Sudafrica, server di backup per vecchie delta:: ** link:ftp://ftp.za.FreeBSD.org/pub/FreeBSD/CTM/[ftp://ftp.za.FreeBSD.org/pub/FreeBSD/CTM/] Taiwan/R.O.C.:: ** link:ftp://ctm.tw.FreeBSD.org/pub/FreeBSD/development/CTM/[ftp://ctm.tw.FreeBSD.org/pub/FreeBSD/development/CTM/] ** link:ftp://ctm2.tw.FreeBSD.org/pub/FreeBSD/development/CTM/[ftp://ctm2.tw.FreeBSD.org/pub/FreeBSD/development/CTM/] ** link:ftp://ctm3.tw.FreeBSD.org/pub/FreeBSD/development/CTM/[ftp://ctm3.tw.FreeBSD.org/pub/FreeBSD/development/CTM/] Se non trovi un mirror a te vicino o se il mirror è incompleto, prova ad usare qualche motore di ricerca come http://www.alltheweb.com/[alltheweb]. [[cvsup]] == Uso di CVSup [[cvsup-intro]] === 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. [[cvsup-install]] === Installazione Il modo più semplice per installare CVSup è usare il package precompilato package:net/cvsup[] della crossref:ports[ports,collezione dei package] di FreeBSD. Se preferisci costruire CVSup partendo dal sorgente, allora puoi usare il port package:net/cvsup[]. Ma sei avvisato: il port package:net/cvsup[] dipende dal sistema Modula-3, che richiede una consistente quantità di tempo e di spazio su disco per scaricarlo e costruirlo. [NOTE] ==== Se hai intenzione di usare CVSup su una macchina sulla quale non sarà installato XFree86(TM) o Xorg, come su un server, assicurati di usare il port che non include la GUI di CVSup, ossia package:net/cvsup-without-gui[]. ==== [[cvsup-config]] === Configurazione di CVSup Il funzionamento di CVSup è controllato da un file di configurazione chiamato [.filename]#supfile#. Esistono alcuni esempi di [.filename]#supfile# nella directory link:file://localhost/usr/shared/examples/cvsup/[/usr/shared/examples/cvsup/]. Le informazioni contenute in un [.filename]#supfile# rispondono alle seguenti questioni relative a CVSup: * <> * <> * <> * <> * <> Nelle seguenti sezioni, costruiremo un tipico [.filename]#supfile# per rispondere a turno ad ognuna di queste questioni. Incominciamo però col descrivere la struttura globale di un [.filename]#supfile#. Un [.filename]#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 [.filename]#supfile# tipicamente specifica più di un'unica collezione da ricevere. Un modo di strutturare un [.filename]#supfile# è specificare esplicitamente tutti i campi rilevanti per ogni collezione. Tuttavia, ciò tende a creare [.filename]#supfile# troppo lunghi, e ciò è scomodo poichè in un [.filename]#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 [.filename]#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 [.filename]#supfile# per ricevere ed aggiornare l'albero dei sorgenti della crossref:cutting-edge[current,FreeBSD-CURRENT]. * [[cvsup-config-files]]Quali file vuoi ricevere? + I file disponibili via CVSup sono organizzati in gruppi chiamati "collezioni". Le collezioni che sono disponibili sono descritte nella <>. 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 [.filename]#supfile#, dobbiamo semplicemente elencare le collezioni, una per riga (in questo caso, c'è un'unica riga): + [.programlisting] .... src-all .... * [[cvsup-config-vers]]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 `date=`. + [WARNING] ==== 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=.`. + [WARNING] ==== 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 `date=`. La pagina man di man:cvsup[1] spiega come farlo. + Nel nostro esempio, desideriamo ricevere FreeBSD-CURRENT. Aggiungiamo questa riga all'inizio del nostro [.filename]#supfile#: + [.programlisting] .... *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. * [[cvsup-config-where]]Da dove li vuoi prelevare? + Il campo `host=` indica a `cvsup` da dove prelevare i suoi aggiornamenti. Va bene uno qualunque dei <>, 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`: + [.programlisting] .... *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 `-h _hostname_`. * [[cvsup-config-dest]]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, [.filename]#/usr/src#. La directory [.filename]#src# è già implicita nelle collezioni che vogliamo ricevere, quindi la corretta specifica è questa: + [.programlisting] .... *default prefix=/usr .... * [[cvsup-config-status]]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, [.filename]#/var/db#: + [.programlisting] .... *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 [.filename]#supfile#: + C'è un altro settaggio che normalmente deve essere presente in un [.filename]#supfile#: + [.programlisting] .... *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 [.filename]#supfile# completo per il nostro esempio è il seguente: + [.programlisting] .... *default tag=. *default host=cvsup99.FreeBSD.org *default prefix=/usr *default base=/var/db *default release=cvs delete use-rel-suffix compress src-all .... [[cvsup-refuse-file]] ==== Il File [.filename]#refuse# 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 [.filename]#doc#, [.filename]#ports#, o [.filename]#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 [.filename]#doc# e [.filename]#www# non hanno collezioni per specifiche lingue, devi usare una delle molte abili caratteristiche di CVSup: il file [.filename]#refuse#. Il file [.filename]#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 [.filename]#refuse# può essere trovato (o, se non ne hai ancora uno, dovrebbe essere messo) in [.filename]#base/sup/#. _base_ è definita nel tuo [.filename]#supfile#; la nostra _base_ è [.filename]#/var/db#, e quindi di default il file [.filename]#refuse# è [.filename]#/var/db/sup/refuse#. Il file [.filename]#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 [.filename]#refuse#: [source,shell] .... 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 http://www.FreeBSD.org/cgi/cvsweb.cgi/[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 [.filename]#refuse# e su altre utili caratteristiche di CVSup, guarda la sua pagina man. === Eseguire CVSup Sei ora pronto per provare un aggiornamento. La riga di comando per farlo è molto semplice: [source,shell] .... # cvsup supfile .... dove [.filename]#supfile# è naturalmente il nome del [.filename]#supfile# che hai creato. Assumendo che stai lavorando sotto X11, `cvsup` visualizzarà una GUI con alcuni bottoni adibiti ad operazioni usuali. Premi il bottone btn:[go], e stai a guardare l'esecuzione. Poichè in questo esempio stai aggiornando il tuo albero dei sorgenti [.filename]#/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: [source,shell] .... # mkdir /var/tmp/dest # 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 [.filename]#/usr/src#, ma non modificherà o cencellerà alcuno di essi. Gli aggiornamenti dei file finiranno invece in [.filename]#/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 [.filename]#/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`: [source,shell] .... # cvsup -g -L 2 supfile .... L'opzione `-g` 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 `-L 2` indica a CVSup di visualizzare i dettagli di tutti gli aggiornamenti dei file che avvengono. Esistono tre livelli di verbosità, da `-L 0` a `-L 2`. 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]. [[cvsup-collec]] === Collezioni di File di CVSup 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. + [IMPORTANT] ==== 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. ==== + [IMPORTANT] ==== Se hai intenzione di creare localmente una copia di [.filename]#ports/INDEX#, _devi_ includere `ports-all` (l'intero albero dei port). Costruire [.filename]#ports/INDEX# con un albero non completo non è supportato. Consulta la link:{faq}#make-index[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 [.filename]#Mk/# e [.filename]#Tools/# della directory [.filename]#/usr/ports#. + [NOTE] ==== Per favore vedi l'<>: 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(TM). `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(TM). `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 [.filename]#/usr/src#. `src-bin release=cvs`:::: Utility per l'utente in ambiente mono-utente ([.filename]#/usr/src/bin#). `src-contrib release=cvs`:::: Utility e librerie al di fuori del progetto FreeBSD, sostanzialmente utilizzati senza modifiche ([.filename]#/usr/src/contrib#). `src-crypto release=cvs`:::: Utility e librerie per la crittografia al di fuori del progetto FreeBSD, sostanzialmente utilizzati senza modifiche ([.filename]#/usr/src/crypto#). `src-eBones release=cvs`:::: Kerberos e DES ([.filename]#/usr/src/eBones#). Non usati nell'attuale release di FreeBSD. `src-etc release=cvs`:::: File di configurazione del sistema ([.filename]#/usr/src/etc#). `src-games release=cvs`:::: Giochi ([.filename]#/usr/src/games#). `src-gnu release=cvs`:::: Utility protette dalla licenza pubblica di GNU ([.filename]#/usr/src/gnu#). `src-include release=cvs`:::: File header ([.filename]#/usr/src/include#). `src-kerberos5 release=cvs`:::: Pacchetto di sicurezza Kerberos5 ([.filename]#/usr/src/kerberos5#). `src-kerberosIV release=cvs`:::: Pacchetto di sicurezza KerberosIV ([.filename]#/usr/src/kerberosIV#). `src-lib release=cvs`:::: Librerie ([.filename]#/usr/src/lib#). `src-libexec release=cvs`:::: Programmi di sistema normalmente eseguiti da altri programmi ([.filename]#/usr/src/libexec#). `src-release release=cvs`:::: File richiesti per produrre una release di FreeBSD ([.filename]#/usr/src/release#). `src-sbin release=cvs`:::: Utility di sistema per la modalità mono-utente ([.filename]#/usr/src/sbin#). `src-secure release=cvs`:::: Librerie e comandi per la crittografia ([.filename]#/usr/src/secure#). `src-share release=cvs`:::: File che possono essere condivisi tra sistemi multipli ([.filename]#/usr/src/share#). `src-sys release=cvs`:::: Il kernel ([.filename]#/usr/src/sys#). `src-sys-crypto release=cvs`:::: Codice di crittografia del kernel ([.filename]#/usr/src/sys/crypto#). `src-tools release=cvs`:::: Vari strumenti per il mantenimento di FreeBSD ([.filename]#/usr/src/tools#). `src-usrbin release=cvs`:::: Utility per l'utente ([.filename]#/usr/src/usr.bin#). `src-usrsbin release=cvs`:::: Utility di sistema ([.filename]#/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 http://www.polstra.com/projects/freeware/CVSup/[la pagina home di CVSup]. La maggior parte delle discussioni su CVSup inerenti a FreeBSD si svolgono sulla {freebsd-hackers}. In questa mailling list inoltre sono anche annunciate nuove versioni del software, come pure sulla {freebsd-announce}. Questioni e resoconti di bug dovrebbero essere indirizzati all'autore del programma mailto:cvsup-bugs@polstra.com[cvsup-bugs@polstra.com]. [[cvsup-mirrors]] === Siti CVSup I server <> per FreeBSD si trovano ai seguenti siti: [[portsnap]] == Usare Portsnap [[portsnap-intro]] === Introduzione Portsnap è un sistema per distribuire in modo sicuro l'albero dei port di FreeBSD. 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 [.filename]#/usr/ports/#; invece, lavora con una copia compressa dell'albero dei port memorizzata di default in [.filename]#/var/db/portsnap/#. Questa copia compressa viene quindi usata per aggiornare l'albero dei port effettivo. [NOTE] ==== Se Portsnap è installato dalla collezione dei port di FreeBSD, la locazione di default per la sua snapshot compressa è [.filename]#/usr/local/portsnap/# invece di [.filename]#/var/db/portsnap/#. ==== [[portsnap-install]] === Instalazione Su FreeBSD 6.0 e versioni più recenti, Portsnap è contenuto nel sistema base. Su versioni di FreeBSD più datate, può essere installato usando il port package:sysutils/portsnap[]. [[portsnap-config]] === Configurazione di Portsnap Il funzionamento di Portsnap è controllato dal file di configurazione [.filename]#/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]. [NOTE] ==== Se Portsnap è installato dalla collezione dei port di FreeBSD, userà il file di configurazione posto in [.filename]#/usr/local/etc/portsnap.conf# invece di [.filename]#/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: [source,shell] .... # cd /usr/local/etc && cp portsnap.conf.sample portsnap.conf .... ==== === Eseguire Portsnap 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 [.filename]#/var/db/portsnap/# (o [.filename]#/usr/local/portsnap/# se Portsnap è stato installato dalla collezione dei port). Dall'inizio del 2006 la sua dimensione è di circa 41 MB. [source,shell] .... # portsnap fetch .... Una volta che la snapshot compressa è stata scaricata, una copia dell'albero dei port può estratta in [.filename]#/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. [source,shell] .... # portsnap extract .... [NOTE] ==== Nell'installazione di default la directory [.filename]#/usr/ports# non viene creata. Se usi FreeBSD 6.0-RELEASE, la directory dovrebbe essere creata prima di usare `portsnap`. Su versioni di FreeBSD 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 [.filename]#/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. [source,shell] .... # portsnap fetch update .... [NOTE] ==== Alcune versioni vecchie di `portsnap` non supportano questa sintassi; se fallisce, prova in questo modo: [source,shell] .... # portsnap fetch # 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 [.filename]#INDEX# dei port, e può essere fatto passando il flag `-I` a `portsnap`. (Ovviamente, se `portsnap -I update` viene eseguito da `cron`, sarà necessario eseguire successivamnte `portsnap update` senza la flag `-I` al fine di aggiornare il resto dell'albero.) Aggiungendo la riga seguente in [.filename]#/etc/crontab#, `portsnap` aggiornerà la snapshot compressa e i file [.filename]#INDEX# in [.filename]#/usr/ports/#, e manderà una email se qualche port installato non è aggiornato: [.programlisting] .... 0 3 * * * root portsnap -I cron update pkg_version -vIL= .... [NOTE] ==== 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. ==== [NOTE] ==== 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`. ==== [[cvs-tags]] == 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 FreeBSD, 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 [.filename]#src/#. Gli alberi [.filename]#ports/#, [.filename]#doc/#, e [.filename]#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 `.`. + [NOTE] ==== 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 FreeBSD è stata rilasciata. Il processo di release engineering è documentato in dettaglio dai documenti link:https://www.FreeBSD.org/releng/[Release Engineering Information] e link:{releng}#release-proc/[Release Process]. L'albero [.filename]#src# usa nomi di tag che iniziano con `RELENG_`. Gli alberi [.filename]#ports# e [.filename]#doc# usano tag il cui nome inizia con `RELEASE`. Infine, l'albero [.filename]#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 [[mirrors-afs]] == Siti AFS I server AFS per FreeBSD sono in esecuzione nei seguenti siti: Svezia:: Il percorso dei file è: [.filename]#/afs/stacken.kth.se/ftp/pub/FreeBSD/# + [.programlisting] .... 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 mailto:ftp@stacken.kth.se[ftp@stacken.kth.se] [[mirrors-rsync]] == 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 package: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/documentation/content/ja/books/handbook/cutting-edge/_index.adoc b/documentation/content/ja/books/handbook/cutting-edge/_index.adoc index 18f77315e1..8d924451d4 100644 --- a/documentation/content/ja/books/handbook/cutting-edge/_index.adoc +++ b/documentation/content/ja/books/handbook/cutting-edge/_index.adoc @@ -1,1085 +1,1085 @@ --- title: 第17章 FreeBSD のアップデートとアップグレード part: パートIII. システム管理 prev: books/handbook/l10n next: books/handbook/partiv description: freebsd-update もしくは Git を使った FreeBSD システムを最新の状態に更新する方法、ベースシステム全体を再構築しインストールする方法などの説明 tags: ["updating", "upgrading", "documentation", "FreeBSD-STABLE", "FreeBSD-CURRENT", "Security Patches"] --- [[updating-upgrading]] = FreeBSD のアップデートとアップグレード :doctype: book :toc: macro :toclevels: 1 :icons: font :sectnums: :sectnumlevels: 6 :source-highlighter: rouge :experimental: :skip-front-matter: :toc-title: 目次 :table-caption: 表 :figure-caption: 図 :example-caption: 例 :xrefstyle: basic :relfileprefix: ../ :outfilesuffix: :sectnumoffset: 17 ifeval::["{backend}" == "html5"] :imagesdir: ../../../images/books/handbook/cutting-edge/ endif::[] ifeval::["{backend}" == "pdf"] :imagesdir: ../../../../static/images/books/handbook/cutting-edge/ endif::[] ifeval::["{backend}" == "epub3"] :imagesdir: ../../../../static/images/books/handbook/cutting-edge/ endif::[] include::shared/authors.adoc[] include::shared/releases.adoc[] include::shared/ja/mailing-lists.adoc[] include::shared/ja/teams.adoc[] include::shared/ja/urls.adoc[] toc::[] [[updating-upgrading-synopsis]] == この章では あるリリースから次のリリースまでの期間にも、 FreeBSD の開発は休みなく続けられています。 最新の開発ツリーと同期することを好む人がいる一方で、公式のリリース版を好んで使う方もいます。 しかしながら、公式のリリースといえども、 セキュリティや他の重要な修正のため、時にはアップデートが行われます。 使用しているバージョンに関わらず、FreeBSD は手元のシステムを最新の開発ツリーと同期するために必要なツールをすべて用意しているので、これらのツールを使ってバージョンのアップグレードを簡単に行うことができます。 この章では、開発ブランチを追いかける方法、および、FreeBSD システムをアップデートする基本的なツールについて解説します。 この章を読んで分かるのは: * freebsd-update もしくは Git を使った FreeBSD システムの更新方法 * インストールされているシステムと、変更が行われていない状態との比較方法。 * Git またはドキュメント用の ports を使って、 インストールされているドキュメントを最新版にアップデートする方法。 * 2 つの開発ブランチ、FreeBSD-STABLE と FreeBSD-CURRENT の違い * ベースシステム全体を再構築しインストールする方法 この章を読む前に、以下の準備をしましょう。 * ネットワーク接続の適切な設定 (crossref:advanced-networking[advanced-networking,高度なネットワーク]) * サードパーティ製のソフトウェアのインストール方法の習得 (crossref:ports[ports,アプリケーションのインストール - packages と ports]) [NOTE] ==== この章を通じて、FreeBSD のソースコードのダウンロードやアップデートに `git` が使われています。 必要に応じて package:devel/git[] port または package が使われることもあります。 ==== [[updating-upgrading-freebsdupdate]] == FreeBSD Update すみやかにセキュリティパッチを適用し、 オペレーティングシステムをアップグレードして、 最新のリリースに保つことは、システム管理における重要な側面です。 これらの処理を行うために FreeBSD には `freebsd-update` と呼ばれるユーティリティが用意されています。 このユーティリティを用いると、FreeBSD のセキュリティおよび eratta アップデートをバイナリによって行うことができます。 手動でパッチもしくは新しいカーネルをコンパイルし、インストールする必要はありません。 バイナリアップデートは、セキュリティチームがサポートしているすべてのアーキテクチャとリリースで利用できます。 https://www.FreeBSD.org/ja/security/[https://www.FreeBSD.org/ja/security/] には、サポートが行われているリリースや保守終了予定日の一覧があります。 このユーティリティは、マイナーリリースであったり、他のリリースブランチへのアップグレードにも対応しています。 新しいリリースにアップデートする前に、アップデートしようとしているリリースのアナウンスに目を通し、重要な情報がないかどうかを確認してください。 リリースのアナウンスは https://www.FreeBSD.org/ja/releases/[https://www.FreeBSD.org/ja/releases/] で確認できます。 [NOTE] ==== もし `crontab` の中に man:freebsd-update[8] の機能が含まれていたら、 オペレーティングシステムのアップグレード作業を終えるまでは無効にしてください。 ==== この節では、`freebsd-update` で使われる設定ファイルの説明、 セキュリティパッチの適応方法のデモンストレーション、 オペレーティングシステムをアップグレードする際に考慮すべき点について説明します。 [[freebsdupdate-config-file]] === 設定ファイル `freebsd-update` のデフォルトの設定ファイルは、そのままでも用いることができます。 [.filename]#/etc/freebsd-update.conf# の設定をデフォルトからきめ細かく調整して、 アップデートプロセスを制御するユーザもいます。 利用可能なオプションについてはこのファイルのコメントで説明されていますが、以下の項目については補足が必要でしょう。 [.programlisting] .... # Components of the base system which should be kept updated. Components world kernel .... このパラメータは、FreeBSD のどの部分を最新に維持するかを設定します。 デフォルトでは、ベースシステム全体、そしてカーネルをアップデートします。 `src/base` や `src/sys` のように、個々の項目を指定することもできます。 この部分についてはデフォルトのままにしておき、アップデートする項目をユーザがリストに加える形にするのがベストでしょう。 ソースコードとバイナリが同期していないと、長い年月の間に悲惨な結果がもたらされる可能性があります。 [.programlisting] .... # Paths which start with anything matching an entry in an IgnorePaths # statement will be ignored. IgnorePaths /boot/kernel/linker.hints .... [.filename]#/bin# や [.filename]#/sbin# 等の特定のディレクトリをアップデートで変更しないように、これらのパスを追加してください。 このオプションは、ローカルの変更点を `freebsd-update` が上書きすることを防ぐ目的にも利用できます。 [.programlisting] .... # Paths which start with anything matching an entry in an UpdateIfUnmodified # statement will only be updated if the contents of the file have not been # modified by the user (unless changes are merged; see below). UpdateIfUnmodified /etc/ /var/ /root/ /.cshrc /.profile .... このオプションは、指定したディレクトリにある設定ファイルを、ローカルで変更されていない場合のみアップデートします。 ユーザがこれらのファイルを変更していると、変更されたファイルの自動アップデートは行われません。 他に、`KeepModifiedMetadata` という別のオプションが存在します。 このオプションは、`freebsd-update` がマージ中に変更点を保存するようにします。 [.programlisting] .... # When upgrading to a new FreeBSD release, files which match MergeChanges # will have any local changes merged into the version from the new release. MergeChanges /etc/ /var/named/etc/ /boot/device.hints .... `freebsd-update` がマージすべきファイルが存在するディレクトリの一覧です。 ファイルのマージのプロセスは、man:mergemaster[8] と同様 man:diff[1] パッチの連続ですが、選択肢は少なく、マージを承認するか、エディタを起動するか、`freebsd-update` を中断するかどうかを選んでください。 もし、心配な点があれば、[.filename]#/etc# をバックアップしてからマージを承認してください。 `mergemaster` の詳細な情報については、man:mergemaster[8] で確認してください。 [.programlisting] .... # Directory in which to store downloaded updates and temporary # files used by FreeBSD Update. # WorkDir /var/db/freebsd-update .... ここではすべてのパッチや一次ファイルを置くディレクトリを指定しています。 バージョンをアップグレードするのであれば、この場所には少なくともギガバイトの空き容量が必要です。 [.programlisting] .... # When upgrading between releases, should the list of Components be # read strictly (StrictComponents yes) or merely as a list of components # which *might* be installed of which FreeBSD Update should figure out # which actually are installed and upgrade those (StrictComponents no)? # StrictComponents no .... このオプションを `yes` に設定すると、`freebsd-update` は `Components` のリストが完全に正しいと判断し、このリスト以外の変更点については取り扱いません。 `freebsd-update` は、効率的に `Components` リストに属するファイルをアップデートします。 [[freebsdupdate-security-patches]] === セキュリティパッチの適用 FreeBSD のセキュリティパッチを適用する過程は簡単になりました。 管理者は `freebsd-update` を使うことで、 システムを完全にパッチがあたった状態に保つ事ができます。 FreeBSD セキュリティ勧告の詳細については、crossref:security[security-advisories,FreeBSD セキュリティ勧告] の節で説明されています。 以下のコマンドを実行すると、FreeBSD のセキュリティパッチがダウンロードされ、インストールされます。 最初のコマンドは、未対応のパッチがあるかどうかを調べます。 もし未対応のパッチがある場合には、パッチが当てられた際に変更されるファイルのリストが作成されます。 2 番目のコマンドはパッチを適用します。 [source,shell] .... # freebsd-update fetch # freebsd-update install .... アップデートによってカーネルにパッチが当たった場合には、パッチが当たったカーネルで起動するように、システムを再起動する必要があります。 もし、実行中のバイナリにパッチが当てられた場合には、パッチの当てられたバージョンのバイナリが使われるように、影響のあるアプリケーションを再起動する必要があります。 [NOTE] ==== 通常、ユーザはシステムを再起動する必要があります。 カーネルアップデートで再起動が必要かどうかを知るには、`freebsd-version -k` と `uname -r` を実行してください。 これら 2 つのコマンドの結果が異なる場合には、再起動が必要です。 ==== 毎日一度アップデートがないかどうかを自動的に確認するように設定するには、 以下のエントリを [.filename]#/etc/crontab# に追加してください。 [.programlisting] .... @daily root freebsd-update cron .... パッチが存在すると、自動的にダウンロードされますが、適用はされません。 ``root``宛てにメールで、ダウンロードされたパッチを確認し、`freebsd-update install` とともに手動でインストールする必要のあることが通知されます。 うまく行かなかった場合には、`freebsd-update` を以下のように実行すると、最後の変更までロールバックできます。 [source,shell] .... # freebsd-update rollback Uninstalling updates... done. .... カーネルまたはカーネルモジュールがアップデートされた場合には、 完了後にもう一度システムを再起動して、 影響のあったバイナリを再起動してください。 `freebsd-update` ユーティリティが自動的にアップデートするカーネルは [.filename]#GENERIC# のみです。 カスタムカーネルをインストールしている場合には、`freebsd-update` によりインストールした後、カーネルを再構築し、もう一度インストールする必要があります。 デフォルトのカーネルの名前は _GENERIC_ です。 man:uname[1] コマンドを使ってインストールされているかどうかを確認できます。 [NOTE] ==== [.filename]#GENERIC# カーネルを、常に [.filename]#/boot/GENERIC# に置いておいてください。 さまざまな問題を解決する際や、バージョンをアップグレードする際に助けとなります。 [.filename]#GENERIC# カーネルを用意する方法については、<> を参照してください。 ==== [.filename]#/etc/freebsd-update.conf# のデフォルトの設定を変更しない限り、`freebsd-update` は、他の更新と共にカーネルソースをアップデートします。 新しいカスタムカーネルの再構築と再インストールは、通常通り行うことができます。 `freebsd-update` は、常にカーネルをアップデートするとは限りません。 `freebsd-update install` によってカーネルソースが変更されなかった場合には、カスタムカーネルを再構築する必要はありません。 しかしながら `freebsd-update` は、[.filename]#/usr/src/sys/conf/newvers.sh# を常にアップデートします。 これは、現在のシステムのパッチレベルを `uname -r` が `-p` で表示する時にこのファイルが参照されます。 そのため、何も変更されていない場合でも、カスタムカーネルを再構築することにより、`uname` がシステムの正確なパッチレベルを報告するようになります。 各システムにインストールされているアップデートをすばやく把握できるようになるので、特に複数のシステムを管理するときに助けとなります。 [[freebsdupdate-upgrade]] === メジャーおよびマイナーバージョンのアップグレードを行う FreeBSD のマイナーバージョン間のアップグレード、たとえば、FreeBSD 9.0 から FreeBSD 9.1 へのアップグレードは、_マイナーバージョン_ アップグレードと呼ばれます。 _メジャーバージョン_ アップグレードは、FreeBSD 9.X から FreeBSD 10.X へのアップグレードといった、FreeBSD のメジャーバージョンが変わるようなアップグレードのことです。 どちらもアップグレードも、`freebsd-update` にリリース番号のターゲットを指定する事で実行できます。 [NOTE] ==== カスタムカーネルを使っているシステムでは、アップグレードを行う前に [.filename]#GENERIC# カーネルが、[.filename]#/boot/GENERIC# に置かれている事を確認してください。 [.filename]#GENERIC# カーネルを用意する方法については、<> を参照してください。 ==== 以下のコマンドを実行すると、FreeBSD 9.0 のシステムを FreeBSD 9.1 にアップグレードします。 [source,shell] .... # freebsd-update -r 9.1-RELEASE upgrade .... コマンドを実行すると、`freebsd-update` は設定ファイルと現在のシステムを評価し、 アップデートするために必要な情報を収集します。 画面には、どのコンポーネントが認識され、どのコンポーネントが認識されていないといったリストが表示されます。 たとえば以下のように表示されます。 [source,shell] .... Looking up update.FreeBSD.org mirrors... 1 mirrors found. Fetching metadata signature for 9.0-RELEASE from update1.FreeBSD.org... done. Fetching metadata index... done. Inspecting system... done. The following components of FreeBSD seem to be installed: kernel/smp src/base src/bin src/contrib src/crypto src/etc src/games src/gnu src/include src/krb5 src/lib src/libexec src/release src/rescue src/sbin src/secure src/share src/sys src/tools src/ubin src/usbin world/base world/info world/lib32 world/manpages The following components of FreeBSD do not seem to be installed: kernel/generic world/catpages world/dict world/doc world/games world/proflibs Does this look reasonable (y/n)? y .... ここで、`freebsd-update` はアップグレードに必要なすべてのファイルをダウンロードします。 何をインストールし、どのように進むかといった質問をされることもあります。 カスタムカーネルを使っていると、上記のステップで以下のような警告が表示されます。 [source,shell] .... WARNING: This system is running a "MYKERNEL" kernel, which is not a kernel configuration distributed as part of FreeBSD 9.0-RELEASE. This kernel will not be updated: you MUST update the kernel manually before running "/usr/sbin/freebsd-update install" .... この時点ではこの警告を無視してもかまいません。 アップデートされた [.filename]#GENERIC# カーネルは、アップグレードプロセスの途中で利用されます。 すべてのパッチがローカルシステムへダウンロードされたら、次にパッチが適用されます。 このプロセスには時間がかかります。 この時間はコンピュータの性能とワークロードに依存します。 その後、設定ファイルがマージされます。 このプロセスでは、ユーザはファイルをマージするか、画面上にエディタを立ち上げて手動でマージするかを尋ねられます。 プロセスが進むごとに、成功したマージのすべての結果の情報がユーザに示されます。 マージに失敗したり、無視した場合には、プロセスが中断します。 ユーザによっては [.filename]#/etc# のバックアップを取り、[.filename]#master.passwd# や [.filename]#group# のような重要なファイルを後で手動でマージする方もいます。 [NOTE] ==== すべてのパッチは別のディレクトリでマージされており、まだ、システムには反映されていません。 すべてのパッチが正しく適用され、すべての設定ファイルがマージされてプロセスがスムーズに進んだら、ユーザは以下のコマンドを用いて、変更点をディスクに反映してください。 [source,shell] .... # freebsd-update install .... ==== パッチは最初にカーネルとカーネルモジュールに対して当てられます。 システムがカスタムカーネルを実行している場合には、man:nextboot[8] を使って次回の再起動時のカーネルを、アップデートされた [.filename]#/boot/GENERIC# に設定してください。 [source,shell] .... # nextboot -k GENERIC .... [WARNING] ==== [.filename]#GENERIC# カーネルで再起動する前に、カーネルにシステムが適切に起動するために必要なすべてのドライバが含まれていること、もしアップデートしているコンピュータがリモートでアクセスしているのであれば、ネットワーク接続に必要なすべてのドライバも含まれていることを確認してください。 特に、これまで実行しているカスタムカーネルが、カーネルモジュールとして提供されているビルドインの機能を含んでいるのであれば、これらのモジュールを一時的に [.filename]#/boot/loader.conf# の機能を用いて、[.filename]#GENERIC# に読み込んでください。 アップグレードプロセスが終わるまでは、重要ではないサービスを無効にするとともに、必要のないディスクやネットワークのマウントなども避けることが推奨されています。 ==== アップデートされたカーネルでコンピュータを再起動してください。 [source,shell] .... # shutdown -r now .... システムがオンラインに戻ったら、以下のコマンドを使って `freebsd-update` を再び実行してください。 アップデートプロセスの状態は保存されているので、`freebsd-update` を実行すると、最初からではなく、次のステップに進み、古い共有ライブラリとオブジェクトファイルを削除します。 [source,shell] .... # freebsd-update install .... [NOTE] ==== 使用しているライブラリのバージョン番号の付けられ方によって、 3 つのインストールフェーズが 2 つになる場合もあります。 ==== アップグレードはこれで終了です。 もしメジャーアップグレードを行った場合には、<> で説明されているようにすべての ports および package を再構築してください。 [[freebsd-update-custom-kernel-9x]] ==== FreeBSD 9.X 以降のシステムにおけるカスタムカーネル `freebsd-update` を使う前に、[.filename]#GENERIC# カーネルが [.filename]#/boot/GENERIC# に置かれていることを確認してください。 ただ一度だけカスタムカーネルを構築したのであれば、[.filename]#/boot/kernel.old# は [.filename]#GENERIC# カーネルそのものです。 このディレクトリの名前を [.filename]#/boot/GENERIC# へと変更してください。 もし、2 回以上カスタムカーネルを構築した後であったり、カスタムカーネルを構築した回数がわからなければ、現在のオペレーティングシステムのバージョンの [.filename]#GENERIC# カーネルを入手してください。 コンピュータへの物理的なアクセスが可能であれば、インストールメディアから [.filename]#GENERIC# カーネルをインストールできます。 [source,shell] .... # mount /cdrom # cd /cdrom/usr/freebsd-dist # tar -C/ -xvf kernel.txz boot/kernel/kernel .... 別な方法としては、 [.filename]#GENERIC# カーネルをソースから再構築して、 インストールしてください。 [source,shell] .... # cd /usr/src # make kernel __MAKE_CONF=/dev/null SRCCONF=/dev/null .... `freebsd-update` がこのカーネルを [.filename]#GENERIC# カーネルとして認識するために、[.filename]#GENERIC# コンフィグレーションファイルは、とにかく変更してはいけません。 また、特別なオプションを指定しないで構築してください。 `freebsd-update` は、[.filename]#/boot/GENERIC# が存在する事だけを必要とするので、[.filename]#GENERIC# カーネルで再起動する必要はありません。 [[freebsdupdate-portsrebuild]] ==== メジャーバージョンアップグレード後の package のアップグレード 一般的に、マイナーバージョンアップグレードの後では、インストールされているアプリケーションは、問題なく動作するでしょう。 メジャーバージョンが異なるとアプリケーションバイナリーインタフェース (ABI) が異なるため、サードパーティ製のアプリケーションの多くは動作しなくなるでしょう。 メジャーバージョンアップグレード後には、インストールされているすべての packages, ports をアップグレードする必要があります。 package は、`pkg upgrade` を使ってアップグレードできます。 インストールされている ports をアップグレードする場合には、package:ports-mgmt/portmaster[] といったユーティリティを使ってください。 すべての package の強制的なアップグレードでは、バージョン番号が上がらない package に対しても、リポジトリから最新のバージョンで、インストールされている package を置き換えます。 FreeBSD のメージャーバージョンが変わるようなアップグレードでは、ABI のバージョンも変わるため、このようなアップグレードが必要になります。 強制的なアップグレードを行うには、以下のように実行してください。 [source,shell] .... # pkg-static upgrade -f .... インストールされているすべてのアプリケーションを再構築するには、以下のコマンドを実行してください。 [source,shell] .... # portmaster -af .... このコマンドを実行すると、設定を変更するオプションを持つアプリケーションは、設定変更のスクリーンを表示し、ユーザからの指示待ちの状態で停止します。 この振る舞いをやめ、デフォルトのオプションを使用するには、上記のコマンドに `-G` を含めてください。 ソフトウェアのアップグレードが終わったら、最後にもう一度 `freebsd-update` を実行して、すべてのアップグレードプロセスのやり残し作業を行い、アップグレードのプロセスを完了してください。 [source,shell] .... # freebsd-update install .... [.filename]#GENERIC# カーネルを一時的に読み込んでいたのであれば、crossref:kernelconfig[kernelconfig,FreeBSD カーネルのコンフィグレーション] に書かれている手順に従って、新しいカスタムを構築し、インストールしてください。 コンピュータを再起動し、新しい FreeBSD を立ち上げてください。 これでアップグレードのプロセスは完了です。 [[freebsdupdate-system-comparison]] === システムの状態の比較 `freebsd-update` を用いて、インストールされている FreeBSD の状態と、正しく動作することが分かっている状態とを比較できます。 このコマンドは、現在のシステムのユーティリティ、ライブラリ、設定ファイルを評価するので、組み込みの侵入検知システム (IDS) として使うことができます。 [WARNING] ==== このコマンドは、package:security/snort[] のような本当の IDS の置き換えになるものではありません。 `freebsd-update` はデータをディスクに保存するので、不正な変更が行われる可能性があります。 `kern.securelevel` と、`freebsd-update` のデータを使用しないときに、読み取りのみの許可属性に設定されているファイルシステムに置くことで、不正な変更の可能性を低くできますが、よりよい解決方法は、DVD または安全に保存されている外部 USB ディスクのような安全なディスクとシステムを比較することです。 組み込まれているユーティリティを用いた、別の方法による IDS 機能については、crossref:security[security-ids,FreeBSD バイナリによる検出] の節をご覧ください。 ==== 比較を行うには、 結果の出力先のファイル名を指定してください。 [source,shell] .... # freebsd-update IDS >> outfile.ids .... システムは検査され、リリースファイルの SHA256 ハッシュ値と現在インストールされているファイルのハッシュ値がファイルの一覧と共に、指定した出力先のファイルに送られます。 これらの行は極めて長いのですが、出力形式は簡単にすぐに解析できます。 たとえば、これらのリリースで異なっているすべてのファイルを知りたいのであれば、以下のコマンドを実行してください。 [source,shell] .... # cat outfile.ids | awk '{ print $1 }' | more /etc/master.passwd /etc/motd /etc/passwd /etc/pf.conf .... 上の表示例では出力は切り捨てられており、実際にはもっと多くのファイルが存在します。 これらのファイルには、運用中に変更されるファイルがあります。 たとえば、[.filename]#/etc/passwd# はユーザがシステムに追加されると変更されます。 また、カーネルモジュールは、`freebsd-update` によりアップデートされるため、変更されます。 このような特別なファイルやディレクトリを除外するには、それらを [.filename]#/etc/freebsd-update.conf# の `IDSIgnorePaths` オプションに追加してください。 [[updating-upgrading-documentation]] == ドキュメントのアップデート ドキュメントは、FreeBSD オペレーティングシステムの必須要素です。 FreeBSD ドキュメントの最新バージョンは、FreeBSD ウェブサイト (link:https://docs.FreeBSD.org/[Documentation Portal]) から入手できますが、 FreeBSD ウェブサイト、ハンドブック、FAQ および文書の最新版をローカルに用意しておくと便利です。 この章では、ソースまたは Ports Collection を使って、ローカルの FreeBSD ドキュメントを最新に保つ方法を説明します。 ドキュメントを編集したり、ドキュメントの誤りを報告する方法については、新しい貢献者のための FreeBSD ドキュメンテーションプロジェクト入門 (link:{fdp-primer}[FreeBSD Documentation Project Primer]) をご覧ください。 [[updating-installed-documentation]] === ソースから FreeBSD ドキュメントをインストールする ソースから FreeBSD ドキュメントを構築するのに必要なツールは、FreeBSD のベースシステムには含まれていません。 必要なツールは、新しい貢献者のための FreeBSD ドキュメンテーションプロジェクト入門で link:{fdp-primer}#overview-quick-start[説明されているステップ] に従ってインストールしてください。 インストールしたら、git を使って、ドキュメントのソースをダウンロードしてください。 [source,shell] .... # git clone https://git.FreeBSD.org/doc.git /usr/doc .... 最初にドキュメントのソースをダウンロードするには少し時間がかかります。 ダウンロードが終わるまでお待ちください。 ダウンロードしたドキュメントのソースをアップデートするには、 以下のコマンドを実行してください。 [source,shell] .... # git pull .... 最新のドキュメントのソースのスナップショットを [.filename]#/usr/doc# に用意できたら、インストールされているドキュメントをアップデートする準備はすべて整いました。 ドキュメントをアップデートするには、以下のように入力してください。 [source,shell] .... # cd /usr/doc # make .... [[current-stable]] == 開発ブランチを追いかける FreeBSD には二つの開発ブランチがあります。 それは FreeBSD-CURRENT と FreeBSD-STABLE です。 この節ではそれぞれのブランチと対象としている読者についての説明と、 どのようにしてシステムの対応するブランチを最新の状態に保つかについて説明します。 [[current]] === FreeBSD-CURRENT を使う FreeBSD-CURRENT とは FreeBSD の開発の "最前線" なので、FreeBSD-CURRENT のユーザは高い技術力を持つことが要求されます。 そこまでの技術力を持っていないが、開発ブランチを追いかけたいと考えているユーザは、かわりに FreeBSD-STABLE を追いかけると良いでしょう。 FreeBSD-CURRENT は FreeBSD の最新のソースコードであり、中には現在開発途上のソフトウェア、実験的な変更、あるいは過渡的な機能などが含まれています。 また、この中に入っている機能がすべて、次の公式リリースに入るとは限りません。 FreeBSD-CURRENT をソースからほぼ毎日コンパイルしている人はたくさんいますが、短い期間ではコンパイルさえできない状態になっている時期もあります。 これらの問題は可能な限り迅速に解決されますが、FreeBSD-CURRENT が不幸をもたらすか、それとも新しい機能をもたらすかは、まさにソースコードを同期した瞬間によるのです! FreeBSD-CURRENT は、次の 3 つの重要なグループを対象としています。 . ソースツリーのある部分に関して活発に作業している FreeBSD コミュニティのメンバ。 . 活発にテストしている FreeBSD コミュニティのメンバ。 彼らは、種々の問題を解決するのに時間を惜しまない人々であり、 さまざまな変更に関する提案や FreeBSD の大まかな方向付けを行ないたいと思っている人々でもあり、 パッチも提出します。 . さまざまな事に目を向け、 参考のために最新のソースを使いたいと思っていたり、 時々コメントやコードを寄稿したいと考えているユーザ。 FreeBSD-CURRENT は、次のリリースの前に、最も早く新しい機能を入手する手段として、期待しては__いけません__。 リリース前の機能は十分にテストされていないため、バグを含んでいる可能性が大いにあるためです。 また、バグを修正するための素早い方法でもありません。 いかなるコミットは、元からあるバグを修正するのと同じく、新しいバグを生み出すおそれがあります。 FreeBSD-CURRENT には "公式のサポート" はありません。 FreeBSD-CURRENT を追いかけるには . {freebsd-current} と {dev-commits-src-main} メーリングリストに加わってください。 さまざまな人がシステムの現在の状態について述べているコメントを見たり、FreeBSD-CURRENT の現在の状態に関する重要な情報を見逃さないために、 _必須の_ ことです。 + {dev-commits-src-main} メーリングリストでは、それぞれの変更についての commit ログが記録されています。 また、それに関して起こり得る副作用の情報を得ることができますので、参加する価値のあるメーリングリストです。 + -これらのメーリングリストに入るには、 {mailman-lists} をたどって参加したいメーリングリストをクリックし、手順の説明にしたがってください。 +これらのメーリングリストに入るには、 {mailing-lists} をたどって参加したいメーリングリストをクリックし、手順の説明にしたがってください。 FreeBSD-CURRENT だけでなく、ソースツリー全体の変更点を追いかけるのであれば、 {dev-commits-src-all} メーリングリストを購読してください。 . FreeBSD-CURRENT のソースを同期してください。 通常は `git` を使って FreeBSD Git リポジトリの `main` ブランチから -CURRENT コードをチェックアウトしてください (crossref:mirrors[git,「Git を使う」] を参照してください)。 . リポジトリのサイズが大きいため、興味のある部分や、パッチを当てる部分のソースのみを同期するユーザもいます。 しかしながら、ソースからオペレーティングシステムをコンパイルしようと思っているユーザは、一部分だけではなく、FreeBSD-CURRENT の _すべて_ をダウンロードする必要があります。 + FreeBSD-CURRENT をコンパイルする前に [.filename]#/usr/src/Makefile# を注意深く読み、<> に書かれている手順に従ってください。 {freebsd-current} と [.filename]#/usr/src/UPDATING# を読めば、次のリリースへ向けて移ってゆくに当たって、ときどき必要となる既存システムからの新システムの構築手順についての最新情報が得られるでしょう。 . アクティブになってください! FreeBSD-CURRENT のユーザには、 拡張やバグ潰しに関して提案することが勧められています。 コードを伴う提案はいつでも歓迎されます! [[stable]] === FreeBSD-STABLE を使う FreeBSD-STABLE とは定期的に公開されるリリースを作成するための開発ブランチです。 このブランチに加えられる変更は FreeBSD-CURRENT よりゆっくりで、原則として、事前に FreeBSD-CURRENT で試験ずみであるという特徴があります。 ただ__そうであっても__、これは開発用ブランチの一つであり、ある時点における FreeBSD-STABLE のソースがどんな場合にも使えるものであるとは限りません。 このブランチはもう一つの開発の流れというだけであって、エンドユーザ向けのものではありません。 もし試験をする資源的な余裕がない場合は、代わりに最新の FreeBSD リリースを使ってください。 FreeBSD の開発プロセスに興味があったり、それに対する貢献を考えていて、特にそれが次回の FreeBSD のリリースに関係するものであるなら FreeBSD-STABLE を追うことを考えると良いでしょう。 FreeBSD-STABLE ブランチはいつもコンパイルができ、安定に動作すべきですが、それが保証されているというわけではありません。 FreeBSD-STABLE のユーザは FreeBSD-CURRENT よりも多いため、FreeBSD-CURRENT で発見されなかったバグが FreeBSD-STABLE で発見され、ときどきそれが問題となることがあるのは避けることができません。 このような理由から、盲目的に FreeBSD-STABLE を追いかけるべきではありません。 特に、開発環境もしくはテスト環境でコードを十分に試験せずに、プロダクション品質が要求されるサーバを FreeBSD-STABLE にアップグレードしては__いけません__。 FreeBSD-STABLE を追いかけるには . FreeBSD-STABLE の構築に関連する事柄や、その他の注意すべき点 に関する情報を得るために、 {freebsd-stable} メーリングリストに加わってください。 また開発者は議論の余地がある修正や変更を考えている場合に、このメーリングリストで公表し、提案された変更に関して問題が生じるかどうかを返答する機会をユーザに与えます。 + 追いかけているブランチに関連する git メーリングリストに参加してください。 たとえば、{betarel-current-major}-STABLE ブランチを追いかけているユーザは {dev-commits-src-branches} メーリングリストに参加してください。 このリストでは、変更がなされるごとに作成される commit log やそれに伴う起こりうる副作用についての情報が記録されています。 + -これらのメーリングリストに入るには、 {mailman-lists} をたどって参加したいメーリングリストをクリックし、手順の説明にしたがってください。 +これらのメーリングリストに入るには、 {mailing-lists} をたどって参加したいメーリングリストをクリックし、手順の説明にしたがってください。 ソースツリー全体の変更点を追いかけるには、 {dev-commits-src-all} メーリングリストを購読してください。 . 新しい FreeBSD-STABLE システムをインストールするには、 crossref:mirrors[mirrors,ミラーサイト] から最近の FreeBSD-STABLE リリースをインストールするか、毎月公開されている FreeBSD-STABLE からビルドされたスナップショットを使ってください。 スナップショットの詳細については、link:https://www.FreeBSD.org/ja/snapshots/[www.freebsd.org/ja/snapshots] をご覧ください。 + 既に FreeBSD が動いているシステムを FreeBSD-STABLE にアップグレードするには、 crossref:mirrors[svn,svn] を使って、希望する開発ブランチのソースをチェックアウしてください。 `stable/9` といったブランチ名は、link:https://www.FreeBSD.org/releng/[www.freebsd.org/releng] で説明されています。 . FreeBSD-STABLE をコンパイルしたり FreeBSD-STABLE へとアップグレードする前に、 [.filename]#/usr/src/Makefile# を注意深く読み、 <> に書かれている手順に従ってください。 {freebsd-stable} と [.filename]#/usr/src/UPDATING# を読んで、次のリリースへ向けて移ってゆくに当たって、ときどき必要となる既存システムからの新システムの構築手順についての最新情報を得てください。 [[translate-n-number]] === n-番号 バグを追跡する際は、問題が発生したシステムの構築に用いられたソースコードのバージョンを把握することが重要となります。 FreeBSD は、バージョン情報をカーネルのコンパイル時に埋め込みます。 man:uname[1] を使ってこの情報を調べることができます。以下はその例です。 [source,shell] .... % uname -a FreeBSD 14.0-CURRENT #112 main-n247514-031260d64c18: Tue Jun 22 20:43:19 MDT 2021 fred@machine:/usr/home/fred/obj/usr/home/fred/git/head/amd64.amd64/sys/FRED .... 4 番目のフィールドを見ると、いくつかの要素から構成されていることがわかります。 [source,shell] .... main-n247514-031260d64c18 main <.> n247514 <.> 031260d64c18 <.> <.> .... <.> Git ブランチ名。 注意: n-番号の比較は、FreeBSD プロジェクトで作成されたブランチ (`main`, `stable/XX` および `releng/XX`) でのみ有効です。 ローカルブランチでは、親ブランチのコミットと n-番号が重複してしまいます。 <.> n-番号は、ハッシュ値が含まれるようになった git リポジトリの使用開始からのコミットを数えたものです。 <.> チェックアウトしたツリーのハッシュ値。 <.> `-dirty` が表示されることがあります。 変更点がコミットされていないツリーでカーネルが構築された場合に表示されます。 この例では、チェックアウトから変更なく FRED カーネルが構築されたため、出力されていません。 `git rev-list` コマンドを使って、ハッシュ値に対応する n-番号を調べることができます。 以下はその例です。 [source,shell] .... % git rev-list --first-parent --count 031260d64c18 <.> 247514 <.> .... <.> 変換する git ハッシュ値 (ここでは先の例のハッシュ値を使用しています) <.> n-番号 この数字は通常それほど重要ではありません。 しかしながら、バグの修正がコミットされた時には、この数字を使うことで、使用しているシステムでバグが修正されているかどうかを簡単に調べることができます。 ハッシュ値は簡単に目にする識別子である一方で n-番号はそうではありません。 そのため、開発者は通常 n-番号ではなくコミットのハッシュ値 (または、ハッシュ値を含む URL) を参照します。 セキュリティ勧告および errata 情報では n-番号が示されており、使用しているシステムの番号と直接比較できます。 `git rev-list` コマンドは、レポジトリのリビジョンをすべてカウントしますが、git の shallow clone はその情報を取得しないため、shallow clone を使用しなければならない場合には、n-番号は信頼できません。 [[makeworld]] == ソースを用いた FreeBSD のアップデート ソースをコンパイルしてFreeBSD をアップデートする方法は、 バイナリを用いたアップデートに比べ、いくつもの利点があります。 特定のハードウェアをうまく利用するためのオプションを設定してコードを構築できます。 ベースシステムの特定の箇所の設定をデフォルトの設定から変更したり、必要がない部分を完全に削除して構築することもできます。 システムを構築することによるアップデートは、バイナリアップデートをインストールするだけのアップデートに比べ時間がかかりますが、利用環境に合わせた FreeBSD を作成するような完全なカスタマイズが可能です。 [[updating-src-quick-start]] === クィックスタート 以下は FreeBSD をソースから構築してアップデートする典型的な方法についてのクイックリファレンスです。 その後の節では、各プロセスをより詳細に説明します。 [.procedure] ==== . アップデートおよびビルド + [source,shell] .... # git pull /usr/src <.> check /usr/src/UPDATING <.> # cd /usr/src <.> # make -j4 buildworld <.> # make -j4 kernel <.> # shutdown -r now <.> # etcupdate -p <.> # cd /usr/src <.> # make installworld <.> # etcupdate -B <.> # shutdown -r now <.> .... <.> 最新版のソースを入手してください。 ソースの入手およびアップデートに関する情報については <> をご覧ください。 <.> ソースの構築の前後で必要となる手動の作業について、 [.filename]#/usr/src/UPDATING# を確認してください。 <.> ソースが置かれているディレクトリに移動してください。 <.> world (カーネルを除くすべて) をコンパイルしてください。 <.> カーネルをコンパイルしてインストールしてください。 ここに書かれているコマンドは、`make buildkernel installkernel` と同じです。 <.> 新しいカーネルを使うため、 システムを再起動してください。 <.> installworld を行う前に、[.filename]#/etc/# に置かれている設定ファイルのアップデートとマージを行ってください。 <.> ソースが置かれているディレクトリに移動してください。 <.> world をインストールしてください。 <.> [.filename]#/etc/# に置かれている設定ファイルのアップデートとマージを行ってください。 <.> 新しく構築された world およびカーネルを利用するため、 システムを再起動してください。 ==== [[updating-src-preparing]] === ソースを用いたアップデートのための準備 [.filename]#/usr/src/UPDATING# を読んでください。 このファイルには、 アップデートの前後で必要となる手動の作業について書かれています。 [[updating-src-obtaining-src]] === ソースコードのアップデート FreeBSD のソースコードは [.filename]#/usr/src/# に置かれています。 このソースコードのアップデートには、Git バージョン管理システムを利用する方法が推奨されています。 まず、ソースコードがバージョン管理下にあることを確認してください。 [source,shell] .... # cd /usr/src # git remote --v origin https://git.freebsd.org/src.git (fetch) origin https://git.freebsd.org/src.git (push) .... この結果は、[.filename]#/usr/src/# がバージョン管理下にあり、man:git[1] を使ってアップデートできることを示しています。 [source,shell] .... # git pull /usr/src .... このディレクトリをアップデートしていない期間が長いと、アップデートのプロセスには時間がかかります。 このプロセスが終わると、ソースコードは最新となり、次節以降で説明する構築のプロセスを実行できます。 .ソースコードの入手 [NOTE] ==== `fatal: not a git repository` という出力が出た場合には、ファイルがなかったり、別な方法によりインストールされているので、新しくソースコードをチェックアウトする必要があります。 [[updating-src-obtaining-src-repopath]] .FreeBSD のバージョンおよびリポジトリブランチ [cols="1,1,1", options="header"] |=== | uname -r の出力 | リポジトリパス | 説明 |`_X.Y_-RELEASE` |`releng/_X.Y_` |このリリースバージョンに対する重大なセキュルティへの対応およびバグの修正パッチのみが適用されています。 このブランチは、ほとんどのユーザに推奨されます。 |`_X.Y_-STABLE` |`stable/_X_` | リリースバージョンに対し、 そのブランチにおけるすべての開発の成果が反映されたものです。 _STABLE_ は、 Applications Binary Interface (ABI) が変更されないことを意味しており、 このブランチの以前のバージョンでコンパイルされたソフトウェアは、 このバージョンでも実行できることを意味しています。 たとえば、FreeBSD 10.1 で実行するようにコンパイルされたソフトウェアは、 FreeBSD 10-STABLE においても実行できます。 STABLE ブランチは、 時期によってはユーザに影響するようなバグや非互換性を持つことがあります。 これらは通常すぐに修正されます。 |`_X_-CURRENT` |`main` |リリースが行われていない最新の FreeBSD の開発バージョンです。 CURRENT ブランチは大きなバグや非互換があることもあるので、 高度な知識を持ったユーザのみ使用が推奨されます。 |=== man:uname[1] を使って FreeBSD のバージョンを確認してください。 [source,shell] .... # uname -r 10.3-RELEASE .... <> から分かるように、`10.3-RELEASE` のアップデートのためのソースコードのパスは、`releng/10.3` です。 このパスは、ソースコードをチェックアウトする時に使います。 [source,shell] .... # mv /usr/src /usr/src.bak <.> # git clone --branch releng/10.3 https://git.FreeBSD.org/src.git /usr/src <.> .... <.> この古いディレクトリを、 邪魔にならないように移動してください。 このディレクトリ以下に対して変更を行ってなければ、 削除しても構わないでしょう。 <.> リポジトリの URL に <> に記載されているパスを追加します。 3 番目のパラメータには、 ローカルシステム上でソースコードが置かれるディレクトリを指定します。 ==== [[updating-src-building]] === ソースからの構築 まず最初に _world_ (カーネルを除くオペレーティングシステムのすべて) をコンパイルします。 このステップを最初に実行するのは、カーネルの構築を最新のツールを使って行うようにするためです。 このステップが終わったら、カーネルそのものを構築します。 [source,shell] .... # cd /usr/src # make buildworld # make buildkernel .... コンパイルされたコードは [.filename]#/usr/obj# に書き出されます。 これは基本のステップです。 構築をコントロールする追加のオプションについては、 以下で説明します。 [[updating-src-building-clean-build]] ==== クリーンビルドの実行 FreeBSD ビルドシステムのいくつかのバージョンは、オブジェクトが一時的に置かれるディレクトリ [.filename]#/usr/obj# に前回のコンパイルされたコードを残します。 これにより、変更されていないコードを再コンパイルせずにすむので、その後の構築時間を短縮できます。 すべてを再構築するには、構築を開始する前に、`cleanworld` を実行してください。 [source,shell] .... # make cleanworld .... [[updating-src-building-jobs]] ==== ジョブの数の設定 マルチコアプロセッサを搭載するシステムでは、構築のためのジョブの数を増やすことで、構築にかかる時間を短縮できます。 `sysctl hw.ncpu` を使って、コアの数を確認してください。 ジョブの数がどのように構築の速さに影響するかを確実に知るには、プロセッサにより異なりますし、FreeBSD のバージョンにより使用されるビルドシステムも変わるため、実際に試してみるしか方法はありません。 試してみる最初のジョブの数の候補としては、コアの数の半分から倍の数の間で検討してみてください。 ジョブの数は、`-j` を使って指定します。 [[updating-src-building-jobs-example]] .構築のジョブの数を増やす [example] ==== 以下は 4 つのジョブで world とカーネルを構築する例です。 [source,shell] .... # make -j4 buildworld buildkernel .... ==== [[updating-src-building-only-kernel]] ==== カーネルのみを構築する ソースコードが変更された場合には、`buildworld` を完了しなければいけません。 その後、いつでも `buildkernel` でカーネルを構築できます。 カーネルだけを構築するには、以下のように実行してください。 [source,shell] .... # cd /usr/src # make buildkernel .... [[updating-src-building-custom-kernel]] ==== カスタムカーネルの構築 FreeBSD 標準のカーネルは、[.filename]#GENERIC# と呼ばれる _カーネルコンフィグレーションファイル_ に基づいています。 [.filename]#GENERIC# カーネルには、最も良く使われるデバイスドライバやオプションが含まれています。 しかしながら、特定の目的に合わせてデバイスドライバやオプションを削除したり追加するためには、カスタムカーネルを構築することが有用であったり、必要となることがあります。 たとえば、極端に RAM が制限されているような小さな組み込みのコンピュータを開発しているユーザであれば、 必要のないデバイスドライバやオプションを削除することで、 カーネルを少しでも小さくできるでしょう。 カーネルのコンフィグレーションファイルは、 [.filename]#/usr/src/sys/arch/conf/# に置かれています。ここで、 _arch_ は `uname -m` の出力です。 ほとんどのコンピュータは `amd64` であり、 コンフィグレーションファイルが置かれているディレクトリは [.filename]#/usr/src/sys/amd64/conf/# です。 [TIP] ==== [.filename]#/usr/src# は、削除されたり作り直されたりする可能性があるため、カスタムカーネルのコンフィグレーションファイルは、[.filename]#/root# のような別のディレクトリで管理することが好ましいです。 カーネルコンフィグレーションファイルは、[.filename]#conf# ディレクトリにリンクします。 このディレクトリが削除されたり、上書きされた場合には、カーネルコンフィグレーションファイルを新しいディレクトリにもう一度リンクしてください。 ==== カスタムコンフィグレーションファイルは、[.filename]#GENERIC# コンフィグレーションファイルをコピーして作成できます。 たとえば、ストレージサーバ用の [.filename]#STORAGESERVER# という名前の新しいカスタムカーネルは、以下のようにして作成できます。 [source,shell] .... # cp /usr/src/sys/amd64/conf/GENERIC /root/STORAGESERVER # cd /usr/src/sys/amd64/conf # ln -s /root/STORAGESERVER . .... その後 [.filename]#/root/STORAGESERVER# を編集し、 man:config[5] で示されるデバイスやオプションを追加したり削除してください。 コマンドラインからカーネルコンフィグレーションファイルを `KERNCONF` に指定することで、 カスタムカーネルを構築できます。 [source,shell] .... # make buildkernel KERNCONF=STORAGESERVER .... [[updating-src-installing]] === コンパイルされたコードのインストール `buildworld` および `buildkernel` が完了したら、 新しいカーネルと world をインストールしてください。 [source,shell] .... # cd /usr/src # make installkernel # shutdown -r now # cd /usr/src # make installworld # shutdown -r now .... カスタムカーネルを構築した場合は、 新しいカスタムカーネルを `KERNCONF` に設定して実行してください。 [source,shell] .... # cd /usr/src # make installkernel KERNCONF=STORAGESERVER # shutdown -r now # cd /usr/src # make installworld # shutdown -r now .... [[updating-src-completing]] === アップデートの完了 アップデートの完了までに、いくつかの最終作業が残されています。 デフォルトから変更した設定ファイルを新しいバージョンのファイルにマージし、古くなったライブラリを見つけて削除した後に、システムを再起動します。 [[updating-src-completing-merge-etcupdate]] ==== man:etcupdate[8] を用いた設定ファイルのマージ man:etcupdate[8] は、[.filename]#/etc/# 以下のファイルのように installworld のプロセスで更新されないファイルをアップデートするツールです。 このツールは、ローカルにあるファイルに対する変更点を 3-way マージでアップデートします。 man:mergemaster[8] の対話的なプロンプトと対照的に、このツールはユーザによる操作を最小限になるように設計されています。 [NOTE] ==== 一般的に、man:etcupdate[8] は、実行する際に特定の引数を必要としません。 しかしながら、man:etcupdate[8] を最初に使用した際に、どのようなアップデートが行われたかの健全性をチェックする便利なコマンドがあります。 [source,shell] .... # etcupdate diff .... このコマンドにより、ユーザは設定の変更を検証できます。 ==== man:etcupdate[8] が自動的にファイルをマージできない場合には、 以下を実行することで、手動の操作により衝突を解決できます。 [source,shell] .... # etcupdate resolve .... [WARNING] ==== man:mergemaster[8] から man:etcupdate[8] に移行する際に、 最初に man:etcupdate[8] を実行すると、不適切に変更点がマージされ、誤った衝突が起こる可能性があります。 これを避けるには、ソースを更新して新しく buildworld を行う *前に* 以下のステップを行ってください。 [source,shell] .... # etcupdate extract <.> # etcupdate diff <.> .... <.> [.filename]#/etc# ファイルを保存するデータベースをブートストラップしてください。 詳細については、 man:etcupdate[8] を参照してください。 <.> ブートストラップ後、差分を確認してください。 不必要なローカルでの変更点をなくし、将来的なアップデートにおいて、衝突が起きる可能性が低くなるようにしてください。 ==== [[updating-src-completing-merge-mergemaster]] ==== man:mergemaster[8] を用いた設定ファイルのマージ man:mergemaster[8] を用いることで、システムの設定ファイルに行われている変更を、これらのファイルの新しいバージョンにマージできます。 man:mergemaster[8] は、設定ファイルのアップデートで推奨されている man:etcupdate[8] の代価のツールです。 `-Ui` オプションを使って man:mergemaster[8] を実行すると、 ユーザが手を加えていないファイルのアップデートおよび新しく追加されたファイルのインストールを自動的に行います。 [source,shell] .... # mergemaster -Ui .... ファイルのマージを手動で行う必要がある時は、ファイルの中で残す箇所の選択を対話的におこなうようなインタフェースが表示さます。 詳細については、man:mergemaster[8] をご覧ください。 [[updating-src-completing-check-old]] ==== 使われなくなったファイルやライブラリの確認 アップデート後に、使われなくなったファイルやディレクトリが残ることがあります。 これらのファイルは、 [source,shell] .... # make check-old .... で確認でき、以下のようにして削除できます。 [source,shell] .... # make delete-old .... 同様に使われなくなったライブラリが残ることもあります。 これらのライブラリは、 [source,shell] .... # make check-old-libs .... で確認でき、以下のようにして削除できます。 [source,shell] .... # make delete-old-libs .... これらの古いライブラリを利用しているプログラムは、ライブラリが削除されると動かなくなります。 これらのプログラムは、古いライブラリを削除した後に、再構築もしくは置き換える必要があります。 [TIP] ==== 古いファイルとディレクトリのすべてを削除しても問題ないことを確認したら、コマンドに `BATCH_DELETE_OLD_FILES` を設定することで、各ファイルを削除する際に kbd:[y] および kbd:[Enter] を押さなくても済むようにできます。 以下はその例です。 [source,shell] .... # make BATCH_DELETE_OLD_FILES=yes delete-old-libs .... ==== [[updating-src-completing-restart]] ==== アップデート後の再起動 コンピュータを再起動して、すべての変更を反映させることが、 アップデートの最後におこなう作業です。 [source,shell] .... # shutdown -r now .... [[small-lan]] == 複数のマシンで追いかける 複数のコンピュータで同じソースツリーを追いかけていて、全部のマシンにソースをダウンロードして全部を再構築するのは、ディスクスペース、ネットワーク帯域、そして CPU サイクルの無駄使いです。 解決策は 1 つのマシンに仕事のほとんどをさせ、残りのマシンは NFS 経由でそれをマウントする、というものです。 このセクションではそのやり方を概観します。NFS の使い方の詳細については、crossref:advanced-networking[network-nfs,「NFS」] をご覧下さい。 まず初めに、同じバイナリで動かそうとするマシンたちを決めます。 このマシンたちのことを__ビルドセット__と呼びます。 それぞれのマシンはカスタムカーネルを持っているかもしれませんが、同じユーザランドバイナリを動かそうというのです。 このビルドセットから、 __ビルドマシン__となるマシンを 1 台選びます。 ベースシステムとカーネルを構築するのはこのマシンになります。 理想的には、このマシンは `make buildworld` と `make buildkernel` を実行するのに十分な CPU を持った速いマシンであるべきです。 _テストマシン_ となるべきマシンも選んでください。 更新されたソフトウェアを使う前にそのマシンでテストするのです。 テストマシンはかなり長い時間落ちていても だいじょうぶなマシン__であったほうがいいでしょう__。 ビルドマシンでもかまいませんが、ビルドマシンである必要はありません。 このビルドセットのマシンはすべて [.filename]#/usr/obj# と [.filename]#/usr/src# をビルドマシンから FTP 経由でマウントする必要があります。 ビルドセット自体が複数ある場合は、[.filename]#/usr/src# はひとつのビルドマシン上にあるべきです。 他のマシンからはそれを NFS マウントするようにしましょう。 ビルドセットのすべてのマシン上の [.filename]#/etc/make.conf# と [.filename]#/etc/src.conf# がビルドマシンと一致していることを確認してください。 つまり、ビルドマシンはビルドセットのどのマシンもインストールしようとしているベースシステムを全部ビルドしなければならないということです。 また、各ビルドマシンは [.filename]#/etc/make.conf# にそれぞれのビルドマシンのカーネル名を `KERNCONF` で指定し、ビルドマシンは自分自身のカーネルから順に全部のカーネル名を `KERNCONF` にリストアップしてください。 ビルドマシンは各マシンのカーネル設定ファイルを [.filename]#/usr/src/sys/arch/conf# に持っていなければなりません。 ビルドマシンにて、<> に書いてあるようにカーネルとベースシステムを構築してください。 でも、まだビルドマシンにはインストールしないでください。 そのかわり、ビルドしたカーネルをテストマシンにインストールしてください。 FTP 経由で [.filename]#/usr/src# および [.filename]#/usr/obj# をテストマシンにマウントしてください。 その後、`shutdown now` を実行してシングルユーザモードに移行し、新しいカーネルとベースシステムをインストールし、いつもするように `mergemaster` を実行してください。 終わったら、再起動して通常のマルチユーザ動作に戻します。 テストマシンにあるものすべてがちゃんと動いている確信が得られたら、同じ手順でビルドセットの他のマシンにも新しいソフトウェアをインストールします。 ports ツリーにも同じ方法が使えます。 最初のステップは、ビルドセットのすべてのマシンが NFS 経由で [.filename]#/usr/ports# をマウントすることです。 そして、distfiles を共有するように [.filename]#/etc/make.conf# を設定します。 NFS マウントによってマップされる `root` ユーザが何であれ、`DISTDIR` はそのユーザが書き込める共通の共有ディレクトリに設定する必要があります。 ports をローカルでビルドする場合には、各マシンは `WRKDIRPREFIX` を自分のマシンのビルドディレクトリに設定しなければなりません。 また、ビルドシステムが packages をビルドしてビルドセットのコンピュータに配布するのであれば、`DISTDIR` と同じようにビルドシステム上の `PACKAGES` ディレクトリも設定してください。 diff --git a/documentation/content/ja/books/handbook/eresources/_index.adoc b/documentation/content/ja/books/handbook/eresources/_index.adoc index f7fd863d59..385ce15ee1 100644 --- a/documentation/content/ja/books/handbook/eresources/_index.adoc +++ b/documentation/content/ja/books/handbook/eresources/_index.adoc @@ -1,1199 +1,1199 @@ --- title: 付録 C. インターネット上のリソース part: パートV. 付録 prev: books/handbook/bibliography next: books/handbook/pgpkeys --- [appendix] [[eresources]] = インターネット上のリソース :doctype: book :icons: font :sectnums: :sectnumlevels: 6 :source-highlighter: rouge :experimental: :skip-front-matter: :toc-title: 目次 :table-caption: 表 :figure-caption: 図 :example-caption: 例 :xrefstyle: basic :relfileprefix: ../ :outfilesuffix: :sectnumoffset: C include::shared/mirrors.adoc[] include::shared/authors.adoc[] include::shared/releases.adoc[] include::shared/ja/mailing-lists.adoc[] include::shared/ja/teams.adoc[] include::shared/ja/urls.adoc[] FreeBSD の進歩は急速であり、 印刷したメディアは最新の開発をフォローするのに実用的ではありません。 それだけしかない、というわけではありませんが、 最新情報を入手する方法としては電子的なリソースがベストです。 FreeBSD はボランティアの努力によって、ユーザコミュニティ自体が、 一種の "テクニカルサポート部門" としての役割も通常果たしており、 電子メール、ウェブフォーラムおよび Usenet のニュースがこれらのコミュニティにたどり着く最も効果的な方法になっています。 以下に、FreeBSD ユーザコミュニティに連絡を取る場合の最も重要な点についての概略を示します。 ここに書かれていない他のリソースをご存知であれば、 それらをここに含めることができるように、 {freebsd-doc} にお知らせください。 [[eresources-www]] == ウェブサイト * https://forums.FreeBSD.org/[The FreeBSD Forums] は、FreeBSD の質問および技術的な議論のためのウェブベースのフォーラムです。 * http://www.youtube.com/bsdconferences[BSDConferences YouTube Channel] は、世界中で開催されている BSD カンファレンスでのプレゼンテーションの高品質のビデオです。 主要な開発者による FreeBSD の新しい進展についてのプレゼンテーションをぜひともご覧ください。 [[eresources-mail]] == メーリングリスト メーリングリストは、FreeBSD の関係者に対し質問を投稿したり、 技術的な議論を行うのに、最も直接的な方法です。 さまざまな FreeBSD の関連トピックに対し、 幅広いメーリングリストが存在しています。 質問を適切なメーリングリストに投稿すれば、 早く、的確な反応がいつでも得られることでしょう。 さまざまなメーリングリストの憲章をこのドキュメントの最後に記載します。 __私たちは、メーリングリストの質、 特に技術面に関する質を高く保つために努力しているので、 メーリングリストに参加する前にその憲章を読んでください。 __ 私たちのメーリングリストの参加者のほとんどは、 非常にたくさんの FreeBSD に関連したメッセージを毎日受け取っており、 メーリングリストの利用に関する憲章やルールは、 メーリングリストの S/N 比を高く保つためのものです。 そうしないと、結果的に、 メーリングリストがプロジェクトにとって事実上のコミュニケーションの手段になってしまうでしょう。 [NOTE] ==== _FreeBSD メーリングリストにメールを送信できるかどうかを確認するには、 {freebsd-test} にテストメッセージを送信してください。_ 他のメーリングリストには、 テストメッセージを送信しないでください。 ==== どのメーリングリストに質問を投稿すべきか迷った場合には、 link:{freebsd-questions-article}[How to get best results from the FreeBSD-questions mailing list] をご覧ください。 どこのメーリングリストに投稿する場合でも、 メーリングリストを最大限に活用する方法を理解しておいてください。 たとえば、 link:{mailing-list-faq}[Mailing List Frequently Asked Questions] (FAQ) 文書を読んで、 繰り返し行われる議論を避ける方法を理解してください。 メーリングリストはいずれもアーカイブされており、それらは link:https://www.FreeBSD.org/search/[FreeBSD World Wide Web server] で検索することができます。 キーワード検索可能なアーカイブの提供は、 良くある質問に対する回答を見つけるすぐれた方法ですから、 質問を投稿する前に調べてみるべきでしょう。 このことは、FreeBSD メーリングリストに送信されたメッセージは、 ずっとアーカイブされることを意味しています。 プライバシーの保護が問題になるような場合には、 使い捨てのメールアドレスを用い、公な情報のみを送ってください。 [[eresources-summary]] === メーリングリストの概説 _一般的なメーリングリスト:_ 以下のものは誰でも自由に参加できる (そしておすすめの) 一般的なものです。 [.informaltable] [cols="1,1", frame="none", options="header"] |=== | リスト | 目的 |link:{freebsd-advocacy-url}[freebsd-advocacy] |FreeBSD の福音伝道 |{freebsd-announce} |重要なイベントやプロジェクトのマイルストン (モデレータ制) |link:{freebsd-arch-url}[freebsd-arch] |アーキテクチャ、設計に関する議論 |link:{freebsd-bugbusters-url}[freebsd-bugbusters] |FreeBSD 障害報告データベースおよび関連するツールの管理に関する議論 |link:{freebsd-bugs-url}[freebsd-bugs] |バグレポート |link:{freebsd-chat-url}[freebsd-chat] |FreeBSD コミュニティに関連する技術的ではない話題 |link:{freebsd-chromium-url}[freebsd-chromium] |FreeBSD に固有の Chromium の問題について |{freebsd-current} |FreeBSD-CURRENT の使用に関連する議論 |link:{freebsd-isp-url}[freebsd-isp] |FreeBSD を用いている インターネットサービスプロバイダの話題 |link:{freebsd-jobs-url}[freebsd-jobs] |FreeBSD 関連の雇用機会に関する話題 |link:{freebsd-quarterly-calls-url}[freebsd-quarterly-calls] |四半期開発進捗レポートの呼びかけ (モデレータ制) |link:{freebsd-questions-url}[freebsd-questions] |ユーザからの質問と技術サポート |{freebsd-security-notifications} |セキュリティに関する通知 (モデレータ制) |{freebsd-stable} |FreeBSD-STABLE の使用に関連する議論 |{freebsd-test} |メッセージの送信試験を行なうために、 実際のメーリングリストの代わりに使うアドレス |link:{freebsd-women-url}[freebsd-women] |FreeBSD の女性支援 |=== _技術的なメーリングリスト:_ 以下のメーリングリストは、技術的な 議論のためのものです。 それらの利用や内容のためにしっかりとしたガイドラインがあるので、 これらのメーリングリストに入ったり、 どれか一つにメール を送ったりする前には、 それらのメーリングリストの憲章を注意深く読んでください。 [.informaltable] [cols="1,1", frame="none", options="header"] |=== | リスト | 目的 |{freebsd-acpi} |ACPI および電源管理の開発 |link:{freebsd-fortran-url}[freebsd-fortran] |FreeBSD での Fortran |link:{freebsd-amd64-url}[freebsd-amd64] |FreeBSD の AMD64 システムへの移植 (モデレータ制) |link:{freebsd-apache-url}[freebsd-apache] |Apache に関連した ports についての議論 |link:{freebsd-arm-url}[freebsd-arm] |FreeBSD の ARM(R) プロセッサへの移植 |link:{freebsd-atm-url}[freebsd-atm] |FreeBSD での ATM ネットワーク使用に関する話題 |link:{freebsd-bluetooth-url}[freebsd-bluetooth] |FreeBSD で Bluetooth(R) 技術の使用 |link:{freebsd-cloud-url}[freebsd-cloud] |クラウドプラットフォーム (EC2, GCE, Azure など) での FreeBSD |link:{freebsd-cluster-url}[freebsd-cluster] |FreeBSD のクラスタ環境での利用 |link:{freebsd-database-url}[freebsd-database] |FreeBSD 上でのデータベースの利用や開発に関する議論 |link:{freebsd-desktop-url}[freebsd-desktop] |デスクトップでの FreeBSD の利用や改良について |link:{dev-ci-url}[dev-ci] |継続的インテグレーションサーバからのビルドおよび試験レポート |link:{dev-reviews-url}[dev-reviews] |FreeBSD レビューシステムからの通知 |link:{freebsd-doc-url}[freebsd-doc] |FreeBSD 関連ドキュメントの作成 |link:{freebsd-drivers-url}[freebsd-drivers] |FreeBSD のデバイスドライバの書き方について |link:{freebsd-dtrace-url}[freebsd-dtrace] |FreeBSD における Dtrace の利用と開発 |link:{freebsd-eclipse-url}[freebsd-eclipse] |Eclipse IDE, ツール、 リッチクライアントアプリケーションの FreeBSD ユーザおよび ports |link:{freebsd-elastic-url}[freebsd-elastic] |FreeBSD 固有の ElasticSearch に関する議論 |link:{freebsd-embedded-url}[freebsd-embedded] |組み込みアプリケーションにおける FreeBSD の利用 |link:{freebsd-eol-url}[freebsd-eol] |FreeBSD プロジェクトによるサポートが終了した FreeBSD に関連したソフトウェアのピアサポート |link:{freebsd-emulation-url}[freebsd-emulation] |Linux/MS-DOS(R)/Windows(R) のような他のシステムのエミュレーション |link:{freebsd-enlightenment-url}[freebsd-enlightenment] |Enlightenment および Enlightenment アプリケーションの移植 |link:{freebsd-erlang-url}[freebsd-erlang] |FreeBSD 固有の Erlang に関する議論 |link:{freebsd-firewire-url}[freebsd-firewire] |FreeBSD FireWire(R) (iLink, IEEE 1394) に関する技術的な議論 |link:{freebsd-fs-url}[freebsd-fs] |ファイルシステム |link:{freebsd-games-url}[freebsd-games] |FreeBSD でのゲームのサポート |link:{freebsd-gecko-url}[freebsd-gecko] |Gecko レンダリングエンジン に関する議論 |link:{freebsd-geom-url}[freebsd-geom] |GEOM に関連した議論と実装 |link:{freebsd-git-url}[freebsd-git] |FreeBSD プロジェクトでの git の使用に関する議論 |link:{freebsd-gnome-url}[freebsd-gnome] |GNOME および GNOME アプリケーションの移植 |link:{freebsd-hackers-url}[freebsd-hackers] |一般的な技術の議論 |link:{freebsd-haskell-url}[freebsd-haskell] |FreeBSD 固有の Haskell に関する議論 |link:{freebsd-hardware-url}[freebsd-hardware] |FreeBSD の走るハードウェアの一般的な議論 |link:{freebsd-i18n-url}[freebsd-i18n] |FreeBSD の国際化 |link:{freebsd-infiniband-url}[freebsd-infiniband] |FreeBSD での Infiniband の使用 |link:{freebsd-ipfw-url}[freebsd-ipfw] |IP firewall コードの再設計に関する技術的議論 |link:{freebsd-isdn-url}[freebsd-isdn] |ISDN 開発者 |link:{freebsd-jail-url}[freebsd-jail] |man:jail[8] に関する議論 |link:{freebsd-java-url}[freebsd-java] |Java(TM) 開発者や、FreeBSD へ JDK(TM) を移植する人たち |link:{freebsd-kde-url}[freebsd-kde] |KDE および KDE アプリケーションの移植 |link:{freebsd-lfs-url}[freebsd-lfs] |LFS の FreeBSD への移植 |link:{freebsd-mips-url}[freebsd-mips] |FreeBSD の MIPS(R) への移植 |link:{freebsd-mono-url}[freebsd-mono] |FreeBSD における Mono および C# アプリケーション |link:{freebsd-new-bus-url}[freebsd-new-bus] |バスアーキテクチャに関する技術的な議論 |link:{freebsd-net-url}[freebsd-net] |ネットワークおよび TCP/IP ソースコードに関する議論 |link:{freebsd-numerics-url}[freebsd-numerics] |高品質な libm 機能の実装に関する議論 |link:{freebsd-ocaml-url}[freebsd-ocaml] |FreeBSD 固有の OCaml に関する議論 |link:{freebsd-office-url}[freebsd-office] |FreeBSD でのオフィスアプリケーションについて |link:{freebsd-performance-url}[freebsd-performance] |ハイパフォーマンス / 高負荷での導入のためのパフォーマンスチューニングに関する質問 |link:{freebsd-perl-url}[freebsd-perl] |数多く存在する Perl に関連する port の管理について |link:{freebsd-pkg-url}[freebsd-pkg] |バイナリ package 管理および package ツールについての議論 |link:{freebsd-pf-url}[freebsd-pf] |パケットフィルタファイアウォールシステムに関する議論および質問 |link:{freebsd-pkg-url}[freebsd-pkg] |バイナリ package 管理および package 関連ツールの議論 |link:{freebsd-pkg-fallout-url}[freebsd-pkg-fallout] |package ビルドに失敗したログ |link:{freebsd-pkgbase-url}[freebsd-pkgbase] |FreeBSD ベースシステムの pkg 化 |link:{freebsd-platforms-url}[freebsd-platforms] |Intel(R) 以外のアーキテクチャのプラットフォームへの移植 |link:{freebsd-ports-url}[freebsd-ports] |Ports Collection に関する議論 |link:{freebsd-ports-announce-url}[freebsd-ports-announce] |Ports Collection に関する重要なニュースと案内 (モデレータ制) |link:{freebsd-ports-bugs-url}[freebsd-ports-bugs] |ports のバグや PR についての議論 |link:{freebsd-ppc-url}[freebsd-ppc] |FreeBSD の PowerPC(R) への移植 |link:{freebsd-proliant-url}[freebsd-proliant] |HP ProLiant サーバプラットフォーム上での FreeBSD に関する技術的な議論 |link:{freebsd-python-url}[freebsd-python] |FreeBSD 固有の Python に関する話題 |link:{freebsd-rc-url}[freebsd-rc] |[.filename]#rc.d# システムおよび開発に関連した議論 |link:{freebsd-realtime-url}[freebsd-realtime] |FreeBSD 用のリアルタイム拡張の開発に関する話題 |link:{freebsd-riscv-url}[freebsd-riscv] |FreeBSD の RISC-V(R) システムへの移植 |link:{freebsd-ruby-url}[freebsd-ruby] |FreeBSD 固有の Ruby に関する議論 |link:{freebsd-scsi-url}[freebsd-scsi] |SCSI サブシステム |{freebsd-security} |FreeBSD に影響するセキュリティに関する話題 |link:{freebsd-snapshots-url}[freebsd-snapshots] |FreeBSD 開発スナップショットのアナウンス |link:{freebsd-sparc64-url}[freebsd-sparc64] |FreeBSD の SPARC(R) ベースシステムへの移植 |link:{freebsd-standards-url}[freebsd-standards] |C99 および POSIX(R) 標準への FreeBSD の適合について |link:{freebsd-sysinstall-url}[freebsd-sysinstall] |man:sysinstall[8] の開発 |link:{freebsd-tcltk-url}[freebsd-tcltk] |FreeBSD 固有の Tcl/Tk に関する議論 |link:{freebsd-testing-url}[freebsd-testing] |FreeBSD における試験 |link:{freebsd-tex-url}[freebsd-tex] |TeX および関連アプリケーションの FreeBSD への移植 |link:{freebsd-threads-url}[freebsd-threads] |FreeBSD のスレッドについて |link:{freebsd-tilera-url}[freebsd-tilera] |Tilera ファミリ CPU への FreeBSD の移植 |link:{freebsd-tokenring-url}[freebsd-tokenring] |FreeBSD でのトークンリングのサポート |link:{freebsd-toolchain-url}[freebsd-toolchain] |FreeBSD の統合されたツールチェインのメンテナンス |link:{freebsd-translators-url}[freebsd-translators] |FreeBSD 文書およびプログラムの翻訳 |link:{freebsd-transport-url}[freebsd-transport] |FreeBSD でのトランスポートレベルネットワークプロトコルに関する議論 |link:{freebsd-usb-url}[freebsd-usb] |FreeBSD の USB 対応に関する議論 |link:{freebsd-virtualization-url}[freebsd-virtualization] |FreeBSD によりサポートされているさまざまな仮想化技術についての議論 |link:{freebsd-vuxml-url}[freebsd-vuxml] |VuXML インフラストラクチャに関する議論 |link:{freebsd-wireless-url}[freebsd-wireless] |802.11 スタック、 ツールおよびデバイスドライバの開発に関する議論 |link:{freebsd-x11-url}[freebsd-x11] |FreeBSD での X11 のメンテナンスとサポート |link:{freebsd-xen-url}[freebsd-xen] |FreeBSD の Xen(TM) への移植 - 実装および利用についての議論 |link:{freebsd-xfce-url}[freebsd-xfce] |XFCE の FreeBSD への移植や保守について |link:{freebsd-zope-url}[freebsd-zope] |Zope の FreeBSD への移植や保守について |=== _制限されているメーリングリスト:_ 以下のメーリングリストはより特化された (そしてより厳しい) メンバーのためのものであり、 一般的な興味を惹くようなものではありません。 このようなメーリングリストに参加する前に、 技術的なメーリングリストで自らの存在感をアピールするのは良い考えです。 そうすることにより、 議論の際のエチケットを学ぶことができるでしょう。 [.informaltable] [cols="1,1", frame="none", options="header"] |=== | メーリングリスト | 目的 |link:{freebsd-hubs-url}[freebsd-hubs] |ミラーサイトを運営している人達 (基盤のサポート) |link:{freebsd-user-groups-url}[freebsd-user-groups] |ユーザグループの調整 |link:{freebsd-wip-status-url}[freebsd-wip-status] |FreeBSD の進行中のプロジェクトに関する状況 |=== _メーリングリストのダイジェスト版:_ 上述のメーリングリストのすべてでダイジェスト版を利用できます。 メーリングリストに登録すると、アカウントのオプションセクションで、 ダイジェストのオプションを変更できます。 _コミットメッセージリスト:_ 以下のメーリングリストは、 ソースツリーのさまざまな領域に対する変更に対するログメッセージを見ることに興味のある人向けです。 [NOTE] ==== SVN ログメッセージは SVN のメーリングリストに送られます。 ==== [.informaltable] [cols="1,1,1", frame="none", options="header"] |=== | メーリングリスト | ソースの範囲 | (ソースの) 範囲の説明 |{dev-commits-doc-all-url}[dev-commits-doc-all] |[.filename]#/usr/doc# |doc リポジトリへ加えられたすべての変更 |{dev-commits-ports-all-url}[dev-commits-ports-all] |[.filename]#/usr/ports# |ports リポジトリへ加えられたすべての変更 |{dev-commits-ports-main-url}[dev-commits-ports-main] |[.filename]#/usr/ports# |ports リポジトリの "main" ブランチに加えられたすべての変更 |{dev-commits-ports-branches-url}[dev-commits-ports-branches] |[.filename]#/usr/ports# |ports リポジトリの四半期ごとのブランチに加えられたすべての変更 |{dev-commits-src-all-url}[dev-commits-src-all] |[.filename]#/usr/src# |src リポジトリへ加えられたすべての変更 |{dev-commits-src-main-url}[dev-commits-src-main] |[.filename]#/usr/src# |src リポジトリの "main" ブランチ (FreeBSD-CURRENT ブランチ) に加えられたすべての変更 |{dev-commits-src-branches-url}[dev-commits-src-branches] |[.filename]#/usr/src# |src リポジトリのすべての stable ブランチに加えられたすべての変更 |=== _SVN メーリングリスト:_ 以下のメーリングリストは、 ソースツリーのさまざまな領域に対する変更の SVN ログメッセージを見ることに興味のある人向けです。 [NOTE] ==== SVN ログメッセージのみが SVN のメーリングリストに送られます。 SVN から Git への移行後は、以下のメーリングリストには、新しいコミットメッセージは送られない予定です。 ==== [.informaltable] [cols="1,1,1", frame="none", options="header"] |=== | メーリングリスト | ソースの範囲 | (ソースの) 範囲の説明 |link:{svn-doc-all-url}[svn-doc-all] |[.filename]#/usr/doc# |doc subversion リポジトリへ加えられたすべての変更 ([.filename]#user#, [.filename]#projects# および [.filename]#translations# を除く) |link:{svn-doc-head-url}[svn-doc-head] |[.filename]#/usr/doc# |doc subversion リポジトリの "head" ブランチに加えられたすべての変更 |link:{svn-doc-projects-url}[svn-doc-projects] |[.filename]#/usr/doc/projects# |doc subversion リポジトリの [.filename]#projects# に加えられたすべての変更 |link:{svn-doc-svnadmin-url}[svn-doc-svnadmin] |[.filename]#/usr/doc# |doc subversion リポジトリの管理用スクリプト、 フックおよび他のコンフィグレーションデータに対して加えられたすべての変更 |link:{svn-ports-all-url}[svn-ports-all] |[.filename]#/usr/ports# |ports subversion リポジトリへ加えられたすべての変更 |link:{svn-ports-head-url}[svn-ports-head] |[.filename]#/usr/ports# |ports subversion リポジトリの "head" ブランチに加えられたすべての変更 |link:{svn-ports-svnadmin-url}[svn-ports-svnadmin] |[.filename]#/usr/ports# |ports subversion リポジトリの管理用スクリプト、 フックおよび他のコンフィグレーションデータに対して加えられたすべての変更 |{svn-src-all} |[.filename]#/usr/src# |src subversion リポジトリへ加えられたすべての変更 ([.filename]#user# および [.filename]#projects# を除く) |{svn-src-head} |[.filename]#/usr/src# |src subversion リポジトリの "head" ブランチ (FreeBSD-CURRENT ブランチ) に加えられたすべての変更 |link:{svn-src-projects-url}[svn-src-projects] |[.filename]#/usr/projects# |src subversion リポジトリの [.filename]#projects# に加えられたすべての変更 |link:{svn-src-release-url}[svn-src-release] |[.filename]#/usr/src# |src subversion リポジトリの [.filename]#releases# に加えられたすべての変更 |link:{svn-src-releng-url}[svn-src-releng] |[.filename]#/usr/src# |src subversion リポジトリの [.filename]#releng# ブランチ (セキュリティ / リリースエンジニアリングブランチ) に加えられたすべての変更 |link:{svn-src-stable-url}[svn-src-stable] |[.filename]#/usr/src# |src subversion リポジトリのすべての stable ブランチに加えられたすべての変更 |link:{svn-src-stable-6-url}[svn-src-stable-6] |[.filename]#/usr/src# |src subversion リポジトリの [.filename]#stable/6# ブランチに加えられたすべての変更 |link:{svn-src-stable-7-url}[svn-src-stable-7] |[.filename]#/usr/src# |src subversion リポジトリの [.filename]#stable/7# ブランチに加えられたすべての変更 |link:{svn-src-stable-8-url}[svn-src-stable-8] |[.filename]#/usr/src# |src subversion リポジトリの [.filename]#stable/8# ブランチに加えられたすべての変更 |{svn-src-stable-9} |[.filename]#/usr/src# |src subversion リポジトリの [.filename]#stable/9# ブランチに加えられたすべての変更 |link:{svn-src-stable-10-url}[svn-src-stable-10] |[.filename]#/usr/src# |src subversion リポジトリの [.filename]#stable/10# ブランチに加えられたすべての変更 |link:{svn-src-stable-11-url}[svn-src-stable-11] |[.filename]#/usr/src# |src subversion リポジトリの [.filename]#stable/11# ブランチに加えられたすべての変更 |link:{svn-src-stable-12-url}[svn-src-stable-12] |[.filename]#/usr/src# |src subversion リポジトリの [.filename]#stable/12# ブランチに加えられたすべての変更 |link:{svn-src-stable-other-url}[svn-src-stable-other] |[.filename]#/usr/src# |src subversion リポジトリの古い [.filename]#stable# ブランチに加えられたすべての変更 |link:{svn-src-svnadmin-url}[svn-src-svnadmin] |[.filename]#/usr/src# |src subversion リポジトリの管理用スクリプト、 フックおよび他のコンフィグレーションデータに対して加えられたすべての変更 |link:{svn-src-user-url}[svn-src-user] |[.filename]#/usr/src# |src subversion リポジトリの [.filename]#user# に加えられた実験的なすべての変更 |link:{svn-src-vendor-url}[svn-src-vendor] |[.filename]#/usr/src# |src subversion リポジトリの vender に加えられたすべての変更 |=== [[eresources-subscribe]] === 参加方法 -メーリングリストに参加するには、{mailman-lists-url} で、 希望のメーリングリストをクリックしてください。 表示されるページには、 各メーリングリストに登録するために必要な手順が書かれています。 +メーリングリストに参加するには、{mailing-lists-url} で、 希望のメーリングリストをクリックしてください。 表示されるページには、 各メーリングリストに登録するために必要な手順が書かれています。 メーリングリストにメールを送るには、 mailto:listname@FreeBSD.org[listname@FreeBSD.org] にメールを送ってください。すると、 メーリングリストに登録されている世界中のメンバに再配布されます。 メーリングリストから登録を解除する場合は、 メーリングリストで配信されているメールの最後にある URL をクリックしてください。または、 mailto:listname-unsubscribe@FreeBSD.org[listname-unsubscribe@FreeBSD.org] にメールを送信することでも登録を解除できます。 技術的なメーリングリストでは、 技術的な議論を保つようにすることが重要です。 もし、重要なアナウンスのみを受け取りたいのであれば、 {freebsd-announce} への参加をお勧めします。 ここには、あまりたくさんのメールは流れません。 [[eresources-charters]] === メーリングリストの憲章 _すべて_ FreeBSD メーリングリストは誰でもそれらを利用することに固守しなければいけないという一定の簡単なルールがあります。 これらのルールに従わないと、結果として FreeBSD の Postmaster mailto:postmaster@FreeBSD.org[postmaster@FreeBSD.org] から 2 回までは警告を受けます。 3 回違反すると、投稿者はすべての FreeBSD のメーリングリストから削除され、 そのメーリングリストへのさらなる投稿から締め出されるでしょう。 これらのルールや対策が必要なのは残念です。 しかし、今日のインターネットはずいぶんいやらしい環境になっており、 一般の人々は、その (対策の) メカニズムがいかにもろいかという事すら認識する事が出来ていないと思われます。 道標 * いかなる投稿記事もそのメーリングリストの基本的な憲章を守るべきです。 そのメーリングリストが技術的な問題に関するものであれば、 技術的な議論を含む投稿でなければなりません。 現在継続中の不適切な憲章やフレイムは、 所属しているすべての人に対してメーリングリストの価値を下げてしまうだけですし、 許される行為ではないでしょう。 とくに話題のない自由形式の議論に対しては {freebsd-chat} が自由に認可されているので、 かわりに使うべきでしょう。 * 一度に 3 つ以上のメーリングリストには決して投稿すべきではありません。 2 つのメーリングリストには双方に明確な必要性がある場合にのみ投稿すべきです。 どのリストに対しても、 (メーリングリストの)参加者は (複数のメーリングリストに) 重複して参加しており、関連する部分が少ない (たとえば、 "-stable" と "-scsi") メーリングリストを除いては、 一度に複数のメーリングリストに投稿する理由は全くありません。 `Cc` に複数のメーリングリストが含まれたメッセージを受信した場合には、 そのメールに返事を出す前に、 `Cc` の部分を編集してください。 _元記事を書いたのが誰であっても、 返信する方にもクロスポストの責任があります。_ * ユーザであれ開発者であれ、(議論の中で) 個人を攻撃したり冒涜したりすることは許されません。 個人的なメールを引用したり再投稿したりする許可をもらえなかったり、 もらえそうにない時に、 それをおこなう ようなネチケット (訳注: ネットワークにおけるエチケット) に対するひどい違反は好まれませんが、 してはならないと特別に定められている わけではありません。 _しかしながら_、 そのような内容がメーリングリストの憲章に沿う場合はほとんどありません。 このため、メーリングリストの憲章に違反しているということだけで警告 (または禁止) に値するものと考えていいでしょう。 * FreeBSD 以外の関連する製品やサービスの広告は、 絶対に禁止し、spam による違反者が宣伝していることが明確であったら、 すぐに禁止します。 _個々のメーリングリストの憲章:_ {freebsd-acpi}:: _ACPI および電源管理開発_ link:{freebsd-fortran-url}[freebsd-fortran]:: _FreeBSD での Fortran_ + FreeBSD での Fortran に関連した ports の議論のためのメーリングリストです。 ラップトップから HPC クラスタまで、 コンパイラ、ライブラリ、 科学および工学のアプリケーションが対象です。 {freebsd-announce}:: _重要なイベント/マイルストン_ + これは、単にたまに発表される重要な FreeBSD のイベントに関心がある人のためのメーリングリストです。 これは、 スナップショットやその他のリリースについてのアナウンスを含みます。 そのアナウンスは新しい FreeBSD の機能のアナウンスを含んでいます。 ボランティア等の呼びかけがあるかもしれません。 これは流通量の少ないメーリングリストで、 完全なモデレートメーリングリストです。 link:{freebsd-arch-url}[freebsd-arch]:: _アーキテクチャと設計の議論_ + これは、FreeBSD のアーキテクチャに関する議論を行なうためのメーリングリストです。 当然、その内容は原則的に技術的なものに限定されます。 このメーリングリストにふさわしい話題は以下のようなものです。 ** 複数のカスタマイズされたビルドを同時に行うには、 ビルドシステムをどういじり直せばよいか ** VFS で Heidemann レイヤを動作させるには、 何を修正する必要があるか ** 同一のデバイスドライバを多数のバス、 アーキテクチャに共通で使えるようにするには、 デバイスドライバインタフェースをどう改変すれば良いか ** ネットワークドライバの書き方 link:{freebsd-bluetooth-url}[freebsd-bluetooth]:: _FreeBSD 上での Bluetooth(R)_ + FreeBSD の Bluetooth(R) ユーザが集まるフォーラムです。 デザイン、実装の詳細、パッチ、障害報告、開発進捗レポート、 機能の要求、Bluetooth(R) に関連したすべての事柄が対象です。 link:{freebsd-bugbusters-url}[freebsd-bugbusters]:: _障害報告の取り扱いに関する調整_ + このメーリングリストは、 バグマイスター、バグバスター、 および他の障害報告データベースに純粋に興味を持っているグループの調整や議論についてのフォーラムです。 このメーリングリストは、個別のバグ、パッチ、 障害報告について議論を行うためのものではありません。 link:{freebsd-bugs-url}[freebsd-bugs]:: _バグレポート_ + これは、FreeBSD のバグレポートのためのメーリングリストです。 可能である場合はいつでも、バグは man:send-pr[1] を使うか、 https://bugs.freebsd.org/bugzilla/enter_bug.cgi[web interface]を用いて送られる必要があります。 link:{freebsd-chat-url}[freebsd-chat]:: _FreeBSD のコミュニティに関する技術的ではない話題_ + このメーリングリストは技術的ではなく、 社会的な情報について、 他のメーリングリストでは取り扱わない話題を含みます。 これは、Jordan がシロイタチに似ているかどうか、 大文字で打つかどうか、誰がたくさんコーヒーを飲むか、 どこのビールが一番うまいか、 誰が地下室でビールを作っているか、 などについての議論を含みます。時々重要なイベント (将来開催されるパーティーや、結婚式、誕生日、 新しい仕事など) のお知らせが、 技術的なメーリングリストからでてきます。しかし、 フォローは直接 -chatメーリングリストにするべきです。 link:{freebsd-chromium-url}[freebsd-chromium]:: _FreeBSD 固有の Chromium の問題_ + FreeBSD における Chromium のサポートについて議論を行うためのメーリングリストです。 Chromium の開発およびインストールに関して議論を行う技術的なメーリングリストです。 link:{freebsd-cloud-url}[freebsd-cloud]:: _さまざまなクラウドプラットフォームでの FreeBSD の実行_ + このメーリングリストでは、FreeBSD を Amazon EC2, Google Compute Engine, Microsoft Azure およびその他のクラウドコンピューティングプラットフォームでの使用について議論を行います。 {core-name}:: _FreeBSD コアチーム_ + これは、コアメンバが使う内部メーリングリストです。 FreeBSD に関連する深刻なやっかい事の裁定やハイレベルな綿密な調査を要求するときに、 このメーリングリストにメッセージを送る事が出来ます。 {freebsd-current}:: _FreeBSD-CURRENT の使用に関する議論_ + これは FreeBSD-CURRENT のユーザのためのメーリングリストです。 メーリングリストでの話題は、-CURRENT で登場した新しい機能について、 その新機能によってユーザに影響することについての注意、 および -CURRENT のままでいるために必要な手順についての説明を含みます。 "CURRENT" を走らせている人はこのメーリングリストに登録しなくてはなりません。 これは技術的なメーリングリストなので、 完全に技術的な内容を要求します。 link:{freebsd-desktop-url}[freebsd-desktop]:: _デスクトップでの FreeBSD の利用や改良について_ + デスクトップでの FreeBSD について議論を行うためのフォーラムです。 主として、デスクトップの移植者やユーザが FreeBSD のデスクトップサポートに関する問題点や改良について議論する場です。 link:{dev-ci-url}[dev-ci]:: _ビルドおよび試験結果の継続的インテグレーションレポート_ + ビルドおよび試験結果に関するすべての継続的インテグレーションのレポート link:{dev-reviews-url}[dev-reviews]:: _FreeBSD レビューツールの進行中の作業の通知_ + パッチを含む FreeBSD レビューツールによる進行中のレビュー作業の自動通知 link:{freebsd-doc-url}[freebsd-doc]:: _ドキュメンテーションプロジェクト_ + このメーリングリストは FreeBSD 向けの文書の作成に関連する事柄やプロジェクトについて議論を行なうためのものです。 このメーリングリストに参加しているメンバは、 "FreeBSD ドキュメンテーションプロジェクト" に参加していることになります。 このメーリングリストは公開されているので、 参加や投稿は自由に行なうことができます。 link:{freebsd-drivers-url}[freebsd-drivers]:: _FreeBSD のデバイスドライバの書き方について_ + このメーリングリストは、FreeBSD のデバイスドライバに関連した技術的なフォーラムです。 主にデバイスドライバを書く人たちが、 FreeBSD カーネルの API を使ったデバイスドライバの書き方について質問を行う場です。 link:{freebsd-dtrace-url}[freebsd-dtrace]:: _FreeBSD における Dtrace の利用と開発_ + DTrace は、 カーネルおよびユーザ空間のプログラムを実行時に解析するためのフレームワークを提供するもので、 FreeBSD に統合されています。 このメーリングリストは、 コードの開発者および利用者の議論のアーカイブです。 link:{freebsd-eclipse-url}[freebsd-eclipse]:: _Eclipse IDE, ツール、 リッチクライアントアプリケーションの FreeBSD ユーザおよび ports_ + このメーリングリストの目的は、FreeBSD プラットフォームでの Eclipse IDE、ツール、リッチクライアントアプリケーションについて、 選択、インストール、利用、 開発および管理に関係するすべての相互支援を提供すること、 そして Eclipse IDE およびプラグインの FreeBSD 環境への移植を手助けすることです。 + このメーリングリストのもう一つの目的は、 Eclipse コミュニティと FreeBSD コミュニティが相互に利益になるような情報交換の場を提供することです。 + このメーリングリストは、主に Eclipse ユーザのニーズに焦点が当てられていますが、 Eclipse フレームワークを用いた FreeBSD アプリケーションの開発に関わる方々のフォーラムにもなっています。 link:{freebsd-embedded-url}[freebsd-embedded]:: _組み込みアプリケーションにおける FreeBSD の利用_ + このメーリングリストは、組み込みシステムにおける FreeBSD の利用に関するトピックを議論するためのものです。 これは技術的なメーリングリストなので、 完全に技術的な内容を要求します。 このメーリングリストにおいて、 組み込みシステムは、 デスクトップや通常の一般的なコンピュータ環境ではなく、 単一の目的のために使われるコンピュータデバイスを意味します。 これらの例は、 携帯電話、ルータやスイッチおよび PBX といったネットワーク機器、 PDA, POS システムといったものです。 link:{freebsd-emulation-url}[freebsd-emulation]:: _Linux/MS-DOS(R)/Windows(R) 等の他のシステムのエミュレーション_ + 他のオペレーティングシステムに書かれたプログラムを、 FreeBSD で走らせることに関連した技術的な議論のためのフォーラムです。 link:{freebsd-enlightenment-url}[freebsd-enlightenment]:: _Enlightenment_ + FreeBSD システムでの Enlightenment デスクトップ環境に関連した議論。 技術的なメーリングリストなので、 完全に技術的な内容が要求されます。 link:{freebsd-eol-url}[freebsd-eol]:: _FreeBSD プロジェクトによるサポートが終了した FreeBSD に関連したソフトウェアのピアサポート_ + FreeBSD プロジェクトによる、 セキュリティアドバイザリおよびパッチの公式サポートが終了した FreeBSD 関連ソフトウェアのピアサポートを提供したり利用することに興味を持っている人達のためのメーリングリストです。 link:{freebsd-firewire-url}[freebsd-firewire]:: _FireWire(R) (iLink, IEEE 1394)_ + このメーリングリストは、FreeBSD における FireWire(R) (IEEE 1394, iLink) サブシステムの設計と実装について議論を行うためのものです。 標準化、バスデバイスとそのプロトコル、 アダプタボード/カード/チップセット、そして、 それらに適切に対応するためのアーキテクチャとコードの実装が特に関連するトピックです。 link:{freebsd-fs-url}[freebsd-fs]:: _ファイルシステム_ + FreeBSD のファイルシステムに関する議論。 これは技術的なメーリングリストなので、 完全に技術的な内容を要求します。 link:{freebsd-games-url}[freebsd-games]:: _FreeBSD のゲーム_ + FreeBSD にゲームを持ち込むことに関連した議論を行うメーリングリストです。 活発にゲームを FreeBSD に移植する作業を行っている方や、 問題を提起したり、 その他の解決方法を議論したりする方のためのものです。 技術的な議論に興味のある方の参加も歓迎されます。 link:{freebsd-gecko-url}[freebsd-gecko]:: _Gecko レンダリングエンジン_ + FreeBSD を使った Gecko アプリケーションについてのフォーラムです。 + このメーリングリストでは、Gecko Ports アプリケーション、インストール、開発および FreeBSD でのサポートといった話題を中心に議論が行われます。 link:{freebsd-geom-url}[freebsd-geom]:: _GEOM_ + GEOM および関連した実装に関する議論。 これは技術的なメーリングリストなので、 完全に技術的な内容が要求されます。 link:{freebsd-git-url}[freebsd-git]:: _FreeBSD での git の使用_ + FreeBSD のプロジェクトコラボレーションおける github ミラーおよびその他の git の使用など、git インフラストラクチャをどのように使うかといった議論が行われます。 FreeBSD github ミラーから git を使用する方々が議論に参加しています。 ミラーの使用を考えている方や、git の一般的な FreeBSD での使用を考えている方はここで質問できます。 link:{freebsd-gnome-url}[freebsd-gnome]:: _GNOME_ + FreeBSD の GNOME Desktop Environment に関する議論。 これは技術的なメーリングリストなので、 完全に技術的な内容を要求します。 link:{freebsd-infiniband-url}[freebsd-infiniband]:: _FreeBSD での Infiniband の使用_ + FreeBSD における Infiniband, OFED および OpenSM に関する技術的なメーリングリストです。 link:{freebsd-ipfw-url}[freebsd-ipfw]:: _IP Firewall_ + これは FreeBSD の IP firewall コードの再設計に関する技術的な議論のためのフォーラムです。 これは技術的なメーリングリストなので、 完全に技術的な内容を要求します。 link:{freebsd-isdn-url}[freebsd-isdn]:: _ISDN コミュニケーション_ + このメーリングリストは、 FreeBSD に対する ISDN サポートの開発の議論をおこなう人のためのものです. link:{freebsd-java-url}[freebsd-java]:: _Java(TM) の開発_ + このメーリングリストは、FreeBSD 向けの重要な Java(TM) アプリケーションの開発や、JDK(TM) の移植やメンテナンスの議論をする人のためのものです. [[eresources-charters-jobs]] link:{freebsd-jobs-url}[freebsd-jobs]:: _求人情報および就職希望情報_ + FreeBSD に関連した就職情報、および FreeBSD に関連した職業を探している方が履歴書を投稿するためのフォーラムです。 このメーリングリストは一般的な就職情報のためのものでは _ありません_。 一般的な就職情報については、 既に別な場所に適切なフォーラムがあるので、 そちらに投稿してください。 + 他の `FreeBSD.org` メーリングリスト同様に、 このメーリングリストは全世界に配信されます。 地域に関する情報や、 在宅勤務なのか移転のための支援を受けられるかどうかを明確にしてください。 + メールでは、オープンフォーマットのみを使う必要があります。 - プレインテキストが好ましいのですが、 多くの読者は、 Portable Document Format (PDF), HTML および他にもいくつかのフォーマットを使用できるでしょう。 Microsoft(R) Word ([.filename]#.doc#) のようなクローズドフォーマットは、 メーリングリストのサーバにより拒否されてしまいます。 link:{freebsd-kde-url}[freebsd-kde]:: _KDE_ + FreeBSD システムにおける KDE に関する議論。 これは技術的なメーリングリストなので、 完全に技術的な内容を要求します。 link:{freebsd-hackers-url}[freebsd-hackers]:: _技術的な議論_ + これは FreeBSD に関する技術的な議論のためのフォーラムです。 これは最もテクニカルなメーリングリストです。 このメーリングリストは、FreeBSD 上でアクティブに活動をしている人のためのもので、 問題を持ち出したり、代わりの解決法を議論します。 技術的な議論をフォローするのに興味がある人も歓迎します。 これは技術的なメーリングリストなので、 完全に技術的な内容を要求します。 link:{freebsd-hardware-url}[freebsd-hardware]:: _FreeBSD のハードウェアの一般的な議論_ + FreeBSD が走っているハードウェアのタイプや、 何を買ったり避けたりするかに関する様々な問題や、 提案に関する議論。 link:{freebsd-hubs-url}[freebsd-hubs]:: _ミラーサイト_ + FreeBSD ミラーサイトを運用している人達向けの、 アナウンスと議論を行なうメーリングリストです。 link:{freebsd-isp-url}[freebsd-isp]:: _インターネットサービスプロバイダのについての話題_ + このメーリングリストは、 FreeBSD を用いたインターネット サービスプロバイダ (ISP) に関する話題の議論のためのものです。 これは技術的なメーリングリストなので、 完全に技術的な内容を要求します。 link:{freebsd-mono-url}[freebsd-mono]:: _FreeBSD における Mono および C# アプリケーション_ + FreeBSD 上での Mono 開発フレームワークに関連した議論を行うためのメーリングリストです。 これは、技術的なメーリングリストです。 Mono または C# アプリケーションの FreeBSD への移植を活発に行っている方が、 問題を提起したり、他の解決方法について議論を行うためのものです。 技術的な議論に興味を持っている方の参加も歓迎されます。 link:{freebsd-ocaml-url}[freebsd-ocaml]:: _FreeBSD 固有の OCaml に関する議論_ + このメーリングリストは、FreeBSD における OCaml に関する議論の場です。 このメーリングリストは技術的なメーリングリストです。 OCaml port、サードパーティ製ライブラリ、 およびフレームワークに関して作業を行っている個人のためのものです。 技術的な議論に興味を持っている個人の参加が歓迎されます。 link:{freebsd-office-url}[freebsd-office]:: _FreeBSD でのオフィスアプリケーション_ + FreeBSD におけるオフィスアプリケーションのインストール、 開発およびサポートについての議論の場です。 link:{freebsd-ops-announce-url}[freebsd-ops-announce]:: _プロジェクトのインフラストラクチャに関するアナウンス_ + FreeBSD.org プロジェクトのインフラストラクチャの変更や関連した問題について興味を持っている向けのメーリングリストです。 + このモデレートメーリングリストは、 アナウンスに制限されています (返答や要求、議論、意見を述べる場ではありません)。 link:{freebsd-performance-url}[freebsd-performance]:: _FreeBSD のチューニングや速度向上に関する議論_ + このメーリングリストは、ハッカー、 管理者および関連グループが、 FreeBSD のパフォーマンスに関するトピックを議論する場です。 このメーリングリストで議論されるべきトピックは、 高負荷における FreeBSD の導入において経験するパフォーマンスの問題や FreeBSD の限界に挑むような話題を含みます。 FreeBSD のパフォーマンスを改善したいと考えている方は、 このメーリングリストに登録してください。 このメーリングリストは、FreeBSD の高速化、 堅牢さ、拡張性に興味をもっている、経験のある FreeBSD ユーザ、ハッカー、管理者向けの高度な技術的メーリングです。 ドキュメントに目を通さずに質問して答えを求めるような Q and A タイプのメーリングリストではなく、 未解決で答えのないパフォーマンスに関連したトピックへの貢献や問い合わせの場です。 link:{freebsd-pkg-url}[freebsd-pkg]:: _バイナリ package 管理および package ツールについての議論_ + ソフトウェアのインストールにバイナリ package を用いる FreeBSD システム管理のすべての側面に関する議論。 バイナリ package のツールキットとフォーマット、 それらの FreeBSD における開発とサポート、 package リポジトリ管理そしてサードパーティ製 package を含みます。 + package の作成に失敗する ports に関する議論は ports の問題として考えるべきであり、 このメーリングリストで議論することは適切ではありません。 link:{freebsd-pf-url}[freebsd-pf]:: _パケットフィルタファイアウォールシステムに関する議論および質問_ + FreeBSD のパケットフィルタ (pf) ファイアウォールシステムに関連した議論。 技術的な議論およびユーザによる質問の両方が歓迎されます。 このメーリングリストは、ALTQ QoS フレームワークについて議論する場でもあります。 link:{freebsd-pkg-fallout-url}[freebsd-pkg-fallout]:: _package ビルドに失敗したログ_ + package ビルドクラスタにおいて package ビルドに失敗したすべてのログ link:{freebsd-pkgbase-url}[freebsd-pkgbase]:: _FreeBSD ベースシステムの pkg 化_ + FreeBSD ベースシステムの pkg 化に関する実装および課題についての議論。 link:{freebsd-platforms-url}[freebsd-platforms]:: _Intel(R) 以外のプラットフォームへの移植_ + クロスプラットフォームの FreeBSD の問題。Intel(R) 以外のプラットフォームへの FreeBSD の移植についての一般的な議論や提案。 これは技術的なメーリングリストなので、 完全に技術的な内容を要求します。 link:{freebsd-ports-url}[freebsd-ports]:: _"ports" の議論_ + FreeBSD "Ports Collection" ([.filename]#/usr/ports#) に関連する話題や、 Ports Collection の基盤および ports の一般的な構成の整備活動に関する議論。 これは技術的なメーリングリストなので、 厳密に技術的な内容のみが扱われます。 link:{freebsd-ports-announce-url}[freebsd-ports-announce]:: _FreeBSD "Ports Collection" に関する重要なニュースと案内_ + "Ports Collection" ([.filename]#/usr/ports#) の開発者、 ports 作成者およびユーザへの重要なニュース。 アーキテクチャ/インフラストラクチャの変更、新しい機能、 重要なアップグレードの案内、 そしてリリースエンジニアリング情報が扱われます。 このメーリングリストの流量は少なく、 アナウンスを目的としたものです。 link:{freebsd-ports-bugs-url}[freebsd-ports-bugs]:: _"ports" のバグに関する議論_ + "Ports Collection" ([.filename]#/usr/ports#) の障害報告や新たな ports や変更についての提案についての議論。 これは技術的なメーリングリストなので、 厳密に技術的な内容のみが扱われます。 link:{freebsd-proliant-url}[freebsd-proliant]:: _HP ProLiant サーバプラットフォーム上での FreeBSD に関する技術的な議論_ + このメーリングリストは、HP ProLiant サーバ上での FreeBSD の利用に関した技術的な議論に用いられます。 ProLiant に特有のドライバ、管理ソフトウェア、設定ツール、および BIOS アップデートなどが含まれます。 hpasmd, hpasmcli および hpacucli モジュールについて議論する主要な場です。 link:{freebsd-python-url}[freebsd-python]:: _FreeBSD における Python_ + FreeBSD における Python サポートの改良に関連した議論を行うためのメーリングリストです。 これは技術的なメーリングリストです。 Python の移植に関する作業を行っている方や、 サードパーティ製モジュールおよび Zope を FreeBSD に移植している方を対象としたメーリングリストです。 技術的な議論に興味を持っている方の参加も歓迎されます。 link:{freebsd-questions-url}[freebsd-questions]:: _ユーザからの質問_ + FreeBSD に関する質問のためのメーリングリストです。 技術的なメーリングリストに対しては、 極めて技術的な質問でなければ、 "どのようにして" という質問を送るべきではありません。 link:{freebsd-ruby-url}[freebsd-ruby]:: _FreeBSD 固有の Ruby に関する議論_ + FreeBSD での Ruby サポートに関連した議論を行うためのメーリングリストです。 これは技術的なメーリングリストです。Ruby ports, サードパーティライブラリおよびフレームワークについて作業を行っている人達を対象としています。 + 技術的な議論に興味を持つ方の参加も歓迎されます。 link:{freebsd-scsi-url}[freebsd-scsi]:: _SCSI サブシステム_ + これは FreeBSD のための SCSI サブシステムについて作業している人向けです。 これは技術的なメーリングリストなので、 完全に技術的な内容を要求します。 {freebsd-security}:: _セキュリティの関連の話題_ + FreeBSD コンピュータのセキュリティの話題 (DES, Kerberos, よく知られているセキュリティホールや、 それらのふさぎ方など) これは技術的なメーリングリストなので、 完全に技術的な議論を要求します。 これは、Q and A のメーリングリストではありません。 FAQ に対する Q and A (質問と答えの両方) の貢献は、歓迎されます。 {freebsd-security-notifications}:: _セキュリティ関連の通知_ + FreeBSD のセキュリティ問題や、 修正に関する通知を行ないます。 このメーリングリストは議論を行なうためのメーリングリストではありません。 議論は FreeBSD-security で行ないます。 link:{freebsd-snapshots-url}[freebsd-snapshots]:: _FreeBSD 開発スナップショットのアナウンス_ + このメーリングリストは、head/ および stable/ ブランチからの新しい FreeBSD 開発スナップショットのアナウンスを行います。 {freebsd-stable}:: _FreeBSD-STABLE の使用に関する議論_ + これは FreeBSD-STABLE のユーザ用のメーリングリストです。 "STABLE" は、 RELEASE 後もバグフィックスおよび新しい機能の追加など、 開発が続いているブランチです。 バイナリ互換性のため、ABI は安定するように維持されます。 メーリングリストでの話題は、-STABLE で登場した新しい機能について、 その新機能によってユーザに影響することについての注意、 および -STABLE のままでいるために必要な手順についての説明を含みます。 "STABLE" を走らせている人はこのメーリングリストに登録すべきです。 これは技術的なメーリングリストなので、 完全に技術的な内容を要求します。 link:{freebsd-standards-url}[freebsd-standards]:: _C99 POSIX への適合_ + C99 および POSIX 標準への FreeBSD の適合に関連した技術的な議論を行うためのフォーラムです。 :: _FreeBSD による教育_ + FreeBSD による教育について議論を行うための技術的ではないメーリングリストです。 link:{freebsd-testing-url}[freebsd-testing]:: _FreeBSD における試験_ + ATF/Kyua、ビルド試験のインフラストラクチャ、 他のオペレーティングシステム (NetBSD, ...) から FreeBSD への移植に関する試験など、FreeBSD の試験に関して議論を行う技術的なメーリングリストです。 link:{freebsd-tex-url}[freebsd-tex]:: _TeX および関連アプリケーションの FreeBSD への移植_ + TeX および関連アプリケーションの FreeBSD への移植について議論する技術的なメーリングリストです。 TeX の FreeBSD への移植作業を活発に行っている個人が、 問題を提起したり、他の解決策について議論するためのものです。 技術的な議論に興味を持っている個人の参加も歓迎されます。 link:{freebsd-toolchain-url}[freebsd-toolchain]:: _FreeBSD の統合されたツールチェインのメンテナンス_ + FreeBSD のツールチェインのメンテナンスに関連した議論を行うためのメーリングリストです。 Clang および GCC の状況についての議論の他に、アセンブラ、 リンカおよびデバッガ等のソフトウェアの議論も行われます。 link:{freebsd-transport-url}[freebsd-transport]:: _FreeBSD でのトランスポートレベルネットワークプロトコルに関する議論_ + The transport mailing list exists for the discussion of issues and designs around the transport level protocols in the FreeBSD network stack, including TCP, SCTP and UDP. TCP, SCTP および UDP などの FreeBSD ネットワークスタックのトランスポートレベルプロトコルに関する問題や設計についての議論を行うためのメーリングリストです。 ドライバ特有の話題であったりネットワークプロトコルなどの他のネットワークに関するトピックは、 で議論してください。 link:{freebsd-translators-url}[freebsd-translators]:: _FreeBSD 文書およびプログラムの翻訳_ + FreeBSD 文書を英語から他の言語へと翻訳を行っている方々が、 翻訳方法やツールについて議論を行うメーリングリストです。 新しいメンバーは、自己紹介と、 興味のある翻訳言語をお知らせください。 link:{freebsd-usb-url}[freebsd-usb]:: _FreeBSD の USB 対応に関する議論_ + これは、FreeBSD の USB 対応に関連した議論を行うメーリングリストです。 link:{freebsd-user-groups-url}[freebsd-user-groups]:: _ユーザグループの調整のメーリングリスト_ + これは、ローカルなユーザグループがお互いに、または、 コアチームが指定した個人と問題を議論する、 それぞれのローカルエリアのユーザグループからの調整人向けのメーリングリストです。 このメーリングリストはユーザグループ間のミーティングの概要やプロジェクトの調整に制限されるべきです。 link:{freebsd-xfce-url}[freebsd-xfce]:: _XFCE_ + これは、XFCE 環境を FreeBSD へ移植することを議論する、技術的なメーリングリストです。 活発に XFCE を FreeBSD に移植する作業を行なっている人に向けたもので、 問題を提起したり、新しい解決法を議論することを目的としています。 技術的な議論に興味を持っている方の参加も歓迎します。 link:{freebsd-zope-url}[freebsd-zope]:: _Zope_ + これは、Zope 環境を FreeBSD へ移植することを議論する、技術的なメーリングリストです。 活発に Zope を FreeBSD に移植する作業を行なっている人に向けたもので、 問題を提起したり、新しい解決法を議論することを目的としています。 技術的な議論に興味を持っている方の参加も歓迎します。 link:{freebsd-virtualization-url}[freebsd-virtualization]:: _FreeBSD によりサポートされているさまざまな仮想化技術についての議論_ + FreeBSD によりサポートされているさまざまな仮想化技術に関する議論。 新しい機能および基本的な機能の実装に焦点を当てる一方で、 仮想化技術の使用の際に問題が起きた場合の手助けや議論のフォーラムでもあります。 link:{freebsd-wip-status-url}[freebsd-wip-status]:: _FreeBSD の進行中のプロジェクトの状況_ + このメーリングリストは、開発者が FreeBSD に関連したプロジェクトの立ち上げや進捗状況のアナウンスに利用するためのものです。 メールはモデレータ制です。 "To:" として最も適切な FreeBSD のメーリングリストを入れ、 このメーリングリストを "BCC:" に入れることが推奨されます。 このメーリングリスト上では、議論が許されていないため、 このように送信することで、 進捗状況の議論を別の適切なメーリングリストで議論できるようになります。 + どのようなメールが適切かについては、 アーカイブで確認してください。 + このメーリングリストへのメッセージの編集ダイジェスト版が、 進捗状況レポート として、数ヶ月おきに FreeBSD ウェブサイトに公開されます。 過去のレポートもアーカイブされています。 link:{freebsd-wireless-url}[freebsd-wireless]:: _802.11 スタック、 ツールおよびデバイスドライバの開発に関する議論_ + FreeBSD のワイヤレスに関するメーリングリストです。 バグ、新しい機能およびメンテナンスについての議論を含む、 802.11 スタック (sys/net80211)、 デバイスドライバおよびツールの開発に焦点が当てられています。 link:{freebsd-xen-url}[freebsd-xen]:: _FreeBSD の Xen(TM) への移植 - 実装および利用についての議論_ + このメーリングリストは、FreeBSD の Xen(TM) への移植に焦点が当てられています。 このメーリングリストのトラフィックは小さいので、 技術的な議論およびデザインの詳細と管理上の問題の両方についてのフォーラムとして期待されています。 [[eresources-mailfiltering]] === メーリングリストのフィルタリング FreeBSD のメーリングリストは、スパム、 ウィルスおよび他の不要なメールを配布してしまわないよう、 いくつかの方法でフィルタリングを行なっています。 この節で説明するフィルタリングは、 メーリングリストを守るために使われている方法のすべてというわけではありません。 メーリングリストでは、以下の添付ファイルを送ることができます。 以下の一覧以外の MIME content type の添付ファイルを含むファイルは、 メーリングリストに流れる前に取り除かれます。 * application/octet-stream * application/pdf * application/pgp-signature * application/x-pkcs7-signature * message/rfc822 * multipart/alternative * multipart/related * multipart/signed * text/html * text/plain * text/x-diff * text/x-patch [NOTE] ==== 他の MIME content type の添付を許可するメーリングリストもありますが、 上の一覧に含まれるものであれば、 ほとんどのメーリングリストで適用できます。 ==== HTML と plain テキストを両方含むメールでは、 HTML の部分が削除されます。 HTML のみを含むメールは、plain テキストに変換されます。 [[eresources-news]] == Usenet ニュースグループ 2 つの FreeBSD 用のニュースグループに加え、他にも FreeBSD の議論をしたり FreeBSD に関連するユーザがいるニュースグループがたくさんあります。 === BSD 用のニュースグループ * link:news:comp.unix.bsd.freebsd.announce[comp.unix.bsd.freebsd.announce] * link:news:comp.unix.bsd.freebsd.misc[comp.unix.bsd.freebsd.misc] * link:news:de.comp.os.unix.bsd[de.comp.os.unix.bsd] (ドイツ) * link:news:fr.comp.os.bsd[fr.comp.os.bsd] (フランス) === 関連する他の UNIX(R) のニュースグループ * link:news:comp.unix[comp.unix] * link:news:comp.unix.questions[comp.unix.questions] * link:news:comp.unix.admin[comp.unix.admin] * link:news:comp.unix.programmer[comp.unix.programmer] * link:news:comp.unix.shell[comp.unix.shell] * link:news:comp.unix.misc[comp.unix.misc] * link:news:comp.unix.bsd[comp.unix.bsd] === X Window システム * link:news:comp.windows.x[comp.windows.x] [[eresources-web]] == オフィシャルミラー <>, <>, <>, <>, <>, <>, <>, <>, <>, <>, <>, <>, <>, <>, <>, <>, <>, <>, <>, <>, <>, <>, <>, <>, <>. (as of UTC) [[central-mirrors]] *{central}* * {central-www} [[armenia-mirrors]] *{mirrors-armenia}* * {mirrors-armenia-www-httpv6} (IPv6) [[australia-mirrors]] *{mirrors-australia}* * {mirrors-australia-www-http} * {mirrors-australia-www2-http} [[austria-mirrors]] *{mirrors-austria}* * {mirrors-armenia-www-httpv6} (IPv6) [[czech-republic-mirrors]] *{mirrors-czech}* * {mirrors-czech-www-httpv6} (IPv6) [[denmark-mirrors]] *{mirrors-denmark}* * {mirrors-denmark-www-httpv6} (IPv6) [[finland-mirrors]] *{mirrors-finland}* * {mirrors-finland-www-http} [[france-mirrors]] *{mirrors-france}* * {mirrors-france-www-http} [[germany-mirrors]] *{mirrors-germany}* * {mirrors-germany-www-http} [[hong-kong-mirrors]] *{mirrors-hongkong}* * {mirrors-hongkong-www} [[ireland-mirrors]] *{mirrors-ireland}* * {mirrors-ireland-www} [[japan-mirrors]] *{mirrors-japan}* * {mirrors-japan-www-httpv6} (IPv6) [[latvia-mirrors]] *{mirrors-latvia}* * {mirrors-latvia-www} [[lithuania-mirrors]] *{mirrors-lithuania}* * {mirrors-lithuania-www} [[netherlands-mirrors]] *{mirrors-netherlands}* * {mirrors-netherlands-www} [[norway-mirrors]] *{mirrors-norway}* * {mirrors-norway-www} [[russia-mirrors]] *{mirrors-russia}* * {mirrors-russia-www-httpv6} (IPv6) [[slovenia-mirrors]] *{mirrors-slovenia}* * {mirrors-slovenia-www} [[south-africa-mirrors]] *{mirrors-south-africa}* * {mirrors-south-africa-www} [[spain-mirrors]] *{mirrors-spain}* * {mirrors-spain-www} * {mirrors-spain-www2} [[sweden-mirrors]] *{mirrors-sweden}* * {mirrors-sweden-www} [[switzerland-mirrors]] *{mirrors-switzerland}* * {mirrors-switzerland-www-httpv6} (IPv6) * {mirrors-switzerland-www2-httpv6} (IPv6) [[taiwan-mirrors]] *{mirrors-taiwan}* * {mirrors-taiwan-www} * {mirrors-taiwan-www2} * {mirrors-taiwan-www4} * {mirrors-taiwan-www5-httpv6} (IPv6) [[uk-mirrors]] *{mirrors-uk}* * {mirrors-uk-www} * {mirrors-uk-www3} [[usa-mirrors]] *{mirrors-us}* * {mirrors-us-www5-httpv6} (IPv6) :sectnums: :sectnumlevels: 6 diff --git a/documentation/content/mn/books/handbook/cutting-edge/_index.adoc b/documentation/content/mn/books/handbook/cutting-edge/_index.adoc index d2033dd800..9b0537506f 100644 --- a/documentation/content/mn/books/handbook/cutting-edge/_index.adoc +++ b/documentation/content/mn/books/handbook/cutting-edge/_index.adoc @@ -1,1540 +1,1540 @@ --- title: Бүлэг 25. FreeBSD-г шинэчилж сайжруулах нь part: хэсэг III. Системийн Удирдлага prev: books/handbook/l10n next: books/handbook/dtrace --- [[updating-upgrading]] = FreeBSD-г шинэчилж сайжруулах нь :doctype: book :toc: macro :toclevels: 1 :icons: font :sectnums: :sectnumlevels: 6 :source-highlighter: rouge :experimental: :skip-front-matter: :toc-title: Гарчиг :table-caption: Хүснэгт :figure-caption: Зураг :example-caption: Жишээ :xrefstyle: basic :relfileprefix: ../ :outfilesuffix: :sectnumoffset: 25 ifeval::["{backend}" == "html5"] :imagesdir: ../../../images/books/handbook/cutting-edge/ endif::[] ifeval::["{backend}" == "pdf"] :imagesdir: ../../../../static/images/books/handbook/cutting-edge/ endif::[] ifeval::["{backend}" == "epub3"] :imagesdir: ../../../../static/images/books/handbook/cutting-edge/ endif::[] include::shared/authors.adoc[] include::shared/releases.adoc[] include::shared/mn/mailing-lists.adoc[] include::shared/mn/teams.adoc[] include::shared/mn/urls.adoc[] toc::[] [[updating-upgrading-synopsis]] == Ерөнхий агуулга FreeBSD нь өөрийн хувилбаруудын хооронд байнгын хөгжүүлэлтийн доор оршин тогтнож байдаг. Зарим хүмүүс албан ёсоор гаргасан хувилбаруудыг ашиглах хүсэлтэй байдаг бол зарим хүмүүс хамгийн сүүлийн үеийн хөгжүүлэлтийг дагах сонирхолтой байдаг. Гэхдээ албан ёсны хувилбарууд хүртэл аюулгүй байдлын болоод бусад чухал засваруудаар шинэчлэгдэж байдаг. Ямар хувилбар ашиглаж байгаагаас үл хамаараад FreeBSD нь таны системийг шинэ байлгахад шаардлагатай бүх л хэрэгслүүд болон хувилбар хооронд хялбараар шинэчлэх боломжоор хангадаг. Энэхүү бүлэг нь хөгжүүлэлтийн системийг дагахыг хүсэх эсвэл гаргасан хувилбартай үлдэх эсэхийг шийдэхэд танд туслах болно. Таны системийг шинэчлэхэд зориулсан үндсэн хэрэгслүүдийг бас харуулах болно. Энэ бүлгийг уншсаны дараа, та дараах зүйлсийг мэдэх болно: * Систем болон портын цуглуулгыг ямар хэрэгслүүд ашиглан шинэчилж болох талаар. * freebsd-update, Subversion, CVSup, CVS, эсвэл CTM програмуудын тусламжтай өөрийн системийг хэрхэн хамгийн сүүлийн хэлбэрт авчрах талаар. * Суулгагдсан системийн төлвийг мэдэгдэж байгаа сайн хуулбартай хэрхэн харьцуулах талаар. * Subversion эсвэл баримтжуулах порт ашиглан өөрийн баримтуудыг хэрхэн сүүлийн хувилбарт байлгаж байх талаар. * FreeBSD-STABLE болон FreeBSD-CURRENT хөгжүүлэлтийн салбаруудын ялгаа. * Бүх үндсэн системийг `make buildworld` (гэх мэт) ашиглан хэрхэн дахин бүтээж суулгах талаар. Энэ бүлгийг уншихаасаа өмнө, та дараах зүйлсийг мэдэх шаардлагатай: * Өөрийн сүлжээний холболтыг зөв тохируулах (crossref:advanced-networking[advanced-networking,Сүлжээний нэмэлт ойлголтууд]). * Нэмэлт гуравдагч програм хангамжуудыг хэрхэн суулгахыг мэдэх (crossref:ports[ports,Програм суулгах. Багцууд болон портууд]). [NOTE] ==== Энэ бүлэгт FreeBSD-ийн эхийг авч шинэчлэхийн тулд `svn` тушаалыг ашиглагдсан. Үүнийг хэрэглэхийн тулд package:devel/subversion[] гэсэн порт буюу багцыг та суулгах хэрэгтэй. ==== [[updating-upgrading-freebsdupdate]] == FreeBSD-ийн шинэчлэлт Аюулгүй байдлын засваруудыг хийнэ гэдэг компьютерийн програм хангамж ялангуяа үйлдлийн системийг арчлалтын чухал хэсгийн нэг юм. Удаан хугацааны туршид FreeBSD дээр энэ процесс хялбар биш байлаа. Засваруудыг эх код руу хийж кодыг хоёртын хэлбэр рүү дахин бүтээж дараа нь хоёртын файлуудыг дахин суулгах шаардлагатай байлаа. Энэ нь одоо тийм биш болсон бөгөөд FreeBSD нь `freebsd-update` гэгддэг хэрэгслийг агуулдаг. Энэ хэрэгсэл нь хоёр тусдаа функцээр хангадаг. Нэгдүгээрт энэ нь бүтээлт болон суулгах шаардлагагүйгээр хоёртын аюулгүй байдал болон алдааны шинэчлэлтүүдийг FreeBSD-ийн үндсэн системд оруулах боломжийг олгодог. Хоёрдугаарт уг хэрэгсэл бага болон том хувилбарын шинэчлэлтүүдийг дэмждэг. [NOTE] ==== Аюулгүй байдлын багаар дэмжигдсэн бүх архитектур болон хувилбаруудын хувьд хоёртын шинэчлэлтүүд байдаг. Шинэ хувилбар руу шинэчлэхээс өмнө хүссэн хувилбарт чинь хамаатай чухал мэдээлэл байж болох учир одоогийн хувилбарын зарлалуудыг дахин үзэх хэрэгтэй. Тэдгээр зарлалуудыг дараах холбоосоос үзэж болно: http://www.FreeBSD.org/releases/[http://www.FreeBSD.org/releases/]. ==== Хэрэв `crontab` нь `freebsd-update`-ийн боломжуудыг хэрэглэж байвал дараах үйлдлийг эхлэхээс өмнө түүнийг болиулах хэрэгтэй. [[freebsdupdate-config-file]] === Тохиргооны файл Процессийг илүү хянах боломжтой болгож зарим хэрэглэгчид [.filename]#/etc/freebsd-update.conf# анхны тохиргооны файлыг өөрчлөхийг хүсэж болох юм. Тохиргоонууд нь маш сайн баримтжуулагдсан байдаг боловч дараах хэдэн зүйлийг арай илүү тайлбарлах шаардлагатай байж болох юм: [.programlisting] .... # Components of the base system which should be kept updated. Components src world kernel .... Энэ өгөгдөл нь FreeBSD-ийн аль хэсгийг шинэчлэхийг хянадаг. Анхдагчаар эх код, үндсэн систем бүтнээрээ ба цөмийг шинэчлэх байдаг. Бүрэлдэхүүн хэсгүүд нь суулгах явцад байдагтай адил байдаг бөгөөд жишээ нь `world/games` гэдгийг энд нэмэхэд тоглоомын засваруудыг хийх боломжийг олгоно. `src/bin` гэдгийг ашиглах нь [.filename]#src/bin# дахь эх кодыг шинэчлэх боломжийг олгодог. Хамгийн сайн тохиргоо бол үүнийг анхдагчаар нь үлдээх бөгөөд тусгай зүйлс оруулж үүнийг өөрчилснөөр хэрэглэгчид өөрсдийн шинэчлэхийг хүссэн зүйл болгоноо жагсааж оруулах шаардлагатай болно. Ингэснээр эх код болон хоёртын файлуудын хоорондох уялдаа алдагдаж гамшигт үр дагаварт хүргэж болно. [.programlisting] .... # Paths which start with anything matching an entry in an IgnorePaths # statement will be ignored. IgnorePaths .... [.filename]#/bin# эсвэл [.filename]#/sbin# зэрэг замуудыг нэмж эдгээр тусгай сангуудыг шинэчлэх процессийн явцад оролдохгүй орхиж болно. Энэ тохиргоо нь `freebsd-update` локал өөрчлөлтүүдийг дарж бичихээс хамгаалахад хэрэглэж болно. [.programlisting] .... # Paths which start with anything matching an entry in an UpdateIfUnmodified # statement will only be updated if the contents of the file have not been # modified by the user (unless changes are merged; see below). UpdateIfUnmodified /etc/ /var/ /root/ /.cshrc /.profile .... Заагдсан сангууд дахь тохиргооны файлууд өөрчлөгдөөгүй тохиолдолд шинэчилнэ. Хэрэглэгчийн хийсэн өөрчлөлтүүд эдгээр файлуудын автомат шинэчлэлтийг хүчингүй болгоно. `freebsd-update`-г нийлүүлэх явцад өөрчлөлтүүдийг хадгалахыг тушаах `KeepModifiedMetadata` гэсэн өөр нэг тохиргоо байдаг. [.programlisting] .... # When upgrading to a new FreeBSD release, files which match MergeChanges # will have any local changes merged into the version from the new release. MergeChanges /etc/ /var/named/etc/ .... `freebsd-update`-ийн нийлүүлэхийг оролдох тохиргооны файлуудтай сангуудын жагсаалт. Файл нийлүүлэх процесс нь цөөн тохиргоотой man:mergemaster[8]-тай төстэй man:diff[1] засварууд бөгөөд нийлүүлэлтийг эсвэл хүлээн авах юм уу эсвэл засварлагч нээж эсвэл `freebsd-update` ажиллагаагаа зогсоох болно. Эргэлзэж байвал [.filename]#/etc# санг нөөцөлж аваад нийлүүлэлтүүдийг хүлээн авах хэрэгтэй. `mergemaster` тушаалын талаар дэлгэрэнгүй мэдээллийг <>-с үзнэ үү. [.programlisting] .... # Directory in which to store downloaded updates and temporary # files used by FreeBSD Update. # WorkDir /var/db/freebsd-update .... Энэ сан нь бүх засварууд болон түр зуурын файлууд байх сан юм. Хэрэглэгч хувилбар шинэчлэлт хийж байвал энэ байрлал нь хамгийн багаар бодоход гигабайт дискийн зайтай байх шаардлагатай. [.programlisting] .... # When upgrading between releases, should the list of Components be # read strictly (StrictComponents yes) or merely as a list of components # which *might* be installed of which FreeBSD Update should figure out # which actually are installed and upgrade those (StrictComponents no)? # StrictComponents no .... `yes` гэж тохируулсан үед `freebsd-update` нь `Components` буюу бүрэлдэхүүн хэсгүүдийн жагсаалт бүрэн гэж тооцох бөгөөд жагсаалтаас гадна өөрчлөлт хийхийг оролдохгүй. `freebsd-update` нь `Components`-ийн жагсаалтад хамаарах файл бүрийг шинэчлэхийг оролдох болно. [[freebsdupdate-security-patches]] === Аюулгүй байдлын засварууд Аюулгүй байдлын засварууд нь алсын машин дээр хадгалагддаг бөгөөд дараах тушаал ашиглан татан авч суулгаж болно: [source,shell] .... # freebsd-update fetch # freebsd-update install .... Хэрэв цөмийн ямар нэг засвар хийгдсэн бол системийг дахин ачаалах хэрэгтэй. Хэрэв бүгд зөв явагдсан бол систем нь засвар хийгдсэн байх ёстой бөгөөд `freebsd-update`-ийг man:cron[8] ажлаас шөнө бүр ажиллуулж болно. Энэ ажлыг хийхэд дараах мөрийг [.filename]#/etc/crontab#-д хийхэд хангалттай байх болно: [.programlisting] .... @daily root freebsd-update cron .... Энэ мөр нь өдөр бүр `freebsd-update` хэрэгслийг ажиллуулахыг зааж байна. Ийм аргаар `cron`-ий нэмэлт өгөгдлийг ашиглан `freebsd-update` нь зөвхөн шинэчлэлт байгаа эсэхийг шалгах болно. Хэрэв засварууд байвал тэдгээрийг автоматаар диск рүү татаж авах бөгөөд гэхдээ засваруудыг хийхгүй. `root` хэрэглэгч рүү захиа илгээгдэх бөгөөд дараа нь тэд гараар суулгаж болох юм. Хэрэв ямар нэг зүйл буруу болбол `freebsd-update` нь дараах тушаалаар сүүлийн өөрчлөлтүүдийг буцаах чадвартай байдаг: [source,shell] .... # freebsd-update rollback .... Дууссаны дараа цөм эсвэл цөмийн модулиуд өөрчлөгдсөн бол системийг дахин эхлүүлэх хэрэгтэй. Энэ нь шинэ хоёртын файлуудыг санах ой руу дуудах боломжийг FreeBSD-д олгоно. `freebsd-update` хэрэгсэл нь автоматаар зөвхөн [.filename]#GENERIC# цөмийг шинэчилж чаддаг. Хэрэв өөрчлөн тохируулсан цөм ашиглагдаж байвал `freebsd-update` нь шинэчлэлтийг хийж дууссаны дараа цөмийг дахин бүтээж суулгах шаардлагатай. Гэхдээ `freebsd-update` нь [.filename]#/boot/GENERIC# (хэрэв байгаа бол) дахь [.filename]#GENERIC# цөмийг системийн тухайн үеийн (ажиллаж байгаа) цөм биш байсан ч гэсэн олж шинэчилдэг. [NOTE] ==== [.filename]#/boot/GENERIC# дахь [.filename]#GENERIC# цөмийн хуулбарыг үргэлж хадгалах нь ер нь зүйтэй байдаг. Энэ нь төрөл бүрийн асуудлуудыг шинжлэх болон <>-т тайлбарласны дагуу `freebsd-update`-г ашиглан хувилбар шинэчлэлтийг хийхэд ач тустай байх болно. ==== [.filename]#/etc/freebsd-update.conf# дахь анхдагч тохиргоо өөрчлөгдөөгүй л бол `freebsd-update` шинэчлэгдсэн цөмийн эхийг бусад шинэчлэлттэй цуг суулгах болно. Дараа нь өөрийн өөрчлөн тохируулсан цөмийг дахин бүтээж суулгахдаа энгийн сурсан аргаараа хийж болно. [NOTE] ==== `freebsd-update`-аар түгээгдсэн шинэчлэлтүүд нь цөмтэй үргэлж холбоотой байдаггүй. `freebsd-update install` тушаалаар цөмийн эх өөрчлөгдөөгүй бол өөрийн өөрчлөн тохируулсан цөмийг дахин бүтээх шаардлагагүй юм. Гэхдээ `freebsd-update` тушаал [.filename]#/usr/src/sys/conf/newvers.sh# файлыг үргэлж шинэчлэх болно. Тухайн үеийн нөхөөсийн түвшинг (`uname -r` тушаалаас гарсан `-p` дугаараар заагдсан) энэ файлаас авдаг. Өөр бусад юмс өөрчлөгдөөгүй байсан ч гэсэн өөрийн өөрчлөн тохируулсан цөмийг дахин бүтээх нь системийн тухайн үеийн нөхөөсийн түвшинг зөв гаргах боломжийг man:uname[1]-д олгоно. Энэ нь олон системийг арчилж байгаа үед ялангуяа ач тустай байдаг бөгөөд ингэснээр тэр системүүд дээр суулгагдсан шинэчлэлтүүдэд түргэн шуурхай үнэлгээ өгөх боломжийг олгодог. ==== [[freebsdupdate-upgrade]] === Major ба Minor буюу Том ба Бага шинэчлэлтүүд Энэ процесс нь ихэнх гуравдагч талын прорамуудыг эвдэх хуучин обьект файлууд болон сангуудыг устгах болно. Бүх суулгагдсан портуудыг устгаж дахин суулгах эсвэл package:ports-mgmt/portupgrade[] хэрэгсэл ашиглан сүүлд нь шинэчлэхийг зөвлөдөг. Дараах тушаалыг ашиглан ихэнх хэрэглэгчид тест бүтээлтийг ажиллуулахыг хүснэ: [source,shell] .... # portupgrade -af .... Энэ нь бүгдийг зөв дахин суулгах баталгаа болох юм. `BATCH` орчны хувьсагчийг `yes` гэж тохируулснаар энэ процессийн явцад гарч ирэх хүлээх мөрөнд `yes` гэж хариулан бүтээх процессийн үед оролцох шаардлагыг үгүй болгоно. Хэрэв өөрчлөн тохируулсан цөм ашиглагдаж байгаа бол шинэчлэх процесс арай илүү ажиллагаатай. [.filename]#GENERIC# цөмийн хуулбар шаардлагатай бөгөөд [.filename]#/boot/GENERIC#-д байрлуулах шаардлагатай. Хэрэв [.filename]#GENERIC# цөм системд байхгүй бол үүнийг доор дурдсан аргуудын аль нэгийг ашиглан олж авч болно: * Хэрэв өөрчлөн тохируулсан цөм зөвхөн нэг удаа бүтээгдсэн бол [.filename]#/boot/kernel.old# дахь цөм нь [.filename]#GENERIC# цөм юм. Энэ санг [.filename]#/boot/GENERIC# гэж өөрчлөхөд л болно. * Машинд физикээр хандах боломжтой гэж тооцвол [.filename]#GENERIC# цөмийн хуулбарыг CD-ROM зөөвөрлөгчөөс суулгаж болно. Өөрийн суулгац дискийг хийж дараах тушаалуудыг ашиглана: + [source,shell] .... # mount /cdrom # cd /cdrom/X.Y-RELEASE/kernels # ./install.sh GENERIC .... + [.filename]#X.Y-RELEASE#-г өөрийн ашиглаж байгаа хувилбараар солих хэрэгтэй. [.filename]#GENERIC# цөм анхдагчаар [.filename]#/boot/GENERIC#-д суулгагдах болно. * Дээр дурдсан бүгдийг хийх боломжгүй бол [.filename]#GENERIC# цөмийг эхээс нь дахин бүтээж суулгаж болох юм: + [source,shell] .... # cd /usr/src # env DESTDIR=/boot/GENERIC make kernel # mv /boot/GENERIC/boot/kernel/* /boot/GENERIC # rm -rf /boot/GENERIC/boot .... + Энэ цөмийг `freebsd-update` хэрэгсэлд [.filename]#GENERIC# гэж харуулахын тулд [.filename]#GENERIC# тохиргооны файлыг ямар ч тохиолдолд өөрчилсөн байх ёсгүй. Бас ямар нэг тусгай сонголтуудгүйгээр (аль болох хоосон [.filename]#/etc/make.conf# файлтайгаар) бүтээгдсэн байх ёстойг зөвлөдөг. Энэ үед [.filename]#GENERIC# цөм рүү дахин ачаалах шаардлагагүй юм. Том ба бага хувилбарын шинэчлэлтүүдийг `freebsd-update` тушаалд хувилбарын дугаарыг өгч гүйцэтгэж болно, жишээ нь дараах тушаал FreeBSD 8.1 руу шинэчилнэ: [source,shell] .... # freebsd-update -r 8.1-RELEASE upgrade .... Тушаал хүлээн авсны дараа `freebsd-update` системийг шинэчлэхэд шаардлагатай мэдээллийг цуглуулахын тулд тохиргооны файл болон одоогийн системийг шалгана. Ямар бүрэлдэхүүн хэсгүүд илрүүлэгдсэн болон ямар бүрэлдэхүүн хэсгүүд илрүүлэгдээгүй гэдгийг дэлгэц дээр үзүүлнэ. Жишээ нь: [source,shell] .... Looking up update.FreeBSD.org mirrors... 1 mirrors found. Fetching metadata signature for 8.1-RELEASE from update1.FreeBSD.org... done. Fetching metadata index... done. Inspecting system... done. The following components of FreeBSD seem to be installed: kernel/smp src/base src/bin src/contrib src/crypto src/etc src/games src/gnu src/include src/krb5 src/lib src/libexec src/release src/rescue src/sbin src/secure src/share src/sys src/tools src/ubin src/usbin world/base world/info world/lib32 world/manpages The following components of FreeBSD do not seem to be installed: kernel/generic world/catpages world/dict world/doc world/games world/proflibs Does this look reasonable (y/n)? y .... Энд хүрэхэд `freebsd-update` шинэчлэлтэд шаардлагатай бүх файлуудыг татан авахаар оролдох болно. Зарим тохиолдолд хэрэглэгчээс юу суулгах эсвэл хэрхэн цааш үргэлжлүүлэх талаар асуултууд асууж болох юм. Өөрчлөн тохируулсан цөмийг ашиглаж байх үед дээрх алхам дараахтай төстэй анхааруулгыг харуулах болно: [source,shell] .... WARNING: This system is running a "MYKERNEL" kernel, which is not a kernel configuration distributed as part of FreeBSD 8.0-RELEASE. This kernel will not be updated: you MUST update the kernel manually before running "/usr/sbin/freebsd-update install" .... Энэ анхааруулгыг энэ үед орхигдуулахад аюулгүй байдаг. Шинэчлэгдсэн [.filename]#GENERIC# цөм шинэчлэлтийн явцад завсрын алхам болон ашиглагдах болно. Бүх засварууд локал систем рүү татагдсаны дараа тэдгээрийг хийж өгөх болно. Машины хурд болон ачааллаас хамаарч энэ процесс нь хугацаа шаардаж болох юм. Тохиргооны файлуудыг нийлүүлэх болно. Файл нийлүүлэгдэх юм уу эсвэл гараар нийлүүлэхэд зориулж засварлагч дэлгэц дээр гарч ирч болох учир процессийн энэ хэсэг хэрэглэгчийн оролцоо шаардана. Амжилттай нийлүүлэлт болгоны үр дүн хэрэглэгчид харуулагдаж процесс үргэлжлэх болно. Амжилтгүй болсон эсвэл орхигдсон нийлүүлэлт нь процессийг зогсоох болно. Хэрэглэгчид нь [.filename]#/etc# сангийн нөөцийг хийж [.filename]#master.passwd# эсвэл [.filename]#group# зэрэг чухал файлуудыг гараар сүүлд нь нийлүүлэхийг хүсэж болох юм. [NOTE] ==== Систем нь өөрчлөгдөөгүй байгаа бөгөөд бүх засвар оруулалт болон нийлүүлэлт өөр сан дотор болж байгаа болно. Бүх засварууд амжилттай хийгдэж бүх тохиргооны файлууд нийлүүлэгдэж процесс тэгш явагдаж байгаа мэт санагдвал хэрэглэгч өөрчлөлтүүдийг хийх хэрэгтэй. ==== Энэ процесс дууссаны дараа шинэчлэлтийг дараах тушаалыг ашиглан диск рүү хийж болно. [source,shell] .... # freebsd-update install .... Цөм болон цөмийн модулиудад эхлээд засвар хийнэ. Энэ үед машиныг дахих ачаалах ёстой. Хэрэв систем өөрчлөн тохируулсан цөмөөр ажиллаж байгаа бол цөмийг [.filename]#/boot/GENERIC# (шинэчлэгдсэн) цөмөөр дараа нь ачаалахаар болгохын тулд man:nextboot[8]-ийг ашиглана: [source,shell] .... # nextboot -k GENERIC .... [WARNING] ==== [.filename]#GENERIC# цөмөөр ачаалахаас өмнө (хэрэв шинэчлэгдэж байгаа машинд алсаас хандаж байгаа бол сүлжээнд холбогдон) таны систем зөв ачаалахын тулд шаардлагатай бүх драйверуудыг агуулсан эсэхийг шалгах хэрэгтэй. Ялангуяа хэрэв өмнө нь ажиллаж байсан өөрчлөн тохируулсан цөм ерөнхийдөө цөмийн модулиудаар хангагдаж байдаг ажиллагааг өөртөө агуулсан бол [.filename]#/boot/loader.conf# боломжийг ашиглан эдгээр модулиудыг [.filename]#GENERIC# цөмд түр зуур ачаалахаа мартуузай. Шинэчлэх процесс бүрэн дуустал шаардлагагүй үйлчилгээнүүд, диск болон сүлжээний холболтууд гэх мэтийг та бас хааж өгч болох юм. ==== Одоо машин шинэчлэгдсэн цөмөөр ачаалагдах ёстой: [source,shell] .... # shutdown -r now .... Систем буцаж ассаны дараа `freebsd-update`-г дахин эхлүүлэх хэрэгтэй. Процессийн төлөв хадгалагдсан болохоор `freebsd-update` эхнээсээ эхлэхгүй бөгөөд бүх хуучин хуваалцсан сангууд болон обьект файлуудыг устгах болно. Энэ шатыг үргэлжлүүлэхийн тулд дараах тушаалыг ажиллуулна: [source,shell] .... # freebsd-update install .... [NOTE] ==== Сангуудын хувилбарын тоо дээшилсэн эсэхээс хамаарч суулгах гурван шатны оронд хоёр шат байж болох юм. ==== Бүх гуравдагч талын програм хангамжийг дахин бүтээж дахин суулгах хэрэгтэй. Суулгагдсан програм хангамж нь шинэчлэлтийн процессийн явцад устгагдсан сангуудаас хамаарч болох учраас энэ нь шаардлагатай юм. package:ports-mgmt/portupgrade[] тушаалыг үүнийг автоматжуулахад ашиглаж болох юм. Энэ процессийг эхлүүлэхийн тулд дараах тушаалыг хэрэглэж болно: [source,shell] .... # portupgrade -f ruby # rm /var/db/pkg/pkgdb.db # portupgrade -f ruby18-bdb # rm /var/db/pkg/pkgdb.db /usr/ports/INDEX-*.db # portupgrade -af .... Үүнийг дууссаны дараа шинэчлэлтийн процессийг `freebsd-update`-ийг сүүлийн удаа дуудаж төгсгөнө. Шинэчлэлтийн процессийн сул байгаа бүх зүйлсийг гүйцээхийн тулд дараах тушаалыг ажиллуулна: [source,shell] .... # freebsd-update install .... Хэрэв [.filename]#GENERIC# цөм түр зуур ашиглагдаж байсан бол өөрчлөн тохируулсан шинэ цөмийг ердийн хэвшсэн аргаар одоо бүтээж суулгах цаг болжээ. Машинаа FreeBSD-ийн шинэ хувилбар руу дахин ачаалах хэрэгтэй. Процесс дууслаа. [[freebsdupdate-system-comparison]] === Системийн төлвийн харьцуулалт `freebsd-update` хэрэгслийг FreeBSD-ийн суулгагдсан хувилбарын төлвийг байгаа зөв хуулбарын эсрэг тест хийхэд хэрэглэж болно. Энэ сонголт нь системийн хэрэгслүүд сангууд болон тохиргооны файлуудын одоогийн хувилбаруудыг шалгадаг. Харьцуулалтыг эхлүүлэхийн тулд дараах тушаалыг ажиллуулна: [source,shell] .... # freebsd-update IDS >> outfile.ids .... [WARNING] ==== Тушаалын нэр IDS боловч энэ нь ямар ч тохиолдолд package:security/snort[] зэрэг халдлага илрүүлэгч системийг солих зориулалттай биш юм. `freebsd-update` нь өгөгдлийг диск дээр хадгалдаг бөгөөд түүнийг өөрчлөх боломж тодорхой юм. `kern.securelevel` тохиргоог ашиглах болон `freebsd-update`-ийн өгөгдлийг зөвхөн уншигдах файлын систем дээр ашиглагдаагүй тохиолдолд хадгалах нь энэ боломжийг багасгах боловч илүү сайн шийдэл нь системийг DVD эсвэл нууцлаг хадгалсан гадаад USB дискийн төхөөрөмж зэрэг нууцлаг дисктэй харьцуулах явдал юм. ==== Систем нь одоо шалгагдах бөгөөд файлууд нь өөрсдийн man:sha256[1] утгуудын хамт, хувилбар дахь мэдэгдэж байгаа сайн утгууд болон одоо суугдсан байгаа утгуудын хамт хэвлэгдэн харуулагдана. Энэ нь яагаад гаралт [.filename]#outfile.ids# файл руу илгээгдсэн шалтгаан юм. Үүнийг нүдээр шалгахад хэтэрхий хурдан дээш гүйж удалгүй консолын буфферийг дүүргэх болно. Эдгээр мөрүүд нь бас хэтэрхий урт боловч гаралтын хэлбэрийг хялбараар задлан ялгаж болно. Жишээ нь хувилбарт байгаагаас ондоо бүх файлуудын жагсаалтыг авахын тулд дараах тушаалыг ажиллуулна: [source,shell] .... # cat outfile.ids | awk '{ print $1 }' | more /etc/master.passwd /etc/motd /etc/passwd /etc/pf.conf .... Энэ гаралт нь тайрагдсан бөгөөд олон файл байгаа болно. Эдгээр файлуудын зарим нь төрөлхийн өөрчлөлтүүдтэй байна, жишээ нь [.filename]#/etc/passwd# нь хэрэглэгч системд нэмэгдсэн болохоор өөрчлөгдсөн байна. Зарим тохиолдолд `freebsd-update` нь шинэчилсэн байж болзошгүй учир цөмийн модулиуд зэрэг бусад файлууд өөр байж болох юм. Тусгай файлууд болон сангуудыг хасахын тулд тэдгээрийг [.filename]#/etc/freebsd-update.conf# файлын `IDSIgnorePaths` тохиргоонд нэмж өгнө. Өмнө хэлэлцсэн хувилбараас гадна нарийн нягт шинэчлэлтийн аргын хэсэг болгон энэ системийг ашиглаж болно. [[updating-upgrading-portsnap]] == Portsnap: Портын цуглуулгыг шинэчлэх хэрэгсэл FreeBSD-ийн үндсэн систем портын цуглуулгыг бас шинэчилдэг man:portsnap[8] хэрэгслийг агуулдаг. Ажиллуулсны дараа энэ нь алсын сайт руу холбогдож нууц түлхүүрийг шалгаж портын цуглуулгын шинэ хуулбарыг татан авдаг. Түлхүүр нь бүх татаж авсан файлууд татагдаж байхдаа өөрчлөгдөөгүй эсэхийг хянан бүрэн бүтэн байдлыг шалгахад ашиглагддаг. Хамгийн сүүлийн үеийн портын цуглуулгыг татаж авахын тулд дараах тушаалыг ажиллуулна: [source,shell] .... # portsnap fetch Looking up portsnap.FreeBSD.org mirrors... 9 mirrors found. Fetching snapshot tag from geodns-1.portsnap.FreeBSD.org... done. Fetching snapshot metadata... done. Updating from Tue May 22 02:12:15 CEST 2012 to Wed May 23 16:28:31 CEST 2012. Fetching 3 metadata patches.. done. Applying metadata patches... done. Fetching 3 metadata files... done. Fetching 90 patches.....10....20....30....40....50....60....70....80....90. done. Applying patches... done. Fetching 133 new ports or files... done. .... Энэ жишээ нь юу үзүүлж байна вэ гэхээр man:portsnap[8] одоо байгаа портын өгөгдөлд хэд хэдэн засварууд байгааг олж шалгаж байна. Энэ нь бас уг хэрэгсэл өмнө нь ажилласныг харуулж байгаа бөгөөд хэрэв эхний удаа ажилласан бол цуглуулга татагдан авагдах байсан юм. man:portsnap[8] нь `fetch` үйлдлийг хийж дууссаны дараа локал систем дээр байгаа портын цуглуулга болон дараа дараагийн засваруудыг шалгалтад дамжуулна. `portsnap`-ийг эхний удаа ажиллуулахдаа `extract`-г ашиглан татан авсан файлуудыг суулгаж болно: [source,shell] .... # portsnap extract /usr/ports/.cvsignore /usr/ports/CHANGES /usr/ports/COPYRIGHT /usr/ports/GIDs /usr/ports/KNOBS /usr/ports/LEGAL /usr/ports/MOVED /usr/ports/Makefile /usr/ports/Mk/bsd.apache.mk /usr/ports/Mk/bsd.autotools.mk /usr/ports/Mk/bsd.cmake.mk ... .... Аль хэдийн суулгасан портын цуглуулгыг шинэчлэхдээ `portsnap update` тушаалыг ашиглах ёстой: [source,shell] .... # portsnap update .... Процесс одоо дууссан бөгөөд портын цуглуулыг ашиглан програмуудыг суулгаж эсвэл шинэчилж болно. `fetch` болон `extract` эсвэл `update` үйлдлүүдийг доор харуулсан шиг дараалуулан ажиллуулж болно: [source,shell] .... # portsnap fetch update .... Энэ тушаал нь портын цуглуулгын сүүлийн хувилбарыг татан авч таны машин дээр байгаа локал хувилбарыг [.filename]#/usr/ports# санд шинэчилдэг. [[updating-upgrading-documentation]] == Баримтын цуглуулгыг шинэчлэх нь Үндсэн систем болон портын цуглуулгаас гадна баримтууд нь FreeBSD үйлдлийн системийн салшгүй хэсэг юм. Хэдийгээр FreeBSD-ийн хамгийн сүүлийн үеийн баримтын цуглуулга http://www.freebsd.org/doc/[FreeBSD вэб сайт] дээр үргэлж байдаг боловч зарим хэрэглэгчид удаан сүлжээний холболттой эсвэл бүр тогтмол сүлжээний холболтгүй байж болох юм. Азаар FreeBSD-ийн хамгийн сүүлийн үеийн баримтын цуглуулгын локал хуулбарыг арчлан хувилбар бүртэй цуг ирдэг баримтыг шинэчлэх хэд хэдэн арга байдаг. [[dsvn-doc]] === Баримтыг шинэчлэхийн тулд Subversion-г ашиглах нь FreeBSD-ийн баримтуудын эхийг Subversion ашиглан авч болно. Энэ хэсэг дараах зүйлсийг тайлбарладаг: * FreeBSD-ийн баримтуудыг эхээс нь бүтээхэд шаардлагатай хэрэгслүүд, баримтын хэрэгслүүдийг хэрхэн суулгах талаар. * Subversion ашиглан [.filename]#/usr/doc# дахь баримтын эхийн хуулбарыг хэрхэн татаж авах талаар. * FreeBSD-ийн баримтыг эхээс нь хэрхэн бүтээж [.filename]#/usr/shared/doc# дотор суулгах талаар. * Баримтыг бүтээх системийн дэмждэг бүтээлтийн зарим тохируулгууд, өөрөөр хэлбэл баримтын зарим нэг хэл дээрх орчуулгыг зөвхөн бүтээдэг тохируулгууд эсвэл тусгай гаралтын хэлбэржүүлэлтийг сонгодог тохируулгууд. [[installing-documentation-toolchain]] === Subversion болон баримтын хэрэгслүүдийг суулгах нь FreeBSD-ийн баримтыг эхээс нь бүтээхэд нэлээн олон тооны хэрэгслүүдийг шаарддаг. Эдгээр хэрэгслүүд нь FreeBSD-ийн үндсэн системийн хэсэг биш байдаг. Учир нь эдгээр нь ихээхэн хэмжээний дискийн зай шаарддаг бөгөөд FreeBSD-ийн бүх хэрэглэгчдэд хэрэгтэй байдаггүй. Тэдгээр нь FreeBSD-д зориулж шинэ баримтууд идэвхтэй бичдэг эсвэл өөрсдийн баримтыг эхээс нь байнга шинэчилдэг хэрэглэгчдэд зөвхөн хэрэгтэй байдаг. Бүх шаардлагатай хэрэгслүүд портын цуглуулгад байдаг. Эдгээр хэрэгслүүдийн эхний суулгалт болон хожмын шинэчлэлтүүдийг хялбаршуулах package:textproc/docproj[] порт нь FreeBSD-ийг баримтжуулах төслөөс хөгжүүлсэн мастер порт юм. [NOTE] ==== PostScript(R) эсвэл PDF баримт шаардлагагүй үед харин package:textproc/docproj-nojadetex[] портыг суулгаж болох юм. Баримтын хэрэгслийн энэ хувилбар нь teTeX тайпсет хөдөлгүүрээс бусад бүгдийг багтаасан байдаг. teTeX нь маш олон хэрэгслүүдийн цуглуулга учир PDF гаралт үнэхээр шаардлагагүй тохиолдолд суулгахгүй байх нь зохимжтой байдаг. ==== Subversion нь package:textproc/docproj[] порттой цуг суудаг. [[updating-documentation-sources]] === Баримтын эхийг шинэчлэх нь Subversion нь баримтын эхийн цэвэр хуулбарыг татан авч чаддаг. [source,shell] .... # svn checkout svn://svn.FreeBSD.org/doc/head /usr/doc .... Баримтын эхийн эхний таталт хугацаа шаардаж болох юм. Дуустал нь хүлээх хэрэгтэй. Баримтын эхийн дараа дараагийн шинэчлэлтүүдийг доорх тушаалыг ашиглан татан авч болно. [source,shell] .... # svn update /usr/doc .... Эхийг татан авсныхаа дараа баримтыг шинэчлэх өөр нэг арга нь [.filename]#/usr/doc# сангийн [.filename]#Makefile#-аар дэмжигдсэн байдаг бөгөөд дараахийг ажиллуулна: [source,shell] .... # cd /usr/doc # make update .... [[updating-documentation-options]] === Баримтын эхийн тааруулж болох тохируулгууд FreeBSD-ийн баримтжуулалтыг бүтээж шинэчлэх систем нь баримтын зөвхөн тодорхой хэсгийг шинэчлэх эсвэл тусгай орчуулгыг бүтээх процессийг амарчлах хэдэн тохируулгыг дэмждэг. Эдгээр тохируулгуудыг [.filename]#/etc/make.conf# файлд бүхэл системийн хувьд зааж өгөх юм уу эсвэл man:make[1] хэрэгсэлд тушаалын мөрийн тохиргоо маягаар зааж өгч болно. Дараах тохируулгууд нь эдгээрийн зарим нь юм: `DOC_LANG`:: Бүтээж суулгах хэл ба кодчилолын жагсаалт, жишээ нь Англи баримтад зөвхөн зориулсан `en_US.ISO8859-1` байна. `FORMATS`:: Бүтээх ганц хэлбэржүүлэлт эсвэл гаралтын хэлбэржүүлэлтийн жагсаалт. Одоогоор `html`, `html-split`, `txt`, `ps`, `pdf`, болон `rtf` дэмжигдсэн байгаа. `DOCDIR`:: Баримтыг суулгах газар. Анхдагчаар [.filename]#/usr/shared/doc# байдаг. FreeBSD дээрх системийн тохируулга болон дэмжигдсэн бүтээлтийн хувьсагчуудын талаар дэлгэрэнгүйг man:make.conf[5]-с үзнэ үү. FreeBSD-ийн баримтжуулалт бүтээх системийн дэмждэг бүтээлтийн хувьсагчуудын талаар дэлгэрэнгүйг link:{fdp-primer[Шинэ хувь нэмэр оруулагчдад зориулсан FreeBSD баримтжуулах төслийн гарын авлагаас] үзнэ үү. [[updating-installed-documentation]] === FreeBSD-ийн баримтуудыг эхээс суулгах нь Баримтын эхийн хамгийн сүүлийн хормын хувилбарыг [.filename]#/usr/doc# санд татаж авснаар суулгагдсан баримтын шинэчлэлтийг хийхэд бүх юм бэлэн болно. `DOC_LANG` makefile-ийн тохиргоонд заагдсан бүх хэлний бүрэн шинэчлэлтийг дараахийг бичин хийж болно: [source,shell] .... # cd /usr/doc # make install clean .... Хэрэв зөвхөн тусгай хэлний шинэчлэлт хэрэгтэй бол [.filename]#/usr/doc#-ийн тухайн хэлний тусгай дэд санд man:make[1]-ийг ажиллуулж болно, жишээ нь: [source,shell] .... # cd /usr/doc/en_US.ISO8859-1 # make update install clean .... Суулгах гаралтын хэлбэржүүлэлтийг `FORMATS` бүтээлтийн хувьсагчийг зааж өгөн хийж өгч болно, жишээ нь: [source,shell] .... # cd /usr/doc # make FORMATS='html html-split' install clean .... [[doc-ports]] === Баримтжуулах портуудыг ашиглах нь Өмнөх хэсэгт FreeBSD-ийн баримтжуулалтыг эхээс нь шинэчлэх аргыг бид танилцуулсан. FreeBSD-ийн бүх системүүдийн хувьд эх дээр тулгуурласан шинэчлэлтүүд нь боломжтой эсвэл практикийн биш байж болох юм. Баримтжуулалтын эхүүдийг бүтээх нь нэлээн их хэмжээний хэрэгслийн цуглуулга буюу _баримтжуулалт бүтээх хэрэгслийн олонлог_, Subversion-ийг тодорхой хэмжээгээр мэдэх, репозиториос эхийг татаж авах болон татаж авсан эхээ бүтээх хэд хэдэн шат дарааллуудыг шаарддаг. Энэ хэсэгт бид FreeBSD-ийн баримтжуулалтын суулгагдсан хуулбаруудыг шинэчлэх өөр аргыг тайлбарлах болно. Энэ нь портын цуглуулгыг ашиглах бөгөөд дараах боломжийг бүрдүүлнэ: * Бүгдийг бүтээлгүйгээр баримтжуулалтын урьдчилан бүтээсэн хормын хувилбарыг татан авч суулгах (ингэснээр баримтжуулалт бүтээх хэрэгслийн олонлогийг бүхэлд нь суулгах шаардлагагүй болно). * Баримтжуулалтын эхийг татаж аван портын тогтолцоог ашиглан бүтээх (татаж аван бүтээх алхмуудыг арай хялбар болгодог). FreeBSD-ийн баримтжуулалтыг шинэчлэх эдгээр хоёр арга нь {doceng}-ийн сар бүр шинэчилдэг _баримтжуулалтын портуудын_ цуглуулгаар дэмжигддэг. Эдгээр нь FreeBSD-ийн портын цуглуулгад http://www.freshports.org/docs/[docs] виртуал төрөлд байдаг. [[doc-ports-install-make]] ==== Баримтжуулалтын портуудыг бүтээж суулгах нь Баримтжуулалтын портууд нь баримтжуулалтын бүтээлтийг хялбар болгохын тулд порт бүтээх тогтолцоог хэрэглэдэг. man:make[1]-ийг тохирох орчны тохиргоонууд болон тушаалын мөрийн тохиргоонуудын хамтаар ажиллуулж баримтжуулалтын эхийг татаж авах процессыг тэд автоматжуулдаг бөгөөд баримтжуулалтын суулгалт болон устгалтыг FreeBSD-ийн бусад порт эсвэл багцын суулгалтын нэгэн адил хялбар болгодог. [NOTE] ==== Мөн баримтжуулалтын портуудыг бүтээсний дараа тэд хамааралтай _баримтжуулалтыг бүтээх хэрэгслийн олонлогийн_ портуудыг бүртгэдэг бөгөөд тэдгээрийг автоматаар бас суулгадаг. ==== Баримтжуулалтын портуудын зохион байгуулалт нь дараах хэлбэрийн байна: * Баримтжуулалтын портын файлууд байдаг package:misc/freebsd-doc-en[]"мастер порт" байдаг. Энэ нь бүх баримтжуулалтын портуудын үндэс болдог. Анхдагчаар энэ нь Англи баримтжуулалтыг зөвхөн бүтээдэг. * "Нэг портод бүгд багтсан"package:misc/freebsd-doc-all[] байдаг бөгөөд энэ нь байгаа бүх хэл дээр бүх баримтжуулалтыг бүтээж суулгадаг. * Эцэст нь орчуулга бүрийн хувьд "зарц порт" байдаг, жишээ нь Унгар хэл дээрх баримтуудад зориулсан package:misc/freebsd-doc-hu[]-г дурдаж болно. Эдгээр нь бүгд мастер портоос хамаарах бөгөөд тухайн хэлний орчуулсан баримтжуулалтыг суулгадаг. Баримтжуулалтын портыг эхээс суулгахын тулд дараах тушаалуудыг ажиллуулна (`root` эрхээр): [source,shell] .... # cd /usr/ports/misc/freebsd-doc-en # make install clean .... Энэ нь Англи баримтжуулалтыг хуваагдсан HTML хэлбэрээр (http://www.FreeBSD.org[http://www.FreeBSD.org] дээр ашигладагийн адилаар) бүтээж [.filename]#/usr/local/shared/doc/freebsd# санд суулгадаг. [[doc-ports-options]] ===== Нийтлэг Knob болон тохируулгууд Баримтжуулалтын портуудын анхдагч байдлыг өөрчлөх олон тохиргоо байдаг. Доор цөөхөн хэдэн жагсаалтыг дурдав: `WITH_HTML`:: HTML хэлбэрээр бүтээхийг зөвшөөрдөг: баримт бүрийн хувьд нэг HTML файл. Хэлбэршүүлсэн баримтжуулалт нь тохирох [.filename]#article.html# юм уу эсвэл [.filename]#book.html# гэсэн файлуудад зургийн хамтаар хадгалагддаг. `WITH_PDF`:: Adobe(R) Acrobat Reader(R), Ghostscript эсвэл бусад PDF уншигчдыг ашиглах Adobe(R)-ийн хөрвөх баримтын хэлбэрээр бүтээхийг зөвшөөрдөг. Хэлбэршүүлсэн баримтжуулалт нь тохирох [.filename]#article.pdf# юм уу эсвэл [.filename]#book.pdf# гэсэн файлуудад хадгалагддаг. `DOCBASE`:: Баримтжуулалтын суулгах байрлал. Энэ нь анхдагчаар [.filename]#/usr/local/shared/doc/freebsd# байдаг. + [NOTE] ==== Анхдагч суулгах сан нь Subversion аргын ашигладаг сангаас ялгаатайг санаарай. Энэ нь яагаад гэвэл бид порт суулгаж байгаа бөгөөд портууд нь ихэвчлэн [.filename]#/usr/local# санд суудаг. Үүнийг `PREFIX` хувьсагчийг нэмэн өөрчилж болдог. ==== Энд Унгар баримтжуулалтыг Хөрвөх Баримтын Хэлбэрээр (PDF) суулгахын тулд дээр дурдсан хувьсагчуудыг хэрхэн ашиглахыг харуулсан жишээг үзүүлэв: [source,shell] .... # cd /usr/ports/misc/freebsd-doc-hu # make -DWITH_PDF DOCBASE=share/doc/freebsd/hu install clean .... [[doc-ports-install-package]] ==== Баримтжуулалтын багцуудыг ашиглах нь Өмнөх хэсэгт тайлбарласнаар баримтжуулалтын портуудыг эхээс бүтээх нь баримтжуулалтыг бүтээх хэрэгслийн олонлогийг суулгах болон портуудыг бүтээхэд тодорхой хэмжээний дискийн зай шаарддаг. Баримтжуулалтын хэрэгслүүдийг суулгахад эх үүсвэр хүрэлцэхгүй үед эсвэл эхээс бүтээх нь ихээхэн хэмжээний дискийн зай эзлэх бол баримтжуулалтын портуудын урьдчилан бүтээсэн хормын хувилбаруудыг суулгах боломж бас байдаг. {doceng} нь FreeBSD-ийн баримтжуулалтын багцуудын сар бүрийн хормын хувилбаруудыг бэлддэг. Эдгээр хоёртын багцуудыг man:pkg_add[1], man:pkg_delete[1] гэх зэрэг багцын хэрэгслүүдийн хамтаар ашиглаж болдог. [NOTE] ==== Хоёртын багцуудыг ашиглаж байгаа үед FreeBSD-ийн баримтжуулалт нь тухайн хэлний хувьд байгаа _бүх_ хэлбэрээр суудаг. ==== Жишээ нь дараах тушаал Унгар баримтжуулалтын хамгийн сүүлийн урьдчилан бүтээсэн багцыг суулгах болно: [source,shell] .... # pkg_add -r hu-freebsd-doc .... [NOTE] ==== Багцууд нь харгалзах портын нэрнээсээ ялгаатай дараах нэрийн хэлбэртэй байдаг: `lang-freebsd-doc`. Энд _lang_ нь хэлний кодын богино хэлбэр юм, жишээ нь `hu` нь Унгар, эсвэл `zh_cn` нь хялбаршуулсан Хятад хэл юм. ==== [[doc-ports-update]] ==== Баримтжуулалтын портуудыг шинэчлэх нь Өмнө нь суулгасан баримтжуулалтын портыг шинэчлэхийн тулд портууд шинэчлэх аль ч хэрэгсэл байхад хангалттай. Жишээ нь дараах тушаал суулгасан Унгар баримтжуулалтыг package:ports-mgmt/portupgrade[] хэрэгслийн тусламжтайгаар зөвхөн багцуудыг ашиглан шинэчилнэ: [source,shell] .... # portupgrade -PP hu-freebsd-doc .... [[current-stable]] == Хөгжүүлэлтийн салбарыг дагах нь FreeBSD-ийн хоёр хөгжүүлэлтийн салбар байдаг: FreeBSD-CURRENT болон FreeBSD-STABLE. Энэ хэсэгт эдгээр тус бүрийг тайлбарлаж өөрийн системийг тус тусын модны хувьд хамгийн шинэ хэлбэрт байнга байлгах талаар тайлбарлах болно. FreeBSD-CURRENT эхлээд хэлэлцэгдэх бөгөөд дараа нь FreeBSD-STABLE-ийн тухай яригдах болно. [[current]] === FreeBSD-ийн одоо үеийн хэлбэрт байх нь Та үүнийг уншихдаа FreeBSD-CURRENT нь FreeBSD-ийн хөгжүүлэлтийн "bleeding edge салбар буюу амжилт ололтын хамгийн тэргүүний салбар" гэдгийг санаарай. FreeBSD-CURRENT хэрэглэгчдийг техникийн өндөр чадавхитай бөгөөд системийн хүнд хэцүү асуудлуудыг өөрсдөө шийдвэрлэх чадвартай байна гэж тооцдог. Хэрэв та FreeBSD-д анхлан суралцагч бол үүнийг суулгахаасаа өмнө дахин сайн бодоорой. ==== FreeBSD-CURRENT гэж юу вэ? FreeBSD-CURRENT нь FreeBSD-ийн хамгийн сүүлийн үеийн ажлын эх юм. Энэ нь хийгдэж байгаа ажлууд, туршилтын өөрчлөлтүүд болон програм хангамжийн дараагийн албан ёсны хувилбарт байхгүй ч байж болох эсвэл байж ч болох шилжилтийн аргуудыг багтаадаг. FreeBSD-ийн олон хөгжүүлэгчид FreeBSD-CURRENT-ийн эх кодыг өдөр болгон эмхэтгэн хөрвүүлж байдаг боловч эхийг бүтээх боломжгүй үе бас байдаг. Эдгээр асуудлууд нь боломжийн хэрээр хурдан шийдэгддэг боловч FreeBSD-CURRENT нь сүйрэл авчрах эсвэл тун их хүссэн ажиллагааг авчрах эсэх нь та яг ямар агшинд эх кодыг татаж авснаас хамаарах юм! ==== FreeBSD-CURRENT хэнд хэрэгтэй вэ? FreeBSD-CURRENT нь үндсэн 3 сонирхлын бүлэгт зориулагдан хийгдсэн: . Эх модны зарим хэсэг дээр идэвхтэйгээр ажиллаж байгаа FreeBSD-ийн хүрээний гишүүд болон "current буюу одоо үеийн хэлбэрт" байлгах нь туйлын шаардлага болсон хүмүүст. . FreeBSD-CURRENT-г аль болох ухаалаг байлгахыг хичээж асуудлуудыг шийдвэрлэхэд цагаа зарах хүсэлтэй байдаг идэвхтэй тест хийгч FreeBSD-ийн хүрээний гишүүд. Эдгээр хүмүүс нь өөрчлөлтүүд болон FreeBSD-ийн ерөнхий чиглэлд цаг үеийн саналуудыг тусгахыг хүсэж тэдгээрийг шийдэх засваруудыг илгээдэг бас хүмүүс юм.. . Юу болж байгааг зөвхөн харж мэдэж байхыг хүссэн эсвэл одоо үеийн эхийг лавлагааны зорилгоор ашиглахыг зөвхөн хүссэн хүмүүс (өөрөөр хэлбэл ажиллуулах биш _унших_ зорилгоор). Эдгээр хүмүүс нь хааяа бас санал гаргаж кодонд хувь нэмэр оруулдаг. ==== FreeBSD-CURRENT нь юу _Биш_ вэ? . Та зарим нэг дажгүй шинэ боломж байгааг сонссон учраас бусдаас түрүүлж урьдчилсан хувилбарын тэдгээр битүүдийг авах таны нэн тэргүүний арга зам. Шинэ боломжийг авч эхэнд байна гэдэг нь та шинэ алдаанууд, хорхойнуудыг бас авч эхэнд байна гэсэн үг юм. . Алдааны засваруудыг хурдан авах арга зам. FreeBSD-CURRENT-ийн өгөгдсөн дурын хувилбар нь илэрсэн алдаануудыг засахын хажуугаар бас магадгүй шинэ алдаанууд бас гаргаж байдаг. . Аль ч үед "албан ёсоор дэмжигдсэн". Бид өөрсдийн чадлын хирээр "хууль ёсны" 3 FreeBSD-CURRENT бүлгийн аль нэгэнд хүмүүст бодитоор туслахыг хичээдэг, гэхдээ бидэнд ердөө л техникийн дэмжлэг үзүүлэх _цаг байдаггүй_. Энэ нь бид хүмүүст туслах дургүй өөдгүй муухай хүмүүс учраас гэсэн үг биш юм (хэрэв бид байгаагүй бол бид FreeBSD-г хийж байхгүй байх байсан). Бид ердөө л өдрийн хэдэн зуун захидлуудад хариулахын _хажуугаар_ FreeBSD дээр ажиллаж чаддаггүй! FreeBSD-г сайжруулах болон туршилтын кодон дээр тавигдсан маш олон асуултуудад хариулах хоёр сонголтын эхнийхийг хөгжүүлэгчид сонгосон юм. ==== FreeBSD-CURRENT ашиглах нь . {freebsd-current} болон {svn-src-head} жагсаалтуудад элсэн орно уу. Энэ нь зөвхөн сайн санаанаас гадна бас _чухал_ юм. Хэрэв та _{freebsd-current}_ жагсаалтад ороогүй бол системийн одоогийн төлвийн талаар хүмүүсийн өгч байгаа санал хүсэлтүүдийг харахгүй учраас бусдын аль хэдийн олоод шийдсэн маш их асуудлууд дээр магадгүй та бүдрэн төөрөлдөж дуусах биз ээ. Бүр илүү чухал зүйл нь юу вэ гэвэл таны системийн эрүүл мэндэд эгзэгтэй байж болох чухал мэдээнүүдээс та хоцрох болно. + {svn-src-head} жагсаалт нь кодонд оруулсан өөрчлөлт бүрийн бүртгэл оруулгыг болзошгүй сөрөг нөлөөнүүдийн талаар тохирсон мэдээллийн хамтаар танд харах боломжийг олгодог. + -Эдгээр жагсаалтууд эсвэл байгаа бусдын аль нэгэнд элсэхийн тулд {mailman-lists-url} хаяг уруу орж элсэхийг хүссэн жагсаалтаа сонгоорой. Дарааллын үлдсэн зааврууд тэнд байгаа болно. Хэрэв та бүх л эх модон дахь өөрчлөлтийг дагах сонирхолтой байгаа бол {svn-src-all} жагсаалтад бүртгүүлэхийг бид зөвлөж байна. +Эдгээр жагсаалтууд эсвэл байгаа бусдын аль нэгэнд элсэхийн тулд {mailing-lists-url} хаяг уруу орж элсэхийг хүссэн жагсаалтаа сонгоорой. Дарааллын үлдсэн зааврууд тэнд байгаа болно. Хэрэв та бүх л эх модон дахь өөрчлөлтийг дагах сонирхолтой байгаа бол {svn-src-all} жагсаалтад бүртгүүлэхийг бид зөвлөж байна. . FreeBSD-ийн crossref:mirrors[mirrors,толин тусгал]аас эхийг авна. Та үүнийг гурван аргаар хийж болно: .. Хүссэн хөгжүүлэлт эсвэл салбар хувилбарыг татаж авахдаа crossref:mirrors[svn,svn] програмыг ашиглах хэрэгтэй. Энэ аргыг FreeBSD-н хөгжүүлэлтэд хандахад зөвлөдөг. -CURRENT суурь системийн Subversion татаж авах үндсэн URL нь `http://svn.freebsd.org/base/head/` бөгөөд репозиторын хэмжээ их тул зөвхөн хүссэн дэд модоо татаж авахыг зөвлөдөг. .. [.filename]#/usr/shared/examples/cvsup# санд байх [.filename]#standard-supfile# гэж нэрлэгдсэн [.filename]#supfile#-тай цуг crossref:mirrors[cvsup,cvsup] програм ашигла. Та дээр дурдсан жишээ [.filename]#supfile#-г өөрчлөн crossref:mirrors[cvsup,cvsup]-г өөрийн орчны хувьд тохируулах хэрэгтэй. + [WARNING] ==== `cvsup`-г ашиглах нь хуучирсан бөгөөд төсөл ашиглахыг зөвлөдөггүй. ==== + [NOTE] ==== Жишээ [.filename]#standard-supfile# нь FreeBSD-CURRENT-ийн биш FreeBSD-ийн аюулгүй байдлын тусгай салбарыг дагахад хэрэглэгдэнэ. Танд энэ файлыг засварлаж дараах мөрийг өөрчлөх хэрэгтэй болно: [.programlisting] .... *default release=cvs tag=RELENG_X_Y .... Дээрх мөрийг дараах мөрөөр сольно: [.programlisting] .... *default release=cvs tag=. .... Хэрэгцээтэй хаяг/шошгонуудын дэлгэрэнгүй тайлбарыг гарын авлагын crossref:mirrors[cvs-tags,CVS хаяг/шошгонууд] хэсгээс үзнэ үү. ==== .. CTM хэрэгслийг ашигла. Хэрэв та маш муу холболттой (өндөр үнэтэй холболтууд эсвэл зөвхөн цахим захидлын хандалт) бол CTM нь сонголт болох юм. Гэхдээ энэ нь бөөн зовлон бөгөөд та эвдэрсэн файлуудтай үлдэж болох юм. Энэ нь үүнийг ховор ашиглахад хүргэдэг бөгөөд ингэснээр ажиллахгүй байх боломжийг нэлээн удаан хугацаагаар ихэсгэдэг. Бид Интернэт холболттой хүмүүст Subversion-г ашиглахыг зөвлөдөг. . Хэрэв та эхийг зөвхөн харахаар биш ажиллуулахаар татаж авч байгаа бол зөвхөн сонгосон хэсгүүдийг биш FreeBSD-CURRENT-ийн _бүх_ эхийг татаж аваарай. Үүний шалтгаан нь эхийн төрөл бүрийн хэсгүүд нь бусад хаа нэгтээ байгаа шинэчлэлтүүдээс хамаардаг бөгөөд зөвхөн хэсэг бүлэг эхийг хөрвүүлэхийг оролдох нь таныг бараг л баталгаатайгаар асуудалтай учруулах болно. + FreeBSD-CURRENT-ийг хөрвүүлэхээсээ өмнө [.filename]#/usr/src# дахь [.filename]#Makefile#-г анхааралтай уншина уу. Эхний удаа та хамгийн багаар бодоход шинэчлэлтийн процессийн хэсэг болох <> хэсгээр дамжих хэрэгтэй. {freebsd-current} болон [.filename]#/usr/src/UPDATING# файлыг унших нь биднийг дараагийн хувилбар уруу шилжихэд заримдаа шаардлагатай болдог бусад эхлүүлэх процедуруудын хувьд хамгийн сүүлийн мэдээлэлтэй байлгах боломжийг бидэнд олгодог. . Идэвхтэй бай! Хэрэв та FreeBSD-CURRENT ажиллуулж байгаа бол түүний талаар таныг юу хэлэхийг ялангуяа хэрэв танд өргөжүүлэлт эсвэл алдааны засваруудын талаар санал хүсэлт байвал түүнийг бид мэдэхийг хүсдэг юм. Хавсаргасан кодтой санал хүсэлтүүдийг хамгийн их урам зоригтойгоор хүлээн авдаг билээ! [[stable]] === FreeBSD-ийн тогтвортой хэлбэрт байх нь ==== FreeBSD-STABLE гэж юу вэ? FreeBSD-STABLE нь үндсэн хувилбарууд гардаг бидний хөгжүүлэлтийн салбар юм. Өөрчлөлтүүд нь эхлээд тест хийгдэх зорилгоор FreeBSD-CURRENT уруу ордог гэсэн ерөнхий төсөөлөл/таамаглалтайгаар янз бүрийн зөвшөөрлөөр энэ салбар уруу ордог. Энэ нь _одоо болтол_ хөгжүүлэлтийн салбар бөгөөд гэхдээ энэ нь ямар ч үед FreeBSD-STABLE-д зориулагдсан эх нь ямар ч зорилгод тохирч эсвэл тохирохгүй байж болно гэсэн үг юм. Энэ нь эцсийн хэрэглэгчид зориулагдсан эх үүсвэр бус ердөө л өөр нэг инженерчлэлийн хөгжүүлэлтийн арга зам юм. ==== FreeBSD-STABLE хэнд хэрэгтэй вэ? Хэрэв та FreeBSD-ийн хөгжүүлэлтийн процессод хувь нэмэр оруулах сонирхолтой, энэ нь ялангуяа FreeBSD-ийн дараагийн "гарах" хувилбартай холбоотой байдаг, эсвэл юу болж байгааг мэдэж байх сонирхолтой байгаа бол та дараах FreeBSD-STABLE-г бодолцох хэрэгтэй. Аюулгүй байдлын засварууд бас FreeBSD-STABLE салбар уруу орж байдаг нь үнэн боловч та үүнийг хийхийн тулд FreeBSD-STABLE-г заавал дагах _хэрэггүй_. FreeBSD-ийн аюулгүй байдлын зөвлөмжүүд нь тухайн хувилбарт хамааралтай асуудлыг хэрхэн засах тухай тайлбарладаг бөгөөд зөвхөн аюулгүй байдлын үүднээс бүхэл бүтэн хөгжүүлэлтийн салбарыг дагаж байна гэдэг бас зөндөө олон хүсээгүй өөрчлөлтүүдийг авчрах магадлалтай юм. Бид FreeBSD-STABLE салбар үргэлж хөрвүүлэгдэн эмхэтгэгдэж дандаа ажилладаг байлгахаар чармайж байдаг боловч энэ нь баталгаатай биш юм. Нэмж хэлэхэд код нь FreeBSD-STABLE-д орохоосоо өмнө FreeBSD-CURRENT-д хөгжүүлэгдэж байдаг боловч FreeBSD-CURRENT-г ашиглан ажиллуулдгаас илүү FreeBSD-STABLE-г хүмүүс ажиллуулдаг болохоор FreeBSD-CURRENT-ийн хувьд илэрхий биш байсан алдаанууд болон булангийн тохиолдлууд FreeBSD-STABLE-д илрэх нь заримдаа зайлшгүй юм. Эдгээр шалтгаануудаас болоод бид FreeBSD-STABLE-г сохроор дагахыг танд _зөвлөдөггүй_ бөгөөд энэ нь өөрийн хөгжүүлэлтийн орчиндоо кодыг эхлээд сайтар тест хийлгүйгээр үйлдвэрлэлд (production) ашиглаж байгаа серверүүдээ FreeBSD-STABLE уруу шинэчлэхгүй байхад танд ялангуяа чухал ач холбогдолтой юм. Хэрэв танд үүнийг хийх эх үүсвэрүүд байхгүй бол бид FreeBSD-ийн хамгийн сүүлийн үеийн хувилбарыг ажиллуулж хоёртын шинэчлэлт хийх аргыг хувилбараас хувилбар уруу шилжихдээ ашиглахыг танд зөвлөж байна. ==== FreeBSD-STABLE ашиглах нь . {freebsd-stable} жагсаалтад элсэн орно уу. Энэ нь FreeBSD-STABLE-д илэрч болох бүтээлтийн хамаарлууд эсвэл тусгайлсан анхаарал шаардлагатай өөр бусад асуудлуудын талаар танд мэдээлж байх болно. Хөгжүүлэгчид нь зарим нэг маргаантай засвар эсвэл шинэчлэлийн талаар бодож байгаа талаараа бас энэ захидлын жагсаалтад мэдээлдэг бөгөөд ийнхүү санал болгож байгаа өөрчлөлтийн талаар хэрэглэгчдэд ямар нэг асуудал байвал тэдэнд эргээд хариу өгөх боломж олгодог юм. + Өөрийн дагаж байгаа салбарын тохирох SVN жагсаалтад элсэн орох хэрэгтэй. Жишээ нь хэрэв та 9-STABLE салбарыг дагаж байгаа бол {svn-src-stable-9} жагсаалтад элсэн ороорой. Энэ нь кодонд оруулсан өөрчлөлт бүрийн бүртгэл оруулгыг болзошгүй сөрөг нөлөөнүүдийн талаар тохирсон мэдээллийн хамтаар танд харах боломжийг олгодог. + -Эдгээр жагсаалтууд эсвэл байгаа бусдын аль нэгэнд элсэхийн тулд {mailman-lists-url} хаяг уруу орж элсэхийг хүссэн жагсаалтаа сонгоорой. Дарааллын үлдсэн зааврууд тэнд байгаа болно. Хэрэв та бүх л эх модон дахь өөрчлөлтийг дагах сонирхолтой байгаа бол {svn-src-all} жагсаалтад бүртгүүлэхийг бид зөвлөж байна. +Эдгээр жагсаалтууд эсвэл байгаа бусдын аль нэгэнд элсэхийн тулд {mailing-lists-url} хаяг уруу орж элсэхийг хүссэн жагсаалтаа сонгоорой. Дарааллын үлдсэн зааврууд тэнд байгаа болно. Хэрэв та бүх л эх модон дахь өөрчлөлтийг дагах сонирхолтой байгаа бол {svn-src-all} жагсаалтад бүртгүүлэхийг бид зөвлөж байна. . Хэрэв та шинэ систем суулгаж FreeBSD-STABLE-ээс бүтээсэн сар бүрийн хормын агшны хувилбарыг түүн дээр ажиллуулахыг хүсэж байгаа бол дэлгэрэнгүй мэдээллийн талаар link:https://www.FreeBSD.org/snapshots/[Хормын агшны хувилбарууд] вэб хуудаснаас шалгана уу. Үүнээс гадна хамгийн сүүлийн үеийн FreeBSD-STABLE хувилбарыг crossref:mirrors[mirrors,толин тусгалын хаягууд]аас татан авч суулгах боломжтой бөгөөд доор дурдсан заавруудыг дагаж өөрийн системийг хамгийн сүүлийн үеийн FreeBSD-STABLE эх код уруу шинэчилж болох юм. + Хэрэв та FreeBSD-ийн урдны хувилбар аль хэдийн ажиллуулж байгаа бөгөөд эхээс шинэчлэхийг хүсэж байгаа бол FreeBSD-ийн crossref:mirrors[mirrors,толин тусгал хуудас]аас хялбараар хийж болно. Үүнийг гурван аргаар хийж болно: .. Хүссэн хөгжүүлэлт эсвэл салбар хувилбарыг татахдаа crossref:mirrors[svn,svn] програмыг ашиглах хэрэгтэй. Энэ аргыг FreeBSD-н хөгжүүлэлтэд хандахад зөвлөдөг. Салбарын нэрсэд одоогийн хөгжүүлэлтийн толгой хувилбарын хувьд `head`, болон `stable/9` эсвэл `releng/9.0` гэх зэрэг link:https://www.FreeBSD.org/releng/[хувилбар инженерчлэлийн хуудас] дахь салбарууд ордог. Суурь системийн Subversion татаж авах үндсэн URL нь `http://svn.freebsd.org/base/` бөгөөд репозиторын хэмжээ их тул зөвхөн хүссэн дэд модоо татаж авахыг зөвлөдөг. .. [.filename]#/usr/shared/examples/cvsup# санд байх [.filename]#standard-supfile# гэж нэрлэгдсэн [.filename]#supfile#-тай цуг crossref:mirrors[cvsup,cvsup] програм ашигла. Та дээр дурдсан жишээ [.filename]#supfile#-г өөрчлөн crossref:mirrors[cvsup,cvsup]-г өөрийн орчны хувьд тохируулах хэрэгтэй. + [WARNING] ==== `cvsup` нь хуучирсан бөгөөд төсөл ашиглахыг зөвлөдөггүй. ==== .. CTM хэрэгслийг ашигла. Хэрэв танд Интернэт уруу холбогдсон хурдан хямд холболт байхгүй бол энэ аргыг та ашиглах хэрэгтэй. . Гол нь хэрэв та эхэд хурдан, шаардлагын улмаас хандах хэрэгтэй болоод холболтуудын зурвасын өргөн ач холбогдолгүй бол `cvsup` эсвэл `ftp` ашиглаарай. Бусад тохиолдолд CTM-г ашигла. . FreeBSD-CURRENT-ийг хөрвүүлэхээсээ өмнө [.filename]#/usr/src# дахь [.filename]#Makefile#-г анхааралтай уншина уу. Эхний удаа та хамгийн багаар бодоход шинэчлэлтийн процессийн хэсэг болох <> хэсгээр дамжих хэрэгтэй. {freebsd-current} болон [.filename]#/usr/src/UPDATING# файлыг унших нь биднийг дараагийн хувилбар уруу шилжихэд заримдаа шаардлагатай болдог бусад эхлүүлэх процедуруудын хувьд хамгийн сүүлийн мэдээлэлтэй байлгах боломжийг бидэнд олгодог. [[synching]] == Өөрийн эхийг хамгийн сүүлийн хэлбэрт аваачих нь Интернетийн (эсвэл цахим захидал) холболт ашиглан FreeBSD төслийн эхүүдийн аль ч хэсгийн хувьд эсвэл таны юу сонирхож байгаагаас хамааран бүх хэсгүүдийг хамгийн шинэ байлгаж байх төрөл бүрийн аргууд байдаг. Бидний санал болгодог үндсэн үйлчилгээнүүд бол crossref:mirrors[svn,Subversion], crossref:mirrors[anoncvs,Anonymous буюу нэргүй CVS], crossref:mirrors[cvsup,CVSup] болон crossref:mirrors[ctm,CTM] юм. [WARNING] ==== Өөрийн эх модны зөвхөн зарим хэсгийг шинэчлэх боломжтой боловч цорын ганц шинэчлэх арга бол модыг бүтнээр нь шинэчилж хэрэглэгчийн талбар (өөрөөр хэлбэл [.filename]#/bin# болон [.filename]#/sbin# гэх мэт дэх хэрэглэгчийн талбарт ажилладаг бүх програмууд) болон цөмийн эхүүдийг дахин эмхэтгэх явдал юм. Өөрийн эх модны зөвхөн нэг хэсэг зөвхөн цөм эсвэл зөвхөн хэрэглэгчийн талбарыг шинэчлэх нь асуудлууд гарахад ихэвчлэн хүргэдэг. Эдгээр асуудлууд нь эмхэтгэлтийн үеийн алдаануудаас авахуулаад цөмийн сүйрлүүд эсвэл өгөгдлийн эвдрэлийг хүртэл хамардаг. ==== Subversion, Нэргүй CVS болон CVSup нь эхийг шинэчлэхдээ _татах_ загварыг хэрэглэдэг. Subversion-ийн хувьд хэрэглэгч (эсвэл `cron` скрипт) `svn` програмыг эхлүүлэн файлуудыг хамгийн шинэ хэлбэрт авчирдаг. Локал эх модыг шинэчлэхэд зөвлөдөг арга бол Subversion юм. `cvsup` ба `cvs` нь ижил зарчмаар ажиллах боловч хуучирсан бөгөөд Subversion-ийг ашиглахыг зөвлөдөг. Таны хүлээн авах шинэчлэлтүүд нь хамгийн сүүлийн минут хүртэлх үеийнх байх бөгөөд та тэдгээрийг зөвхөн өөрийн хүссэн тэр үедээ авдаг. Та өөрийн шинэчлэлтүүдийг таны сонирхож байгаа тусгайлсан файлууд эсвэл сангуудаар хялбараар хязгаарлаж болно. Шинэчлэлтүүд нь таны юуг авахыг хүссэн болон танд юу байгаагаас хамааран серверээр тухайн үед үүсгэгддэг. Үнэхээр шаардлагагүй л бол хуучирч ирээдүйд үргэлжүүлэн ашиглахаа болих бусад синхрон хийх аргуудаас илүүтэй Subversion-г ашиглах ёстой юм. Нөгөө талаас CTM нь танд байгаа эхийг мастер архив дахь эхтэй лавлаж асуух зарчмаар харьцуулдаггүй бөгөөд өөрөөр хэлбэл тэдгээрийг татаж авдаггүй. Ингэхийн оронд харин өмнө нь ажиллуулснаас хойшх файл дахь өөрчлөлтүүдийг таньдаг скрипт өдөрт хэд хэдэн удаа мастер CTM машин дээр ажиллаж илэрсэн өөрчлөлтүүдийг шахаж дарааллын-дугаар тавин цахим захидлаар дамжуулахад зориулан кодчилдог (зөвхөн хэвлэгдэх боломжтой ASCII хэлбэрээр). Эдгээр "CTM дельтануудыг" авсаны дараа тэдгээрийг автоматаар декод хийж шалган хэрэгчид байгаа эхийн хуулбарт өөрчлөлтүүдийг хийх man:ctm_rmail[1] хэрэгсэл уруу өгдөг. Энэ процесс нь CVSup-с хамаагүй илүү үр дүнтэй бөгөөд энэ нь _татах_ биш харин _түлхэх_ загвар учраас бидний серверийн эх үүсвэрт бага ачаалал учруулдаг юм. Мэдээж үүнээс гадна харилцан сул болон давуу талуудтай асуудлууд байдаг. Хэрэв та санамсаргүйгээр өөрийн архивын хэсгийг устгачих юм бол CVSup үүнийг илрүүлж эвдэрсэн хэсгүүдийг дахин бүтээж өгдөг. CTM ингэж хийдэггүй бөгөөд хэрэв та өөрийн эх модны зарим хэсгийг устгасан (бас нөөцлөн аваагүй) бол та дахин шинээр эхнээс нь (хамгийн сүүлийн үеийн CVS "суурь дельтагаас") эхэлж CTM-ийн тусламжтайгаар бүгдийг дахин бүтээх буюу эсвэл Нэргүй CVS-ийн тусламжтайгаар муу битүүдийг ердөө л устгаж дахин сүүлийн хэлбэрт аваачих хэрэгтэй болно. [[makeworld]] == "Ертөнц"ийг дахин бүтээх нь Та өөрийн локал эх модоо FreeBSD-ийн тухайн хувилбарын (FreeBSD-STABLE, FreeBSD-CURRENT, гэх зэрэг) хамгийн сүүлийн үеийн хэлбэрт аваачсаныхаа дараа та эх модоо ашиглан системийг дахин бүтээж болно. [WARNING] .Нөөц хий ==== Та дээрхийг хийхээсээ _өмнө_ өөрийн системийг нөөцлөн авах нь ямар чухал болохыг энэ нь хангалттай хэлж өгч чаддаггүй. Ертөнцийг дахин бүтээх нь (хэрэв та эдгээр заавруудыг дагасан тохиолдолд) хялбар боловч таныг алдаа гаргахад эсвэл бусдын эх модонд хийсэн алдаанууд нь таны системийг ачаалагдахгүй болгох нөхцөлд зайлшгүй хүргэдэг. Нөөц хийж авсан эсэхээ шалгаарай. Засварлах уян диск эсвэл ачаалагдах CD-г гарын дор байлгаарай. Магадгүй та үүнийг хэзээ ч хэрэглэхгүй байж болох юм, гэхдээ харамсахаасаа өмнө аюулгүй байж байх нь илүү дээр юм! ==== [WARNING] .Тохирох захидлын жагсаалтад бүртгүүл ==== FreeBSD-STABLE болон FreeBSD-CURRENT салбарууд нь угаасаа _хөгжүүлэлтэд байдаг_. FreeBSD-д хувь нэмэр оруулж байгаа хүмүүс нь хүн л учраас алдаанууд заримдаа гардаг. Заримдаа эдгээр алдаанууд нь нэг их хор хөнөөлгүй бөгөөд ердөө л таны системийг шинэ оношлогооны анхааруулга хэвлэхэд хүргэдэг. Эсвэл өөрчлөлт нь сүйрлийн байж болзошгүй байдаг бөгөөд таны системийг ачаалагдахгүй болгож эсвэл файлын системүүдийг чинь устгаж (эсвэл бүр муу юм болж) болох юм. Эдгээртэй адил асуудлууд гарвал асуудлын учир шалтгаан болон аль систем дээр энэ асуудал хамааралтайг тайлбарласан "heads up буюу бүхний сонорт" хандсан зарлал тохирох захидлын жагсаалтад илгээгддэг. Тэгээд "all clear буюу бүгд цэвэр" зарлал асуудал шийдэгдсэний дараа тавигддаг. Хэрэв та FreeBSD-STABLE эсвэл FreeBSD-CURRENT-ийг дагахыг оролдож {freebsd-stable} эсвэл {freebsd-current}-г харгалзуулан уншихгүй байгаа бол энэ нь та өөртөө гай төвөг асууж байна л гэсэн үг юм. ==== [WARNING] .`make world` тушаалыг бүү ашигла ==== Ихэнх хуучин баримтууд үүнд зориулан `make world` тушаалыг ашиглахыг зөвлөдөг. Энэ тушаалыг ажиллуулснаар зарим нэг чухал алхмуудыг алгасах бөгөөд та юу хийж байгаагаа мэдэж байгаа тохиолдолд үүнийг зөвхөн ашиглах хэрэгтэй. Бараг ихэнх тохиолдолд `make world` хийх нь буруу зүйл бөгөөд энд тайлбарласан процедурыг түүний оронд ашиглах ёстой юм. ==== [[canonical-build]] === Шалгагдсан аргаар өөрийн системийг шинэчлэх нь Өөрийн системийг шинэчлэхийн тулд өөрт чинь байгаа эхийн хувилбарт шаардлагатай байгаа бүтээхээс урьдах алхмууд та [.filename]#/usr/src/UPDATING# файлд байгаа эсэхийг шалгах хэрэгтэй бөгөөд үүний дараа энд дурдсан процедурыг ашиглана. Эдгээр шинэчлэлтийн алхмууд нь таныг хуучин хөрвүүлэгч, хуучин цөм, хуучин ертөнц болон хуучин тохиргооны файлууд бүхий FreeBSD-ийн хуучин хувилбар ашиглаж байгаа гэж тооцдог. "Ертөнц" гэдгийг бид энд системийн гол хоёртын файлууд, сангууд болон програмын файлууд гэж ойлгоно. Хөрвүүлэгч нь "ертөнц"ийн хэсэг бөгөөд цөөн асуудлуудтай байдаг. Таныг шинэ системийн эхийг аль хэдийн авсан байгаа гэж бид бас энд тооцдог. Тухайн систем дээр байгаа эхүүд бас хуучин байвал шинэ хувилбар руу шилжүүлэх талаар бичсэн <>-с дэлгэрэнгүйг үзнэ үү. Системийг эхээс шинэчлэх нь эхлээд санагдсанаасаа илүү нарийн байдаг бөгөөд тойрон гарах боломжгүй, хамаарлууд бүхий шинэ асуудлууд гардгаас болоод FreeBSD-ийн хөгжүүлэгчид зөвлөдөг чиг хандлагаа жил ирэх тутам нэлээнээр өөрчлөх шаардлагатай болсон. Энэ хэсгийн үлдсэн хэсэг нь одоогоор зөвлөж байгаа шинэчлэх дарааллын талаар тайлбарлах болно. Амжилттай болох шинэчлэх дараалал бүр дараах асуудлуудыг шийдэх ёстой: * Хуучин хөрвүүлэгч шинэ цөмийг бүтээж чадахгүй байж болох юм. (Хуучин хөрвүүлэгчид заримдаа алдаатай байдаг.) Тиймээс шинэ цөмийг шинэ хөрвүүлэгчээр бүтээх ёстой. Ялангуяа шинэ цөм бүтээхээсээ өмнө шинэ хөрвүүлэгчийг бүтээх хэрэгтэй. Энэ нь шинэ хөрвүүлэгчийг заавал шинэ цөмөөс өмнө _суулгасан_ байх ёстой гэсэн үг биш юм. * Шинэ ертөнц шинэ цөмийн боломжууд дээр тулгуурлаж байж болох юм. Тиймээс шинэ цөмийг шинэ ертөнцийг суулгахаасаа өмнө суулгасан байх шаардлагатай. Эдгээр хоёр асуудал нь бидний дараагийн хэсгүүдэд тайлбарлах гол `buildworld`, `buildkernel`, `installkernel`, `installworld` дарааллын үндэс болдог. Энэ нь одоогоор зөвлөдөг шинэчлэлтийн просессийг та яагаад заавал сонгох ёстойг харуулсан бүх шалтгаануудын бүрэн дүүрэн жагсаалт биш юм. Зарим нэг тийм ч мэдээжийн биш зүйлсийг доор жагсаав: * Хуучин ертөнц шинэ цөм дээр зөв ажиллахгүй байж болох учир та шинэ цөм суулгасныхаа дараа шинэ ертөнцийг даруйхан суулгах ёстой. * Шинэ ертөнц суулгахаасаа өмнө зарим нэг тохиргооны өөрчлөлтүүдийг хийх ёстой боловч зарим нь хуучин ертөнцийг эвдэж магадгүй юм. Тийм болохоор хоёр өөр тохиргооны шинэчлэлтийн алхам ерөнхийдөө шаардлагатай байдаг. * Ихэнх хэсгийн хувьд шинэчлэх процесс нь зөвхөн файлуудыг солих юм уу эсвэл нэмдэг бөгөөд байгаа хуучин файлуудыг устгадаггүй. Цөөн тохиолдолд энэ нь асуудал үүсгэж болох юм. Үүний дүнд шинэчлэх арга зам нь зарим нэг алхам дээр гараар устгах тодорхой файлуудыг заримдаа зааж өгдөг. Үүнийг ирээдүйд автоматчилах юм уу эсвэл үгүй ч байж болох юм. Эдгээр зүйлс нь дараах зөвлөсөн дараалалд хүргэдэг. Тухайн шинэчлэлтүүдэд зориулсан дэлгэрэнгүй дараалал нь нэмэлт алхмуудыг шаардаж болохыг санаарай. Гэхдээ эдгээр гол процессууд тодорхой хугацаагаар өөрчлөгдөхгүй байх ёстой юм: . `make buildworld` + Энэ нь эхлээд шинэ хөрвүүлэгч болон хамааралтай цөөн хэрэгслүүдийг бүтээж дараа нь шинэ ертөнцийн бусдыг хөрвүүлэхийн тулд шинэ хөрвүүлэгчийг ашигладаг. Үр дүн нь [.filename]#/usr/obj#-д хадгалагддаг. . `make buildkernel` + man:config[8] болон man:make[1]-ийг ашигладаг хуучин аргаасаа ялгаатай нь энэ тушаал [.filename]#/usr/obj# санд байрлаж байгаа _шинэ_ хөрвүүлэгчийг ашигладаг. Энэ нь хөрвүүлэгч болон цөмийн хооронд тохиромжгүй байдал үүсэхээс таныг хамгаалдаг. . `make installkernel` + Шинэ цөм болон цөмийн модулиудыг дискэд байрлуулж шинээр шинэчилсэн цөмөөр ачаалах боломжийг бүрдүүлдэг. . Ганц хэрэглэгчийн горим руу ачаалан орно. + Ганц хэрэглэгчийн горим нь ажиллаж байгаа програм хангамжуудыг шинэчлэхэд гарах асуудлуудыг багасгадаг. Энэ нь бас шинэ цөм дээр хуучин ертөнцийг ажиллуулахад гарах асуудлыг багасгадаг. . `mergemaster -p` + Энэ нь шинэ ертөнцөд зориулж зарим нэг тохиргооны файлуудын эхний шинэчлэлтүүдийг хийдэг. Жишээ нь энэ нь шинэ хэрэглэгчийн бүлгийг системд нэмэх, эсвэл шинэ хэрэглэгчийн нэрсийг нууц үгийн мэдээллийн санд нэмж болох юм. Сүүлийн шинэчлэлтээс хойш шинэ бүлгүүд эсвэл системийн тусгай хэрэглэгчийн бүртгэлүүдийг нэмэх үед энэ нь ихэвчлэн шаардлагатай байдаг. Ингэснээр `installworld` алхам нь шинээр суулгагдсан системийн хэрэглэгч эсвэл системийн бүлгийн нэрсийг ямар ч асуудалгүйгээр ашиглах боломжтой болох юм. . `make installworld` + [.filename]#/usr/obj# сангаас ертөнцийг хуулдаг. Та одоо диск дээрээ шинэ цөм болон шинэ ертөнцтэй боллоо. . `mergemaster` + Нэгэнт диск дээрээ шинэ ертөнцтэй болсон болохоор та одоо үлдсэн тохиргооны файлуудаа шинэчилж болно. . Дахин ачаална. + Шинэ цөм болон шинэ ертөнцийг шинэ тохиргооны файлуудтай дуудахын тулд машиныг бүрэн дахин ачаалах хэрэгтэй. Хэрэв та FreeBSD-ийн нэг салбар дотор нэг хувилбараас илүү сүүлийн хувилбар руу шинэчилж байгаа бол, өөрөөр хэлбэл 7.0-с 7.1 рүү шинэчилж байгаа бол хөрвүүлэгч, цөм, хэрэглэгчийн талбар болон тохиргооны файлуудын хооронд айхтар таарамжгүй байдлууд тантай бараг л тохиолдохгүй учир энэ арга нь заавал шаардлагатай биш байж болох юм. Хуучин арга болох `make world` болон шинэ цөмийг бүтээж суулгах нь жижиг шинэчлэлтийн хувьд хангалттай сайн ажиллаж болох юм. Гэхдээ гол хувилбаруудын хооронд шинэчлэлт хийж байх үед энэ арга замыг дагахгүй байгаа хүмүүст зарим асуудлууд учирч болох юм. Олон шинэчлэлтүүд (өөрөөр хэлбэл 4._X_-с 5.0 руу) тусгайлсан нэмэлт алхмуудыг (жишээ нь installworld хийхээс өмнө тусгай файлуудын нэрийг өөрчлөх эсвэл устгах гэх мэт) шаардаж болохыг энд тэмдэглэх нь зүйтэй юм. [.filename]#/usr/src/UPDATING# файлыг анхааралтай уншина уу, ялангуяа одоогоор зөвлөсөн байгаа шинэчлэх дарааллыг тусгайлан тайлбарласан төгсгөл хэсгийг уншаарай. Зарим нэг тохиромжгүй байдалтай холбоотой асуудлуудаас бүрэн гүйцэд хамгаалах боломжгүйг хөгжүүлэгчид мэдсэнээр энэ арга нь цаг хугацааны туршид сайжруулагдсаар ирсэн юм. Одоогийн арга замууд нь удаан хугацааны туршид тогвортой байна гэдэгт найдаж байна. Дүгнэхэд FreeBSD-г эхээс шинэчлэхэд одоогоор зөвлөдөг арга бол: [source,shell] .... # cd /usr/src # make buildworld # make buildkernel # make installkernel # shutdown -r now .... [NOTE] ==== `buildworld` алхмаас өмнө `mergemaster -p` тушаалыг нэмж ажиллуулах цөөн ховор тохиолдлууд байдаг. Эдгээрийн талаар [.filename]#UPDATING# файлд тайлбарласан байдаг. Хэрэв та FreeBSD-ийн нэг буюу олон голлох хувилбаруудын дагуу шинэчлэл хийхгүй байгаа бол ерөнхийдөө энэ алхмыг эмээлгүйгээр орхиж болох юм. ==== `installkernel` амжилттай дууссаны дараа та ганц хэрэглэгчийн горим уруу ачаалах хэрэгтэй (өөрөөр хэлбэл `boot -s` тушаалыг дуудагч мөрөөс ашиглана). Дараа нь доор дурдсан тушаалуудыг ажиллуулна: [source,shell] .... # mount -u / # mount -a -t ufs # adjkerntz -i # mergemaster -p # cd /usr/src # make installworld # mergemaster # reboot .... [WARNING] .Тайлбаруудыг цааш уншина уу ==== Дээр тайлбарласан дараалал нь зөвхөн таныг эхлэхэд туслах богино сэргээлт болох юм. Гэхдээ хэрэв та ялангуяа өөрчлөн тохируулсан цөмийн тохиргоо ашиглахыг хүсэж байгаа бол дараах хэсгүүдийг уншиж алхам бүрийг сайтар ойлгох хэрэгтэй. ==== [[src-updating]] === [.filename]#/usr/src/UPDATING# файлыг унш Өөр юм хийж эхлэхээсээ өмнө та [.filename]#/usr/src/UPDATING#-г (эсвэл эх кодын хуулбар хаана байгаа тэндээс үүнтэй төстэй файлыг ) уншаарай. Энэ файл нь танд учирч болзошгүй асуудлуудын талаар чухал мэдээлэл агуулдаг бөгөөд эсвэл таны ажиллуулах зарим нэг тушаалуудын дарааллын талаар заасан байдаг. Хэрэв [.filename]#UPDATING# файл таны энд уншсантай зөрчилдөж байвал [.filename]#UPDATING# файлд заасныг дагах хэрэгтэй. [IMPORTANT] ==== [.filename]#UPDATING# файлыг унших нь өмнө нь тайлбарласнаар зөв захидлын жагсаалтад бүртгүүлэхтэй харьцуулах юм бол хүлээн зөвшөөрч болохуйц орлогч байж чадахгүй юм. Энэ хоёр шаардлага нь нэмэлт бөгөөд заавал шаардлагатай биш юм. ==== [[make-conf]] === [.filename]#/etc/make.conf# файлыг шалга [.filename]#/usr/shared/examples/etc/make.conf# болон [.filename]#/etc/make.conf# файлыг шалгаарай. Эхнийх нь зарим нэг анхдагч тодорхойлолтуудыг агуулдаг - тэдгээрийн ихэнх нь тайлбар болон хаагдсан байдаг. Та системээ эхээс нь дахин бүтээх үедээ тэдгээрийг ашиглахын тулд [.filename]#/etc/make.conf# файлд нэмэх хэрэгтэй. [.filename]#/etc/make.conf# файлд нэмсэн болгон `make` тушаалыг ажиллуулах бүрд бас ашиглагддаг учир өөрийн системдээ зориулан тэдгээрийг боломжийн утгаар тохируулж өгөх нь зүйтэй юм. Ердийн хэрэглэгч [.filename]#/usr/shared/examples/etc/make.conf# файлд байдаг `NO_PROFILE` мөрийг [.filename]#/etc/make.conf# уруу хуулж тайлбар болгосныг болиулж нээхийг магадгүй хүсэж болох юм. `NOPORTDOCS` гэх зэрэг бусад тодорхойлолтуудыг шалгаж танд хамаатай эсэхээс хамаарч оруулах эсэхээ шийдээрэй. [[updating-etc]] === [.filename]#/etc# дэх файлуудыг шинэчил [.filename]#/etc# сан нь таны системийн тохиргооны мэдээллийн ихэнх хэсгийг агуулдгаас гадна системийг эхлүүлэхэд ажилладаг скриптүүд энд байдаг. Эдгээр скриптүүдийн зарим нь FreeBSD-ийн хувилбараас хувилбарт өөрчлөгддөг. Тохиргооны файлуудын зарим нь бас системийг ажиллуулахад өдөр тутам хэрэглэгддэг. Ялангуяа [.filename]#/etc/group#-г дурдаж болно. `make installworld` тушаалын суулгалт хийх хэсэг нь зарим нэг хэрэглэгчийн нэр эсвэл бүлгүүд байж байна гэж тооцдог тохиолдлууд байдаг. Шинэчлэл хийж байх үед эдгээр хэрэглэгчид эсвэл бүлгүүд ихэнхдээ байхгүй байдаг. Энэ нь шинэчлэл хийхэд асуудал учруулдаг. Зарим тохиолдолд `make buildworld` нь эдгээр хэрэглэгчид эсвэл бүлгүүд байгаа эсэхийг шалгана. Үүний нэг жишээ нь `smmsp` хэрэглэгч нэмэгдсэн тохиолдол юм. man:mtree[8] нь [.filename]#/var/spool/clientmqueue#-г үүсгэхийг оролдох үед хэрэглэгчийн суулгалтын процесс энэ асуудлаас болж амжилтгүй болж байсан. Үүний шийдэл нь man:mergemaster[8]-г ертөнцийг бүтээхээс урд `-p` тохируулгатай ажиллуулах явдал юм. Энэ нь `buildworld` эсвэл `installworld` тушаалыг амжилттай болгоход зөвхөн шаардлагатай файлуудыг харьцуулдаг. [TIP] ==== Хэрэв та ялангуяа хэтэрхий санаа зовж байгаа бол тухайн бүлэгт харьяалагдаж байгаа нэрийг нь өөрчилж байгаа эсвэл устгаж байгаа ямар файлууд байгааг өөрийн системээс шалгаарай: [source,shell] .... # find / -group GID -print .... дээрх нь _GID_ (энэ бүлгийн нэр байж болно эсвэл бүлгийн тоон ID байж болно) бүлгийн эзэмшдэг файлуудыг харуулна. ==== [[makeworld-singleuser]] === Ганц хэрэглэгчийн горимд шилж Та системийг ганц хэрэглэгчийн горимд эмхэтгэхийг хүсэж болох юм. Энэ нь шинэчлэлтийг арай илүү хурдасгах илэрхий ашиг тустайгаас гадна системийг дахин суулгах нь системийн стандарт хоёртын файлууд, libraries буюу туслах сангууд, оруулгын файлууд гэх зэрэг системийн маш олон чухал файлуудыг хөнддөг. Ажиллаж байгаа систем дээр эдгээрийг өөрчлөх нь (ялангуяа хэрэв тухайн үед таны систем дээр идэвхтэй хэрэглэгчид байвал) гай төвгийг өөрөө эрж байна гэсэн үг юм. Өөр нэг арга бол системийг олон хэрэглэгчийн горимд эмхэтгэж дараа нь суулгахдаа ганц хэрэглэгчийн горимд шилжин хийх явдал юм. Хэрэв та энэ замаар хийхийг хүсэж байвал бүтээлт дуустал дараах алхмууд дээр хүлээж байгаарай. Та `installkernel` эсвэл `installworld` хийх хүртлээ ганц хэрэглэгчийн горимд оролгүйгээр хүлээж байж болно. Супер хэрэглэгч болоод та доор дурдсаныг: [source,shell] .... # shutdown now .... ажиллаж байгаа системээс ганц хэрэглэгчийн горим уруу оруулахдаа ажиллуулж болно. Өөр нэг арга нь системийг дахин ачаалаад ачаалалтын тушаал хүлээх мөрөн дээр "single user буюу ганц хэрэглэгч" тохируулгыг сонгоорой. Ингэхэд систем ганц хэрэглэгчийг ачаална. Бүрхүүлийн тушаал хүлээх мөрөнд та доор дурдсан тушаалуудыг ажиллуулах шаардлагатай: [source,shell] .... # fsck -p # mount -u / # mount -a -t ufs # swapon -a .... Энэ нь файлын системүүдийг шалгаж [.filename]#/#-г дахин унших/бичихээр дахин холбож бусад бүх UFS файлын системүүдийг [.filename]#/etc/fstab#-д заасны дагуу холбон дараа нь swap-ийг идэмвхжүүлэх болно. [NOTE] ==== Хэрэв таны CMOS цаг нь GMT биш локал хугацаагаар тохируулагдсан бол (хэрэв man:date[1] тушаалын гаралт зөв цаг болон бүсийг харуулахгүй бол энэ нь үнэн) та дараах тушаалыг бас ажиллуулах хэрэгтэй болж болох юм: [source,shell] .... # adjkerntz -i .... Энэ нь таны локал цагийн бүсийн тохируулгуудыг зөвөөр тохируулж өгдөг - үүнийг хийхгүй бол та дараа нь зарим асуудлуудтай тулгарч магадгүй. ==== [[cleaning-usr-obj]] === [.filename]#/usr/obj#-г устга Системийн хэсгүүд дахин бүтээгдсэнийхээ дараа (анхдагчаар) [.filename]#/usr/obj# дахь сангуудад байршдаг. Эдгээр сангууд нь [.filename]#/usr/src# дотор байгааг халхалдаг. Та `make buildworld` процессийг хурдасгаж болох бөгөөд энэ санг бас устгаснаар хамаарлын зовлонгуудаас өөрийгөө магадгүй аврах болно. [.filename]#/usr/obj# доторх зарим файлуудад immutable буюу хувиршгүй туг тавигдсан (дэлгэрэнгүй мэдээллийг man:chflags[1]-с үзнэ үү ) байж болох бөгөөд түүнийг эхлээд арилгах хэрэгтэй. [source,shell] .... # cd /usr/obj # chflags -R noschg * # rm -rf * .... [[updating-upgrading-compilebase]] === Үндсэн системийг дахин эмхэтгэ ==== Гаралтыг хадгалах нь man:make[1]-г ажиллуулахдаа гарах үр дүнг өөр файл уруу хадгалах нь зүйтэй юм. Хэрэв ямар нэг юм болохоо боливол та алдааны мэдэгдлийн хуулбартай байх болно. Энэ нь танд юу буруутсаныг шинжлэхэд чинь тус болохгүй байж болох боловч та өөрийн энэ асуудлаа FreeBSD-ийн аль нэг захидлын жагсаалт уруу илгээсэн тохиолдолд бусдад тус болж болох юм. Үүнийг хамгийн амраар хийхийн тулд man:script[1] тушаалыг бүх гаралтыг хадгалах файлын нэрийг заасан параметрийн хамтаар ашиглана. Та үүнийг ертөнцийг дахин бүтээхээс өмнөхөн нэн даруй хийж дараа нь процесс дууссаны дараа `exit` гэж бичиж гарна. [source,shell] .... # script /var/tmp/mw.out Script started, output file is /var/tmp/mw.out # make TARGET … compile, compile, compile … # exit Script done, … .... Хэрэв та үүнийг хийх бол гаралтыг [.filename]#/tmp# дотор _битгий_ хадгалаарай. Энэ сан нь таныг дахин ачаалсны дараа цэвэрлэгдэж болох юм. Энэ файлыг хадгалах арай илүү боломжийн газар нь [.filename]#/var/tmp# (өмнөх жишээн дээрх шиг) эсвэл `root` хэрэглэгчийн гэр сан байж болох юм. [[make-buildworld]] ==== Үндсэн системийг эмхэтгэ Та [.filename]#/usr/src# сан дотор байх шаардлагатай: [source,shell] .... # cd /usr/src .... (гэхдээ мэдээж таны код өөр газар байгаа тохиолдолд тэр сан уруугаа орох хэрэгтэй). Ертөнцийг дахин бүтээхдээ та man:make[1] тушаалыг ашиглана. Энэ тушаал нь FreeBSD-ийн агуулсан програмууд ямар дарааллаар дахин хэрхэн бүтээгдэх зэргийг тайлбарласан [.filename]#Makefile# файлаас заавруудыг уншдаг. Таны бичих тушаалын мөрийн ерөнхий хэлбэр нь дараах байдлаар байна: [source,shell] .... # make -x -DVARIABLE target .... Энэ жишээн дээр `-_x_` нь man:make[1] уруу таны дамжуулах тохируулга юм. man:make[1]-н гарын авлагын хуудаснаас та дамжуулж болох тохируулгуудын жишээг үзнэ үү. `-D_VARIABLE_` тохируулга нь [.filename]#Makefile# уруу хувьсагч дамжуулж байна. [.filename]#Makefile#-ийн ажиллагаа эдгээр хувьсагчуудаар хянагдана. Эдгээр нь [.filename]#/etc/make.conf# дотор зааж өгсөн хувьсагчуудтай адил бөгөөд энэ нь тэдгээрийг тохируулах бас нэг өөр арга юм. [source,shell] .... # make -DNO_PROFILE target .... тушаал нь профиль хийгдсэн сангууд бүтээгдэх ёсгүйг заах өөр нэг арга бөгөөд энэ нь [.filename]#/etc/make.conf# дахь дараах [.programlisting] .... NO_PROFILE= true # Avoid compiling profiled libraries .... мөрд харгалзах юм. _target_ нь man:make[1]-д таны юу хийхийг хэлж өгдөг. [.filename]#Makefile# болгон өөр өөр "targets буюу даалгаврын төрлүүдийг" тодорхойлдог бөгөөд таны сонгосон төрөл юу болохыг тодорхойлдог. Зарим төрлүүд [.filename]#Makefile#-д жагсаагдсан байх бөгөөд гэхдээ эдгээр нь таныг ажиллуулахад зориулагдаагүй. Харин тэдгээр нь системийг дахин бүтээхэд шаардлагатай алхмуудыг хэд хэдэн дэд алхмуудад хуваахын тулд бүтээх процессод хэрэглэгддэг. Ихэнх тохиолдолд та man:make[1] уруу ямар ч параметр дамжуулах хэрэггүй бөгөөд тэгэхээр таны тушаал дараахтай ижил байж болно: [source,shell] .... # make target .... дээрх _target_ нь олон бүтээх тохируулгуудын нэг болно. Эхний төрөл нь үргэлж `buildworld` байх ёстой. Нэртэйгээ адилаар `buildworld` нь [.filename]#/usr/obj# дотор бүрэн гүйцэд шинэ модыг бүтээх бөгөөд өөр нэг төрөл болох `installworld` нь энэ модыг тухайн машин дээр суулгадаг. Тусдаа тохируулгуудтай байх нь хоёр шалтгаанаар маш ач холбогдолтой юм. Нэгдүгээрт энэ нь бүтээлтийг таны ажиллаж байгаа системийн ямар ч хэсэгт нөлөөлөхгүйгээр аюулгүйгээр хийхийг танд зөвшөөрдөг. Бүтээлт нь "өөр дээрээ хийгдэнэ (self hosted)". Ийм болохоор та `buildworld` тушаалыг олон хэрэглэгчийн горимд ажиллаж байгаа машин дээр буруу нөлөөллөөс айлгүйгээр аюулгүйгээр хийж болно. Гэхдээ `installworld` хэсгийн хувьд ганц хэрэглэгчийн горимд хийхийг танд зөвлөдөг. Хоёрдугаарт энэ нь сүлжээн дэх олон машинуудыг шинэчлэхэд NFS холболтуудыг ашиглахыг танд зөвшөөрдөг. Хэрэв танд гурван машин байгаа бөгөөд `A`, `B` болон `C` машинуудыг шинэчлэхийг хүсвэл `make buildworld` болон `make installworld` тушаалыг `A` дээр ажиллуулна. Дараа нь `B` болон `C` машинууд `A` дээрх [.filename]#/usr/src# болон [.filename]#/usr/obj# сангуудыг NFS холболт хийн `make installworld`-г ажиллуулж бүтээлтийн үр дүнг `B` болон `C` дээр суулгаж болох юм. `world` төрөл байсаар байгаа хэдий ч танд түүнийг ашиглахгүй байхыг зөвлөж байна. Дараах тушаалыг ажиллуул [source,shell] .... # make buildworld .... Хэд хэдэн зэрэгцээ процессуудыг үүсгэх `-j` тохируулгыг `make` тушаалд зааж өгөх боломжтой. Энэ нь олон CPU-тэй машинууд дээр хамгийн их ашигтай. Гэхдээ эмхэтгэх процессийн ихэнх нь CPU дээр биш IO дээр ажилладаг болохоор энэ нь бас нэг CPU-тэй машинууд дээр ашигтай юм. Ердийн нэг CPU-тэй машин дээр та доор дурдсаныг ажиллуулж болох юм: [source,shell] .... # make -j4 buildworld .... man:make[1] нь 4 хүртэлх процессийг нэгэн зэрэг ажиллуулах юм. Захидлын жагсаалтуудад илгээгдсэн туршлагаас харахад энэ нь ерөнхийдөө ажиллагааг хамгийн сайн хангаж хурдасгадаг байна. Хэрэв та олон CPU машинтай бөгөөд SMP тохируулагдсан цөм ашиглаж байвал утгыг 6-аас 10 хүртэл болгож хэр хурдсаж байгааг хараарай. ==== Хугацаа Бүтээхэд шаардагдах хугацаанд олон хүчин зүйлс нөлөөлдөг, гэхдээ нэлээн сүүлийн үеийн машинуудын хувьд FreeBSD-STABLE модыг процессийн явцад ямар нэгэн заль мэх эсвэл дөт зам ашиглалгүйгээр бүтээхэд зөвхөн нэг юм уу эсвэл хоёр цаг л шаардагдах болох юм. FreeBSD-CURRENT модны хувьд арай удах болов уу. [[new-kernel]] === Шинэ цөмийг эмхэтгэж суулга Та өөрийн шинэ системийн давуу талыг бүгдийг нь авахын тулд цөмөө дахин эмхэтгэх хэрэгтэй. Зарим нэг санах ойн бүтцүүд өөрчлөгдсөн байх талтай бөгөөд man:ps[1] болон man:top[1] зэрэг програмууд нь цөм болон эх кодын хувилбарууд адил болтол ажилладаггүй болохоор эмхэтгэх нь үнэндээ чухал хэрэгцээтэй юм. Үүнийг хамгийн хялбараар аюулгүйгээр хийхийн тулд [.filename]#GENERIC# дээр тулгуурласан цөмийг бүтээж суулгах явдал юм. [.filename]#GENERIC# нь таны системийн хувьд хэрэгцээтэй төхөөрөмжүүдийг агуулаагүй байж болох боловч таны системийг ядаж ганц хэрэглэгчийн горимд ачаалахад шаардлагатай бүгдийг агуулсан байх ёстой. Шинэ систем зөв ажиллуулахад энэ сайн тест болж өгдөг. [.filename]#GENERIC#-с ачаалж таны систем ажиллаж байгааг шалгасны дараа та өөрийн ердийн цөмийн тохиргооны файл дээр тулгуурлан шинэ цөмөө бүтээж болох юм. FreeBSD дээр шинэ цөм бүтээхээсээ өмнө <> нь чухал юм. [NOTE] ==== Хэрэв та өөрчлөн тохируулсан цөмийг бүтээхийг хүсэж тохиргооны файлаа аль хэдийн үүсгэсэн бол доор дурдсантай адилаар `KERNCONF=MYKERNEL` гэж ашиглаарай: [source,shell] .... # cd /usr/src # make buildkernel KERNCONF=MYKERNEL # make installkernel KERNCONF=MYKERNEL .... ==== Хэрэв та `kern.securelevel` хувьсагчийг 1-ээс дээш болгон ихэсгэсэн _бөгөөд_ `noschg` эсвэл түүнтэй адил тугуудыг өөрийн цөмийн хоёртын файлд тавьсан бол `installkernel` хийхийн тулд та ганц хэрэглэгчийн горимд шилжин орох шаардлагатай байж болох юм. Үгүй бол та энэ хоёр тушаалыг олон хэрэглэгчийн горимоос ямар ч асуудалгүйгээр ажиллуулах ёстой. `kern.securelevel`-ийн талаар дэлгэрэнгүйг man:init[8] болон төрөл бүрийн файлын тугуудын талаар дэлгэрэнгүйг man:chflags[1] гарын авлагын хуудаснуудаас үзнэ үү. [[new-kernel-singleuser]] === Ганц хэрэглэгчийн горим уруу дахин ачаалан ор Та шинэ цөмийн ажиллагааг шалгахын тулд ганц хэрэглэгчийн горимд дахин ачаалан орох хэрэгтэй. Үүнийг <> дахь заавруудын дагуу хийнэ. [[make-installworld]] === Шинэ системийн хоёртын файлуудыг суулга Та шинэ системийн хоёртын файлуудыг суулгахын тулд `installworld` тушаалыг ашиглах шаардлагатай. Доор дурдсаныг ажиллуулна [source,shell] .... # cd /usr/src # make installworld .... [NOTE] ==== Хэрэв та `make buildworld` тушаалын мөрөнд хувьсагчуудыг зааж өгсөн бол тэдгээр хувьсагчуудыг `make installworld` тушаалын мөрөнд бас адилаар зааж өгөх хэрэгтэй. Энэ бусад тохируулгуудын хувьд заавал шаардлагатай биш байж болох юм; жишээ нь `-j` тохируулга `installworld`-той цуг хэзээ ч хэрэглэгдэх ёсгүй. Жишээ нь хэрэв та доор дурдсаныг ажиллуулсан бол: [source,shell] .... # make -DNO_PROFILE buildworld .... хоёртын файлуудыг дараах тушаалаар суулгана: [source,shell] .... # make -DNO_PROFILE installworld .... ингэхгүй бол `make buildworld` тушаалын ажиллах явцад бүтээгдээгүй профиль хийгдсэн сангуудыг (libraries) суулгахыг оролдох болно. ==== [[post-installworld-updates]] === `make installworld` тушаалаар шинэчлэгдээгүй файлуудыг шинэчил Ертөнцийг дахин бүтээх нь зарим нэг сангуудыг (ялангуяа [.filename]#/etc#, [.filename]#/var# болон [.filename]#/usr#) шинэ болон өөрчлөгдсөн тохиргооны файлуудаар шинэчилдэггүй. Эдгээр файлуудыг хамгийн амархнаар шинэчлэх арга нь man:mergemaster[8]-г ашиглах явдал юм, гэхдээ та хэрэв хүсвэл үүнийг гараар ажиллуулах боломжтой юм. Аль ч аргыг сонголоо гэсэн ямар нэгэн зүйл буруутсан тохиолдолд сэргээх боломжтойгоор [.filename]#/etc#-г нөөцөлж авах нь зүйтэй юм. [[mergemaster]] ==== `mergemaster` man:mergemaster[8] хэрэгсэл нь [.filename]#/etc# дэх таны тохиргооны файлууд болон [.filename]#/usr/src/etc# эх модон дахь тохиргооны файлуудын ялгааг тодорхойлоход танд тусалдаг Bourne скрипт юм. Энэ нь системийн тохиргооны файлуудыг эх модон дахь тохиргооны файлуудаар шинэчлэх зориулалттай бидний зөвлөдөг шийдэл юм. Эхлэхийн тулд өөрийн тушаал оруулах мөрөнд ердөө л `mergemaster`-г бичиж түүний эхлэхийг нь хараарай. `mergemaster` нь түр зуурын root орчныг [.filename]#/#-с доошлуулан бүтээж төрөл бүрийн системийн тохиргооны файлуудаар дамждаг. Тэдгээр файлууд нь таны системд суулгагдсан файлуудтай харьцуулагддаг. Энэ үед хоорондоо ялгаатай файлууд man:diff[1] хэлбэрээр үзүүлэгддэг бөгөөд `+` тэмдэгтээр нэмэгдсэн эсвэл өөрчлөгдсөн мөрүүдийг `-` тэмдэгтээр устгагдсан эсвэл шинэ мөрөөр солигдсон мөрүүдийг харуулдаг. man:diff[1]-н синтакс болон файлын өөрчлөлтүүдийг хэрхэн үзүүлдэг талаар дэлгэрэнгүй мэдээллийг man:diff[1] гарын авлагын хуудаснаас үзнэ үү. man:mergemaster[8] нь зөрчилдөөнүүдийг үзүүлсэн файл болгоныг харуулдаг бөгөөд энэ үед танд шинэ файлыг устгах (түр зуурын файл гэгддэг), түр зуурын файлыг өөрчлөлгүйгээр суулгах, суусан байгаа файлтай түр зуурын файлыг нийлүүлэх эсвэл man:diff[1]-н гаралтыг дахин харах сонголтыг үзүүлэх болно. Түр зуурын файлыг устгахыг сонгосноор бид одоо байгаа файлаа хэвээр өөрчлөлгүй үлдээж шинэ хувилбарыг устгахыг хүсэж байгаагаа man:mergemaster[8]-д хэлж байна гэсэн үг юм. Хэрэв та одоо байгаа файлаа өөрчлөх шалтгааныг олж харахгүй байгаагаас бусад тохиолдолд энэ сонголтыг хийхийг зөвлөдөггүй. Та ямар ч үед man:mergemaster[8] тушаал хүлээх мөрөн дээр kbd:[?] гэж бичин тусламж авч болох юм. Хэрэв хэрэглэгч файлыг орхихоор сонгосон бол энэ нь бусад бүх файлуудтай ажилсны дараа дахин үзүүлэгдэн хэрэглэгчээс тушаал хүлээх болно. Өөрчлөгдөөгүй түр зуурын файлыг суулгахыг сонгосноор одоо байгаа файлыг шинээр сольдог. Ихэнх өөрчлөгдөөгүй файлуудын хувьд энэ нь хамгийн шилдэг сонголт юм. Файлыг нийлүүлэхийг сонгосноор текст засварлагч болон хоёр файлын агуулгыг танд харуулах болно. Та дэлгэцийн хоёр талд байрласан тэдгээр хоёр файлыг хоёуланг нь шалган аль аль талаас нь хэрэгтэй хэсгүүдийг сонгон эцсийн бүтээгдэхүүн гаргаж аван нийлүүлж болно. Файлууд нь дэлгэцийн хоёр талд байрлан харьцуулагдах явцад kbd:[l] түлхүүр таны зүүн талын агуулгыг сонгодог бол kbd:[r] түлхүүр нь таны баруун тал дахь агуулгыг сонгох юм. Гарах эцсийн үр дүн нь хоёр файлын хоёулангийн хэсгүүдийг агуулсан файл болох бөгөөд түүнийг дараа нь суулгах боломжтой болох юм. Энэ сонголтыг хэрэглэгчийн тохиргоонуудад хийгдсэн өөрчлөлтүүдтэй файлуудын хувьд хэрэглэх нь зуршил болжээ. man:diff[1]-ээс гарах үр дүнг дахин харахыг сонгосноор өмнө нь man:mergemaster[8] файлын өөрчлөлтүүдийг харуулан таны сонголтыг хүлээсний нэгэн адилыг дахин харуулдаг. man:mergemaster[8] системийн файлуудтай ажиллаж дууссаны дараа танаас бусад сонголтуудыг хийхийг хүлээдэг. man:mergemaster[8] тушаал нууц үгийн файлыг дахин бүтээхийг хүсэж байгаа эсэхийг танаас асууж үлдсэн түр зуурын файлуудыг устгах сонголтыг үзүүлэн дуусдаг. ==== Гараар шинэчлэх Хэрэв та гараар шинэчлэхийг хүсвэл гэхдээ та [.filename]#/usr/src/etc# сангаас [.filename]#/etc# сан уруу файлуудыг зүгээр л дарж хуулж ажиллуулж чадахгүй. Зарим файлуудыг эхлээд "суулгах" хэрэгтэй. Учир нь [.filename]#/usr/src/etc# сан таны [.filename]#/etc# сангийн хуулбар шиг байхаар _харагддагүй_. Мөн [.filename]#/usr/src/etc# санд байдаггүй хэрнээ [.filename]#/etc# сан дотор байх шаардлагатай зарим файлууд байдаг. Хэрэв та man:mergemaster[8] (зөвлөсний дагуу) ашиглаж байвал та <> уруу орж болно. Үүнийг гараар хамгийн хялбар аргаар хийхийн тулд файлуудыг шинэ сан уруу суулгаж нэг бүрчлэн өөрчлөлтүүдийг хайн ажиллах хэрэгтэй. [WARNING] .Өөрт байгаа [.filename]#/etc#-г нөөцөл ==== Онолоор бол автоматаар энэ санд юу ч хүрдэггүй ч үүнд үргэлж итгэлтэй байх хэрэгтэй. Тэгэхээр өөрийн байгаа [.filename]#/etc# санг хаа нэг аюулгүй газар хуулах хэрэгтэй. Доорхтой адилаар: [source,shell] .... # cp -Rp /etc /etc.old .... `-R` нь рекурсив хуулбар хийх бөгөөд `-p` нь файлуудын хугацаа, эзэмшигч гэх мэтийг хадгалдаг. ==== Та шинэ [.filename]#/etc# болон бусад файлуудыг суулгахын тулд хоосон сангууд бүтээх хэрэгтэй. [.filename]#/var/tmp/root# нь боломжийн сонголт болох бөгөөд энэ сангийн доор хэд хэдэн дэд сангууд бас шаардлагатай болно. [source,shell] .... # mkdir /var/tmp/root # cd /usr/src/etc # make DESTDIR=/var/tmp/root distrib-dirs distribution .... Энэ нь шаардлагатай сангийн бүтцийг бүтээж файлуудыг суулгадаг. [.filename]#/var/tmp/root# дотор үүсгэгдсэн олон дэд сангууд хоосон бөгөөд тэдгээрийг устгах шаардлагатай байдаг. Үүнийг хамгийн хялбараар хийхийн тулд: [source,shell] .... # cd /var/tmp/root # find -d . -type d | xargs rmdir 2>/dev/null .... Энэ нь бүх хоосон сангуудыг устгана. (Хоосон биш сангуудын тухай анхааруулгуудыг гаргахгүйн тулд стандарт алдаа нь [.filename]#/dev/null# уруу илгээгддэг.) Одоо [.filename]#/var/tmp/root# нь [.filename]#/#-с доор байрлах тохирох байрлалуудад байршуулах ёстой бүх файлуудыг агуулсан байх болно. Та одоо эдгээр файл бүрийг шалгаж танд байгаа файлуудаас хэрхэн ялгаатай болохыг тогтоох хэрэгтэй. [.filename]#/var/tmp/root# дотор суулгагдсан зарим файлуудын нэр урдаа "." тэмдэгттэй байдгийг анхаарна уу. Энэ баримтыг бичиж байх үед ийм файлуудтай адил файлууд [.filename]#/var/tmp/root/# болон [.filename]#/var/tmp/root/root/# сан дахь бүрхүүлийн эхлүүлэх файлууд байсан, гэхдээ (таны хэзээ үүнийг уншиж байгаагаас хамаарч) өөр бусад файлууд байхыг үгүйсгэхгүй. Тэдгээрийг олж харахын тулд `ls -a` тушаалыг заавал ашиглаарай. Үүнийг хамгийн хялбар аргаар хийж хоёр файлыг харьцуулахын тулд man:diff[1] тушаалыг ашиглах явдал юм: [source,shell] .... # diff /etc/shells /var/tmp/root/etc/shells .... Энэ нь таны [.filename]#/etc/shells# файл болон шинэ [.filename]#/var/tmp/root/etc/shells# файлын хоорондын ялгааг харуулна. Эдгээрийг ашиглаж өөрийн хийсэн өөрчлөлтүүдийг нийлүүлэх эсвэл өөрийн хуучин файл дээрээс хуулах эсэхээ шийдээрэй. [TIP] .Хувилбаруудын Хоорондох Ялгаануудыг Хялбараар Харьцуулахын Тулд Та Шинэ Root Сангаа Тухайн Үеийн Хугацаагаар Нэрлээрэй ==== Ертөнцийг байнга дахин бүтээнэ гэдэг нь [.filename]#/etc#-г та бас байнга шинэчилнэ гэсэн үг бөгөөд энэ нь ердөө л жижиг хэвшмэл ажил юм. Та энэ процессийг [.filename]#/etc# уруу нийлүүлсэн өөрийн хамгийн сүүлийн өөрчлөгдсөн файлуудыг хадгалснаар хурдасгаж болох юм. Дараах процедур үүнийг хэрхэн хийж болох нэг санааг өгч байна. [.procedure] ====== . Ертөнцийг жирийнээр бүтээ. [.filename]#/etc# болон бусад сангуудыг шинэчлэхийг хүсэхдээ тухайн цаг дээр тулгуурласан нэр бүхий санг өг. Хэрэв та үүнийг 1998 оны 2 сарын 14-нд хийж байгаа бол дараах байдлаар хийнэ: + [source,shell] .... # mkdir /var/tmp/root-19980214 # cd /usr/src/etc # make DESTDIR=/var/tmp/root-19980214 \ distrib-dirs distribution .... . Энэ сангийн өөрчлөлтүүдийг дээр дурдсаны дагуу нийлүүл. + Та дууссаныхаа дараа [.filename]#/var/tmp/root-19980214# санг _битгий_ устгаарай. . Та эхийн хамгийн сүүлийн хувилбарыг татан авч дахин бүтээхдээ 1-р алхмыг дага. Энэ нь танд шинэ сан өгөх бөгөөд [.filename]#/var/tmp/root-19980221# гэж нэрлэгдсэн байж болох юм (хэрэв та шинэчлэлтүүдийг хийхдээ долоо хоног хүлээсэн бол). . Та одоо man:diff[1] ашиглан хоёр сангийн хооронд рекурсив diff үүсгэж долоо хоногийн хооронд хийгдсэн өөрчлөлтүүдийг харж болно: + [source,shell] .... # cd /var/tmp # diff -r root-19980214 root-19980221 .... + Ихэнхдээ энэ нь [.filename]#/var/tmp/root-19980221/etc# болон [.filename]#/etc# хоёрын хоорондох өөрчлөлтүүдийг бодох юм бол харьцангуй бага өөрчлөлтүүд байдаг. Өөрчлөлтүүд нь арай бага болохоор тэдгээр өөрчлөлтүүдийг өөрийн [.filename]#/etc# сан уруу шилжүүлэх нь илүү хялбар байдаг. . Та одоо хоёр [.filename]#/var/tmp/root-*# сангуудын аль хуучныг устгаж болно: + [source,shell] .... # rm -rf /var/tmp/root-19980214 .... + . [.filename]#/etc# уруу өөрчлөлтүүдийг нийлүүлэх болгондоо энэ процессийг давтах хэрэгтэй. ====== Та man:date[1]-г ашиглан сангийн нэрсийг автоматаар үүсгэж болно: [source,shell] .... # mkdir /var/tmp/root-`date "+%Y%m%d"` .... ==== [[updating-upgrading-rebooting]] === Дахин ачаалах нь Та ерөнхийдөө ингээд хийгээд дуусч байна. Та бүх зүйл байх ёстой байрандаа байгаа эсэхийг шалгасныхаа дараа системийг дахин ачаалж болно. Энгийн man:shutdown[8] үүнийг хийх болно: [source,shell] .... # shutdown -r now .... === Дууслаа Одоо та өөрийн FreeBSD системийг амжилттайгаар шинэчлээд дууссан байх ёстой. Баяр хүргэе. Хэрэв юмс шал буруугаар эргэвэл системийн тухайн хэсгийг дахин бүтээхэд амархан байдаг. Жишээ нь хэрэв та шинэчлэлтийн явцад эсвэл [.filename]#/etc#-г нийлүүлэх явцад санамсаргүйгээр [.filename]#/etc/magic# файлыг устгасан бол man:file[1] тушаал ажиллахаа больно. Ийм тохиолдолд дараах засварыг ажиллуулж болох юм: [source,shell] .... # cd /usr/src/usr.bin/file # make all install .... [[updating-questions]] === Асуултууд ==== Өөрчлөлт бүрт зориулан ертөнцийг дахин бүтээх хэрэгтэй юу? Үүнд хялбар хариулт байхгүй, учир нь өөрчлөлтийн цаад утга чанараас хамаарна. Жишээ нь хэрэв та CVSup-г дөнгөж ажиллуулахад дараах файлууд шинэчлэгдэж байгааг үзүүлж байгаа бол: [source,shell] .... src/games/cribbage/instr.c src/games/sail/pl_main.c src/release/sysinstall/config.c src/release/sysinstall/media.c src/shared/mk/bsd.port.mk .... магадгүй бүхэл ертөнцийг дахин бүтээх хэрэггүй байж болох юм. Та тохирох дэд сангууд уруу орж `make all install` гэж тушаалыг өгөөд л болох юм. Хэрэв зарим нэг гол чухал зүйл жишээ нь [.filename]#src/lib/libc/stdlib# өөрчлөгдсөн бол та ертөнцийг эсвэл хамгийн багаар бодоход статикаар холбогдсон (statically linked) түүний тэдгээр хэсгүүдийг дахин бүтээх шаардлагатай болно. Эцсийн эцэст энэ нь танаас л хамаарна. Та жишээ нь хоёр долоо хоног тутам ертөнцийг дахин бүтээж тэр хоёр долоо хоногийн хугацаанд өөрчлөлтүүдийг хуримтлуулж байгаадаа сэтгэл хангалуун байж болно. Эсвэл та зөвхөн өөрчлөгдсөн зүйлсүүдийг дахин бүтээхийг хүсэж магадгүй бөгөөд бүх хамаарлуудыг шийднэ гэдэгтээ итгэлтэй байх хэрэгтэй. Тэгээд мэдээж энэ бүхэн таны ямар давтамжтайгаар шинэчлэхийг хүсдэг болон FreeBSD-STABLE эсвэл FreeBSD-CURRENT-ийн алийг дагаж байгаагаас хамаарах болно. ==== Миний эмхэтгэл маш олон дохио 11 дохио 11 (эсвэл бусад дохионы дугаар) алдаагаар амжилтгүй болсон. Юу болсон юм бол? Энэ нь ихэвчлэн тоног төхөөрөмжийн асуудлыг илэрхийлдэг. Ертөнцийг (дахин) бүтээх нь өөрийн тоног төхөөрөмжийг ачаалах тест хийх үр дүнтэй арга бөгөөд удаа дараа санах ойн асуудлууд байвал тэдгээрийг илрүүлдэг. Эмхэтгэгч нь сонин/хачин дохионуудыг хүлээн авч ид шидийн байдлаар амжилтгүй болсноор тэдгээр асуудлууд нь өөрсдийгөө зарлан тунхагладаг. Хэрэв та бүтээлтийг дахин эхлүүлээд тэр нь процессийн өөр өөр хэсэгт амжилтгүй болж байвал энэ нь үүнийг тодоор зааж байна гэсэн үг юм. Энэ тохиолдолд та өөрийн машин дахь бүрэлдэхүүн хэсгүүдээ өөрчлөн нэгээс нөгөөд сольж тавин аль нь ажиллахгүй байгааг олохоос өөр зүйл хийж чадахгүй л болов уу. ==== Би дууссаныхаа дараа /usr/obj-г устгаж болох уу? Товчхондоо бол болно. [.filename]#/usr/obj# нь эмхэтгэх үед бүтээгдсэн бүх обьект файлуудыг агуулдаг. Жирийн үед `make buildworld` процессийн эхний алхмуудын нэг нь энэ санг устгаад цоо шинээр эхлэх явдал юм. Энэ тохиолдолд [.filename]#/usr/obj#-г дууссаныхаа дараа байлгаад байх нь ухаалаг биш бөгөөд үүнийг устгаснаар ихээхэн хэмжээний дискний зайг суллах болно (одоогоор 2 GB орчим). Гэхдээ хэрэв та юу хийж байгаагаа мэдэж байгаа бол `make buildworld` хийхдээ энэ алхмыг алгасаж болно. Энэ нь дараа дараагийн бүтээлтийг илүү хурдасгадаг бөгөөд учир нь ихэнх эхүүд дахин эмхэтгэх шаардлагагүй байдаг. Үүний сул тал нь баригдашгүй хамаарлын асуудлууд илэрч таны бүтээлтийг хачин байдлаар амжилтгүй болгодог. Хэн нэгэн илүү дөтлөх гэснээсээ болоод амжилтгүй болсныг мэдэлгүй өөрийн бүтээлтийг амжилтгүй болсныг гомдоллосноор FreeBSD-ийн захидлын жагсаалтуудад хий дэмий шуугианыг удаа дараа үүсгэдэг билээ. ==== Тасалдсан бүтээлтүүдийг үргэлжлүүлж болох уу? Энэ нь асуудлыг олох хүртлээ та хэр хол явснаас хамаарна. _Ерөнхийдөө_ (энэ нь хэцүү бас хурдан дүрэм биш) `make buildworld` процесс нь үндсэн багажуудын (man:gcc[1], болон man:make[1] зэрэг) болон системийн сангуудын шинэ хуулбаруудыг бүтээдэг. Тэдгээр багажууд болон сангууд нь дараа нь суулгагддаг. Шинэ багажууд болон сангууд дараа нь өөрсдийгөө дахин бүтээхэд ашиглагддаг бөгөөд дахин суулгагддаг. Бүхэл бүтэн систем (одоо man:ls[1] эсвэл man:grep[1] зэрэг ердийн хэрэглэгчийн програмууд) дараа нь шинэ системийн файлуудтайгаар дахин бүтээгддэг. Хэрэв та сүүлийн шатанд байгаа бөгөөд та үүнийг мэдэж байгаа бол (та хадгалж байгаа гаралтаас харсан болохоор) та дараах тушаалыг ажиллуулж (бараг л аюулгүйгээр) болно: [source,shell] .... ... fix the problem ... # cd /usr/src # make -DNO_CLEAN all .... Энэ нь өмнөх `make buildworld` тушаалын хийснийг буцаахгүй. Хэрэв та доорх мэдэгдлийг : [source,shell] .... -------------------------------------------------------------- Building everything.. -------------------------------------------------------------- .... `make buildworld` тушаалын гаралт дээр харсан бол магадгүй тэгж хийх нь аюулгүй байж болох юм. Хэрэв та тийм мэдэгдэл харахгүй байгаа бол эсвэл та итгэлтэй биш байгаа бол харамсахаасаа өмнө аюулгүй байдлыг бодож бүтээлтийг бүр эхнээс нь дахин эхлүүлсэн нь дээр юм. ==== Би ертөнцийг бүтээхийг хэрхэн хурдасгах вэ? * Ганц хэрэглэгчийн горимд ажиллуул. * [.filename]#/usr/src# болон [.filename]#/usr/obj# сангуудыг тус тусдаа байх дискнүүд дээр тус тусдаа байх файлын системүүд дээр байрлуул. Хэрэв боломжтой бол эдгээр дискнүүдийг тус тусад нь дискний хянагчууд дээр байрлуул. * man:ccd[4] (нийлүүлсэн дискний драйвер) төхөөрөмж ашиглан эдгээр файлын системүүдийг олон дискнүүдийн дагуу байрлуулах нь бас арай илүү хурдасгах юм. * Профиль хийгдэхийг ([.filename]#/etc/make.conf# файлд "NO_PROFILE=true" гэж зааж өг) болиул. Танд энэ бараг гарцаагүй хэрэггүй. * `-j__n__` тохируулгыг man:make[1]-д дамжуулж олон процессийг зэрэгцээгээр ажиллуул. Энэ нь танд ганц эсвэл олон процессортой машин аль нь ч байсан ялгаагүйгээр ихэвчлэн тусалдаг. * [.filename]#/usr/src#-г агуулж байгаа файлын систем `noatime` тохируулгаар холболт хийгдэж (эсвэл салгагдаж) болно. Энэ нь файлын систем файл уруу хандах хандалтын хугацааг бүртгэхийг болиулдаг. Танд магадгүй энэ мэдээлэл бараг л хэрэггүй биз ээ. + [source,shell] .... # mount -u -o noatime /usr/src .... + [WARNING] ==== Энэ жишээ [.filename]#/usr/src# нь өөрийн файлын систем дээр байгаа гэж тооцож байгаа болно. Хэрэв энэ нь тийм биш бол (хэрэв энэ сан жишээ нь [.filename]#/usr#-ийн хэсэг маягаар байгаа бол) та [.filename]#/usr/src#-г биш харин тэр файлын системээ холболтын цэг болгон ашиглах хэрэгтэй. ==== * [.filename]#/usr/obj#-г агуулж байгаа файлын систем `async` тохируулгатай холболт хийгдэж (эсвэл салгагдаж) болно. Энэ нь диск уруу хийх бичилтийг асинхроноор буюу зэрэг биш хийлгэдэг. Өөрөөр хэлбэл бичилт нэн даруй хийгдээд өгөгдөл диск уруу цөөн секундын дараа бичигддэг. Энэ нь бичилтүүдийг бүлэглэхийг зөвшөөрч маш их үр дүнтэйгээр ажиллагааг хурдасгаж болох юм. + [WARNING] ==== Энэ тохируулга нь таны файлын системийг илүү эмзэг болгохыг санаарай. Тэжээл тасалдаж машин дахин ачаалах үед файлын систем сэргээж болшгүй төлөвт орох магадлал энэ тохируулгатай байхад илүү байдаг. Хэрэв [.filename]#/usr/obj# нь энэ файлын систем дээрх цорын ганц зүйл бол энэ асуудал биш юм. Хэрэв танд уг файлын систем дээр өөр, үнэтэй өгөгдөл байгаа бол энэ тохируулгыг идэвхжүүлэхээсээ өмнө өөрийн нөөц чинь шинэ эсэхийг шалгаарай. ==== + [source,shell] .... # mount -u -o async /usr/obj .... + [WARNING] ==== Дээр дурдсан шиг хэрэв [.filename]#/usr/obj# нь өөрийн файлын систем дээр биш байх юм бол жишээн дээрхийг тохирох холболт хийх цэгийн нэрээр солиорой. ==== ==== Хэрэв ямар нэг юм буруутвал би юу хийх вэ? Таны орчинд өмнөх бүтээлтүүдийн үеийн илүү үлдэгдлүүд байхгүйд үнэхээр итгэлтэй байх хэрэгтэй. Энэ нь их амархан юм. [source,shell] .... # chflags -R noschg /usr/obj/usr # rm -rf /usr/obj/usr # cd /usr/src # make cleandir # make cleandir .... Тиймээ, `make cleandir` тушаалыг үнэндээ хоёр удаа ажиллуулах шаардлагатай. Тэгээд `make buildworld` тушаалыг эхлүүлж бүх процессийг дахин эхлүүл. Хэрэв та асуудалтай хэвээр байгаа бол алдаа болон `uname -a` тушаалын дүнг {freebsd-questions} уруу явуулаарай. Өөрийн тохиргооныхоо талаар бусад асуултанд хариулахад бэлэн байгаарай! [[make-delete-old]] == Хуучин файлууд, хавтаснууд болон сангуудыг устгах FreeBSD хөгжүүлэлтийн явцад файлууд болон тэдгээрийн агуулга үе үе хуучирдаг.Тэдгээрийн үүрэг болон боломжууд өөр хаа нэгтээ хийгдсэн юм уу эсвэл сангийн хувилбарын дугаар өөрчлөгдсөн юм уу эсвэл системээс бүрмөсөн хасагдсанаас болоод тийм байж болох юм. Эдгээрт хуучин файлууд, сангууд болон хавтаснууд ордог бөгөөд эдгээрийг системийг шинэчлэхдээ устгах ёстой. Энэ нь хэрэглэгчийн хувьд хадгалах (болон нөөц) төхөөрөмж дээр хэрэгцээгүй зай эзлээд байгаа хуучин файлуудаар систем дүүрэхгүй байх ашигтай юм. Үүнээс гадна хуучин сан аюулгүй байдлын болон найдвартай ажиллагааны хувьд асуудалтай байсан бол та өөрийн системийг аюулгүй болгож хуучин сангаас болоод ажиллахаа болиод байсан асуудлаас сэргийлэхийн тулд шинэ сан руу шинэчлэх хэрэгтэй. Хуучин гэгдсэн файлууд, хавтаснууд, сангуудын жагсаалт [.filename]#/usr/src/ObsoleteFiles.inc# файлд байдаг. Дараах заавар нь системийг шинэчлэх явцад хуучин файлуудыг устгахад туслах болно. Таныг <>-д заасны дагуу явж байгаа гэж энд үзнэ. `make installworld` болон дараагийн `mergemaster` тушаал амжилттай хэрэгжсэний дараа дараах маягаар та хуучин файлууд болон сангуудыг шалгах ёстой: [source,shell] .... # cd /usr/src # make check-old .... Хэрэв ямар нэг хуучин файл олдвол дараах тушаал ашиглан тэдгээрийг устгаж болно: [source,shell] .... # make delete-old .... [TIP] ==== Түлхүүр үгсийн талаар дэлгэрэнгүйг сонирхож байгаа бол [.filename]#/usr/src/Makefile# файлыг үзнэ үү. ==== Хуучин файл бүрийг устгахын өмнө асууж хариулах дэлгэц гарна. Та энэ дэлгэцийг өнгөрөөж систем эдгээр файлуудыг автоматаар устгахаар тохируулахын тулд `BATCH_DELETE_OLD_FILES` хувьсагчийг дараах байдлаар ашиглана: [source,shell] .... # make -DBATCH_DELETE_OLD_FILES delete-old .... Мөн энэ зорилгод хүрэхийн тулд доорхитой адилаар эдгээр тушаалд `yes` өгч хүрч болно: [source,shell] .... # yes|make delete-old .... .Анхааруулга [WARNING] ==== Хуучин файлуудыг устгах нь тэдгээр хуучин файлуудаас хамааралтай програмуудыг ажиллахгүй болгоно. Энэ нь ялангуяа хуучин сангуудын хувьд үнэн байдаг. Ихэнх тохиолдолд та `make delete-old-libs` тушаалыг биелүүлэхээсээ өмнө хуучин сан ашиглаж байсан програмууд, портууд эсвэл сангуудыг дахин бүтээх хэрэгтэй. ==== Хуваалцсан сангуудаас хамааралтай эсэхийг шалгадаг хэрэгслүүд package:sysutils/libchk[] эсвэл package:sysutils/bsdadminscripts[] зэрэг портын цуглуулгад байдаг. Хуучин хуваалцсан сангууд нь шинэ сангуудтай зөрчилдөж болох бөгөөд доорх шиг алдаа өгч болно: [source,shell] .... /usr/bin/ld: warning: libz.so.4, needed by /usr/local/lib/libtiff.so, may conflict with libz.so.5 /usr/bin/ld: warning: librpcsvc.so.4, needed by /usr/local/lib/libXext.so, may conflict with librpcsvc.so.5 .... Эдгээр асуудлуудыг шийдэхийн тулд уг санг аль порт суулгасныг олно: [source,shell] .... # pkg_info -W /usr/local/lib/libtiff.so /usr/local/lib/libtiff.so was installed by package tiff-3.9.4 # pkg_info -W /usr/local/lib/libXext.so /usr/local/lib/libXext.so was installed by package libXext-1.1.1,1 .... Дараа нь уг портыг deinstall хийгээд дахин бүтээж суулгах хэрэгтэй. Энэ явцыг автоматжуулахын тулд package:ports-mgmt/portmaster[] болон package:ports-mgmt/portupgrade[] хэрэгслийг ашиглаж болно. Бүх портуудыг дахин бүтээсэн гэдэгтээ итгэлтэй болсны дараа хуучин сангуудыг ашиглах хэрэггүй бөгөөд тэдгээрийг дараах тушаал ашиглан устгаж болно: [source,shell] .... # make delete-old-libs .... [[small-lan]] == Олон машины хувьд дагах нь Хэрэв та олон машинуудын хувьд ижил эх модыг дагахыг хүсэж бүгдийн хувьд эхийг татан авахуулж бүгдийг дахин бүтээхийг хүсэж байгаа бол энэ нь дискний зай, сүлжээний зурвасын өргөн болон CPU циклүүд зэрэг эх үүсвэрүүдийг үр ашиггүйгээр ашиглахад хүргэхээр санагдаж болох юм. Тиймээ, үүний шийдэл нь нэг машинаар ихэнх ажлыг хийлгэж бусад машинууд нь тэр ажлыг NFS-ээр дамжуулан холбох явдал юм. Энэ хэсэгт ингэж хийх аргыг тайлбарсан. [[small-lan-preliminaries]] === Бэлтгэл ажлууд Эхлээд хоёртын адил файлуудыг ажиллуулах _build set буюу бүтээх олонлог_ гэж бидний нэрлэх машинуудыг олох хэрэгтэй. Машин бүр өөрчлөн тохируулсан цөмтэй байж болох бөгөөд гэхдээ тэд ижил хэрэглэгчийн талбарын хоёртын файлуудыг ажиллуулж байх ёстой. Тэр олонлогоос __бүтээх машин__ыг сонгох хэрэгтэй. Энэ нь ертөнц болон цөм бүтээгдэх машин байх юм. Туйлын хүслээр бол энэ нь `make buildworld` болон `make buildkernel` тушаалуудыг ажиллуулахад хангалттай нөөц CPU бүхий хурдан машин байх хэрэгтэй. Та мөн үйлдвэрлэлд ашиглахаас өмнө програм хангамжуудыг тест хийдэг _тест машин_ сонгохыг бас хүсэж болох юм. Энэ нь удаан хугацаагаар унтраастай эсвэл зогссон байж болох машин _байх ёстой_. Энэ нь бүтээх машин байж болох юм, гэхдээ заавал биш юм. Энэ бүтээх олонлог дахь бүх машинууд нь өөр өөрийн машин дээрээсээ ижил цэг дээр [.filename]#/usr/obj# болон [.filename]#/usr/src#-г холболт хийх хэрэгтэй. Туйлын хүслээр бол энэ нь бүтээх машин дээрх хоёр өөр дискнүүд байж болох бөгөөд гэхдээ эдгээр нь уг машин дээр NFS холболт бас хийгдэж болохоор байж болох юм. Хэрэв танд олон бүтээх олонлогууд байгаа бол [.filename]#/usr/src# сан нь нэг бүтээх машин дээр байрлаж бусад дээр нь NFS холболт хийгдсэн байх юм. Төгсгөлд нь бүтээх олонлогийн бүх машинууд дээрх [.filename]#/etc/make.conf# болон [.filename]#/etc/src.conf# файлууд бүтээх машиныхтай тохирч байгаа эсэхийг шалгаарай. Энэ нь бүтээх олонлогийн машин бүрийн суулгах үндсэн системийн бүх хэсгүүдийг бүтээх машин хийх ёстой гэсэн үг юм. Мөн бүтээх машин бүр өөрийн цөмийн нэрийг [.filename]#/etc/make.conf# файлд `KERNCONF` хувьсагчид заан өгөх ёстой бөгөөд бүтээх машин бүр `KERNCONF` хувьсагчдаа өөрийн цөмийг эхэнд оруулан дараа нь тэдгээрийг жагсаах ёстой байдаг. Бүтээх машин нь машин бүрийн цөмийг бүтээхээр болох юм бол тэдгээрийн тохиргооны файлыг [.filename]#/usr/src/sys/arch/conf# санд агуулсан байх шаардлагатай. [[small-lan-base-system]] === Үндсэн систем Одоо бүх юм ингэж хийгдсэний дараа та бүгдийг бүтээхэд бэлэн боллоо. Бүтээх машин дээр <>-д тайлбарласны дагуу цөм болон ертөнцийг бүтээ, гэхдээ юуг ч битгий суулгаарай. Бүтээлт дууссаны дараа тест машин дээр дөнгөж саяхан бүтээсэн цөмөө суулга. Хэрэв энэ машин нь [.filename]#/usr/src# болон [.filename]#/usr/obj# сангуудыг NFS-ээр холболт хийх гэж байгаа бол та ганц хэрэглэгчийн горимд дахин ачаалахдаа сүлжээг нээж тэдгээрийг холбож өгөх хэрэгтэй. Үүнийг хамгийн хялбараар хийхийн тулд олон хэрэглэгчийн горимд ачаалан `shutdown now` тушаалыг ажиллуулж ганц хэрэглэгчийн горимд орох явдал юм. Тэгэж орсныхоо дараа та шинэ цөм болон ертөнцийг суулгаж жирийн үедээ хийдэг `mergemaster` тушаалыг ажиллуулж болно. Ингэж дууссаныхаа дараа энэ машины хувьд ердийн олон хэрэглэгчийн үйлдлүүдэд дахин ачаалж орно. Тест машин дээрх бүх зүйлс зөв ажиллаж байгааг мэдсэнийхээ дараа та бүтээх олонлогийн бусад машин бүр дээр шинэ програм хангамж суулгахдаа ижил процедурыг ашиглаарай. [[small-lan-ports]] === Портууд Үүнтэй адил санааг бас портуудын модонд ашиглаж болно. Эхний чухал алхам бол нөгөө машин дээрх [.filename]#/usr/ports# санг бүтээх олонлогийн бусад машинууд дээр холбож өгөх явдал юм. Дараа нь та [.filename]#/etc/make.conf# файлыг distfiles буюу түгээлтийн файлуудыг хуваалцахаар зөв тохируулж өгч болно. Та `DISTDIR` хувьсагчийг таны NFS холболтуудад заагдсан аль ч `root` хэрэглэгчийн хувьд бичигдэх боломжтой байх нийтлэг хуваалцсан сангаар тохируулах шаардлагатай. Машин бүр `WRKDIRPREFIX` хувьсагчийг локал бүтээх сангаар зааж өгөх хэрэгтэй. Эцэст нь хэрэв та багцуудыг бүтээж түгээх гэж байгаа бол `PACKAGES` хувьсагчийг `DISTDIR` хувьсагчийн нэгэн адил сангаар зааж өгөх хэрэгтэй. diff --git a/documentation/content/mn/books/handbook/eresources/_index.adoc b/documentation/content/mn/books/handbook/eresources/_index.adoc index d93177a044..8db29ae913 100644 --- a/documentation/content/mn/books/handbook/eresources/_index.adoc +++ b/documentation/content/mn/books/handbook/eresources/_index.adoc @@ -1,939 +1,939 @@ --- title: Хавсралт C. Интернэт дэх эх үүсвэрүүд part: хэсэг V. Хавсралтууд prev: books/handbook/bibliography next: books/handbook/pgpkeys --- [appendix] [[eresources]] = Интернэт дэх эх үүсвэрүүд :doctype: book :icons: font :sectnums: :sectnumlevels: 6 :source-highlighter: rouge :experimental: :skip-front-matter: :toc-title: Гарчиг :table-caption: Хүснэгт :figure-caption: Зураг :example-caption: Жишээ :xrefstyle: basic :relfileprefix: ../ :outfilesuffix: :sectnumoffset: C include::shared/mirrors.adoc[] include::shared/authors.adoc[] include::shared/releases.adoc[] include::shared/mn/mailing-lists.adoc[] include::shared/mn/teams.adoc[] include::shared/mn/urls.adoc[] FreeBSD-ийн дэвшлийн хурдан алхаа нь хамгийн сүүлийн хөгжүүлэлтүүдийг дагахаас хамаараад хэвлэн гаргах хэрэгцээгүй болгоход хүргэдэг. Цахим эх үүсвэрүүд нь хамгийн шилдэг нь бөгөөд хамгийн сүүлийн үеийн дэвшилтүүдийн талаар мэдлэгтэй байх бараг цорын ганц арга юм. FreeBSD нь сайн дурын чармайлт болохоор хэрэглэгчийн хүрээнийхэн нь өөрсдөө цахим захидал, вэб хэлэлцүүлгүүд болон тэр хүрээнийхэнд хүрэх хамгийн үр ашигтай арга болох USENET мэдээнүүдийн тусламжтайгаар ерөнхийдөө нэгэн хэлбэрийн "техникийн дэмжлэгийн хэлтэс" маягаар үйлчилдэг. FreeBSD-ийн хэрэглэгчийн хүрээнийхэнд хандах хамгийн чухал цэгүүдийг доор дурдав. Хэрэв та энд дурдагдсанаас өөр эх үүсвэрүүдийн талаар мэдэж байвал тэдгээрийг бас энэ жагсаалтад оруулахаар {freebsd-doc} уруу илгээнэ үү. [[eresources-mail]] == Захидлын жагсаалтууд Захидлын жагсаалтууд нь FreeBSD-ийн хэрэглэгчдэд чиглэсэн асуултуудаа тавих эсвэл техникийн хэлэлцүүлэг нээх хамгийн шулуун зам юм. FreeBSD-ийн төрөл бүрийн сэдвүүдээр олон янзын жагсаалт байдаг. Өөрийн асуултуудаа хамгийн тохиромжтой захидлын жагсаалт руу хаягласнаар илүү хурдан, зөв хариу авах боломжтой болгодог. Энэ баримтын сүүл хэсэгт төрөл бүрийн жагсаалтуудад зориулсан дүрмүүд бий. _Аль нэг жагсаалт уруу элсэн орох эсвэл захидал илгээхээсээ өмнө жагсаалтын дүрмийг уншина уу_. Одоо манай захидлын жагсаалтын захиалагчдын ихэнх нь FreeBSD-тэй холбоотой олон зуун захиануудыг өдөр бүр авдаг бөгөөд зөв хэрэглэх тухай дүрэм, журмуудыг гаргаснаар бид жагсаалтуудын шуугиан, дохионы харьцааг (signal-to-noise ratio) өндөр байлгахыг хичээдэг. Бага хийх нь захидлын жагсаалтыг энэ төсөлд зориулсан үр ашигтай холбооны зөөвөрлөгч байхыг эцсийн эцэст болиулж болох юм. [NOTE] ==== _Хэрэв та FreeBSD-ийн жагсаалтууд руу илгээж чадаж байгаа эсэхээ шалгаж тест хийхийг хүсвэл {freebsd-test} руу тест захидал илгээнэ үү._ Өөр бусад жагсаалт руу тест захидал битгий илгээгээрэй. ==== Аль жагсаалт уруу асуултаа илгээхээ мэдэхгүй эргэлзэж байгаа бол link:{freebsd-questions-article}[FreeBSD-асуултууд захидлын жагсаалтаас хэрхэн хамгийн их ашгийг авч болох вэ] хэсгээс үзнэ үү. Аль нэг жагсаалт уруу илгээхээсээ өмнө байнга давтагддаг хэлэлцүүлгүүдийг үүсгэхгүй байхад хэрхэн туслах зэрэг захидлын жагсаалтыг хэрхэн хамгийн үр ашигтай ашиглах талаар сурах хэрэгтэй. Үүнийг тулд link:{mailing-list-faq}[ Захидлын жагсаалтын байнга асуудаг асуултууд] (FAQ) баримтыг унших нь зүйтэй. Бүх захидлын жагсаалтуудын хувьд архивууд хадгалагддаг бөгөөд link:https://www.FreeBSD.org/search/[FreeBSD Дэлхий Даяарх Вэб сервер] ашиглан хайлт хийж болно. Түлхүүр үгээр хайж болох архив нь байнга асуугддаг асуултуудад зориулсан хариултуудыг олох хамгийн шилдэг аргыг санал болгодог бөгөөд асуулт илгээхээсээ өмнө эдгээрээс лавлах хэрэгтэй юм. Энэ нь бас FreeBSD-ийн захидлын жагсаалт руу илгээсэн захиануудыг үргэлж хадгалж байдаг гэсэн үг юм. Хувийн нууцыг хамгаалах шаардлагатай бол устгах боломжтой хоёр дахь захианы хаяг ашиглаж зөвхөн нийтийн мэдээллийг явуулах хэрэгтэй. [[eresources-summary]] === Жагсаалтын тойм _Ерөнхий жагсаалтууд:_ Дараах нь ерөнхий жагсаалтууд бөгөөд эдгээрт хэн ч гэсэн чөлөөтэй (зоригтойгоор) элсэж болно: [.informaltable] [cols="1,1", frame="none", options="header"] |=== | Жагсаалт | Зорилго |link:{freebsd-advocacy-url}[freebsd-advocacy] |FreeBSD Evangelism |{freebsd-announce} |Чухал үйл явдлууд болон төслийн гол гол үе шатууд (зохицуулалттай) |link:{freebsd-arch-url}[freebsd-arch] |Архитектур болон дизайны хэлэлцүүлгүүд |link:{freebsd-bugbusters-url}[freebsd-bugbusters] |FreeBSD-ийн асуудлын тайлангийн мэдээллийн бааз болон түүнтэй холбоотой хэрэгслүүдийн арчилгаатай холбоотой хэлэлцүүлгүүд |link:{freebsd-bugs-url}[freebsd-bugs] |Алдааны тайлангууд |link:{freebsd-chat-url}[freebsd-chat] |FreeBSD хүрээнийхэнтэй холбоотой техникийн бус зүйлс |link:{freebsd-chromium-url}[freebsd-chromium] |FreeBSD-тэй холбоотой Chromium-ийн хэлэлцүүлэг |{freebsd-current} |FreeBSD-CURRENT-н хэрэглээтэй хамаатай хэлэлцүүлэг |link:{freebsd-isp-url}[freebsd-isp] |FreeBSD ашиглаж байгаа Интернэтийн үйлчилгээ үзүүлэгчдийн асуудлууд |link:{freebsd-jobs-url}[freebsd-jobs] |FreeBSD-тэй холбоотой ажил болон зөвлөгөөний боломжууд |link:{freebsd-questions-url}[freebsd-questions] |Хэрэглэгчийн асуултууд болон техникийн дэмжлэг |{freebsd-security-notifications} |Аюулгүй байдлын мэдэгдлүүд (зохицуулалттай) |{freebsd-stable} |FreeBSD-STABLE-н хэрэглээтэй холбоотой хэлэлцүүлэг |{freebsd-test} |Аль нэг жагсаалт уруу тест захиа явуулахын оронд энэ жагсаалт ашиглагдана |=== _Техникийн жагсаалтууд:_ Дараах жагсаалтууд нь техникийн хэлэлцүүлэгт зориулагдсан. Эдгээр жагсаалтын агуулга болон хэрхэн ашиглах талаар нарийн чанд зааврууд байдаг учраас аль нэг уруу нь элсэх юм уу эсвэл захидал илгээхээсээ өмнө жагсаалт болгоны дүрэм, журмыг та унших хэрэгтэй юм. [.informaltable] [cols="1,1", frame="none", options="header"] |=== | Жагсаалт | Зорилго |{freebsd-acpi} |ACPI болон тэжээлийн удирдлагын хөгжүүлэлт |link:{freebsd-afs-url}[freebsd-afs] |AFS-г FreeBSD уруу хөрвүүлэх |link:{freebsd-aic7xxx-url}[freebsd-aic7xxx] |Adaptec(R) AIC 7xxx-д зориулж драйверууд хөгжүүлэх |link:{freebsd-amd64-url}[freebsd-amd64] |FreeBSD-г AMD64 системүүд уруу хөрвүүлэх (зохицуулалттай) |link:{freebsd-apache-url}[freebsd-apache] |Apache-тай холбоотой портуудын тухай хэлэлцүүлэг |link:{freebsd-arm-url}[freebsd-arm] |FreeBSD-г ARM(R) процессорууд уруу хөрвүүлэх |link:{freebsd-atm-url}[freebsd-atm] |FreeBSD дээр ATM сүлжээг ашиглах |link:{freebsd-bluetooth-url}[freebsd-bluetooth] |FreeBSD дээр Bluetooth(R) технологийг ашиглах |link:{freebsd-cluster-url}[freebsd-cluster] |FreeBSD-г кластерчлагдсан орчинд ашиглах |link:{freebsd-cvsweb-url}[freebsd-cvsweb] |CVSweb арчилгаа |link:{freebsd-database-url}[freebsd-database] |FreeBSD дээрх мэдээллийн бааз болон хөгжүүлэлтийн талаар хэлэлцэх |link:{freebsd-desktop-url}[freebsd-desktop] |Десктоп дээр FreeBSD-г ашиглах ба сайжруулах |link:{freebsd-doc-url}[freebsd-doc] |FreeBSD-тэй холбоотой баримтуудыг үүсгэх |link:{freebsd-drivers-url}[freebsd-drivers] |FreeBSD-д зориулж төхөөрөмжийн драйверуудыг бичих |link:{freebsd-eclipse-url}[freebsd-eclipse] |Eclipse IDE, хэрэгслүүд, клиентийн баялаг програмууд болон портуудын FreeBSD хэрэглэгчид. |link:{freebsd-embedded-url}[freebsd-embedded] |FreeBSD-г авсаар (embedded) програмуудад ашиглах |link:{freebsd-eol-url}[freebsd-eol] |FreeBSD төслөөр дэмжигдэхээ больсон FreeBSD-тэй холбоотой програм хангамжийн дэмжлэг. |link:{freebsd-emulation-url}[freebsd-emulation] |Линукс/MS-DOS(R)/Windows(R) зэрэг системүүдийн эмуляц |link:{freebsd-firewire-url}[freebsd-firewire] |FreeBSD FireWire(R) (iLink, IEEE 1394) техникийн хэлэлцүүлэг |link:{freebsd-fs-url}[freebsd-fs] |Файлын системүүд |link:{freebsd-gecko-url}[freebsd-gecko] |Gecko Rendering Engine-тэй холбоотой асуудлууд |link:{freebsd-geom-url}[freebsd-geom] |GEOM-той холбоотой хэлэлцүүлгүүд болон шийдлүүд |link:{freebsd-gnome-url}[freebsd-gnome] |GNOME болон GNOME програмуудыг хөрвүүлэх |link:{freebsd-hackers-url}[freebsd-hackers] |Техникийн ерөнхий хэлэлцүүлэг |link:{freebsd-hardware-url}[freebsd-hardware] |FreeBSD-г тааруулахтай холбоотой тоног төхөөрөмжийн ерөнхий хэлэлцүүлэг |link:{freebsd-i18n-url}[freebsd-i18n] |FreeBSD Интернационалчлал |link:{freebsd-ia32-url}[freebsd-ia32] |IA-32 (Intel(R) x86) тавцан дээрх FreeBSD |link:{freebsd-ia64-url}[freebsd-ia64] |FreeBSD-г Intel(R)-ийн ирж байгаа IA64 системүүд уруу хөрвүүлэх |link:{freebsd-infiniband-url}[freebsd-infiniband] |FreeBSD дээрх Infiniband |link:{freebsd-ipfw-url}[freebsd-ipfw] |IP галт ханын кодны шинэ дизайны тухай техникийн хэлэлцүүлэг |link:{freebsd-isdn-url}[freebsd-isdn] |ISDN хөгжүүлэгчид |link:{freebsd-jail-url}[freebsd-jail] |man:jail[8] боломжийн тухай хэлэлцүүлэг |link:{freebsd-java-url}[freebsd-java] |Java(TM) хөгжүүлэгчид болон JDK(TM)-г FreeBSD уруу хөрвүүлж байгаа хүмүүс |link:{freebsd-kde-url}[freebsd-kde] |KDE болон KDE програмуудыг порт хийх |link:{freebsd-lfs-url}[freebsd-lfs] |LFS-г FreeBSD руу порт хийх |link:{freebsd-mips-url}[freebsd-mips] |FreeBSD-г MIPS(R) рүү порт хийх; |link:{freebsd-mobile-url}[freebsd-mobile] |Хөдөлгөөнт тооцооллын тухай хэлэлцүүлгүүд |link:{freebsd-mono-url}[freebsd-mono] |FreeBSD дээрх Mono болон C# програмууд |link:{freebsd-mozilla-url}[freebsd-mozilla] |Mozilla-г FreeBSD руу порт хийх |{freebsd-multimedia} |Мультимедиа програмууд |link:{freebsd-new-bus-url}[freebsd-new-bus] |Шугамын архитектурын тухай техникийн хэлэлцүүлгүүд |link:{freebsd-net-url}[freebsd-net] |Сүлжээний хэлэлцүүлэг ба TCP/IP эх код |link:{freebsd-numerics-url}[freebsd-numerics] |libm функцуудын өндөр чанартай шийдлийн тухай хэлэлцүүлгүүд |link:{freebsd-office-url}[freebsd-office] |FreeBSD дээрх Оффисын програмууд |link:{freebsd-performance-url}[freebsd-performance] |Өндөр хурдтай ажиллагаа/ачааллын суулгалтуудад зориулсан ажиллагааг тааруулах асуултууд |link:{freebsd-perl-url}[freebsd-perl] |Perl-тэй холбоотой портуудын арчилгаа |link:{freebsd-pf-url}[freebsd-pf] |Пакет шүүгч галт ханын системийн тухай хэлэлцүүлэг болон асуултууд |link:{freebsd-platforms-url}[freebsd-platforms] |Intel(R) биш архитектур тавцангууд руу порт хийх талаар |link:{freebsd-ports-url}[freebsd-ports] |Портын цуглуулгын тухай хэлэлцүүлэг |link:{freebsd-ports-announce-url}[freebsd-ports-announce] |Портын цуглуулгын тухай чухал мэдээнүүд болон зааврууд (зохицуулалттай) |link:{freebsd-ports-bugs-url}[freebsd-ports-bugs] |Портын алдаанууд/PR-уудын тухай хэлэлцүүлэг |link:{freebsd-ppc-url}[freebsd-ppc] |FreeBSD-г PowerPC(R) руу порт хийх |link:{freebsd-proliant-url}[freebsd-proliant] |HP ProLiant сервер тавцангууд дээрх FreeBSD-ийн тухай техникийн хэлэлцүүлэг |link:{freebsd-python-url}[freebsd-python] |FreeBSD-тэй холбоотой Python-ий асуудлууд |link:{freebsd-rc-url}[freebsd-rc] |[.filename]#rc.d# систем болон түүний хөгжүүлэлттэй холбоотой хэлэлцүүлэг |link:{freebsd-realtime-url}[freebsd-realtime] |FreeBSD-ийн realtime өргөтгөлүүдийн хөгжүүлэлт |link:{freebsd-ruby-url}[freebsd-ruby] |FreeBSD-тэй холбоотой Ruby-ийн хэлэлцүүлэг |link:{freebsd-scsi-url}[freebsd-scsi] |SCSI дэд систем |{freebsd-security} |FreeBSD-д нөлөөлөх аюулгүй байдлын асуудлууд |link:{freebsd-small-url}[freebsd-small] |Embedded буюу авсаар програмуудад FreeBSD-г ашиглах (хуучин; үүний оронд link:{freebsd-embedded-url}[freebsd-embedded]-г ашигла) |link:{freebsd-snapshots-url}[freebsd-snapshots] |FreeBSD хөгжүүлэлтийн хормын хувилбарын зарууд |link:{freebsd-sparc64-url}[freebsd-sparc64] |FreeBSD-г SPARC(R) дээр суурилсан системүүдэд порт хийх |link:{freebsd-standards-url}[freebsd-standards] |C99 болон POSIX(R) стандартуудтай FreeBSD-ийн нийцтэй байдал |link:{freebsd-sysinstall-url}[freebsd-sysinstall] |man:sysinstall[8]-ийн хөгжүүлэлт |link:{freebsd-tcltk-url}[freebsd-tcltk] |FreeBSD-ийн Tcl/Tk хэлэлцүүлэг |link:{freebsd-threads-url}[freebsd-threads] |FreeBSD дээрх урсгалжилт |link:{freebsd-tilera-url}[freebsd-tilera] |Tilera төрлийн CPU-ууд руу FreeBSD-г порт хийх тухай хэлэлцүүлэг |link:{freebsd-tokenring-url}[freebsd-tokenring] |FreeBSD дээрх Token Ring-ийн дэмжлэг |link:{freebsd-toolchain-url}[freebsd-toolchain] |FreeBSD-д багтдаг хэрэгслүүдийн цуглуулгын тухай хэлэлцүүлэг |link:{freebsd-usb-url}[freebsd-usb] |USB-д зориулсан FreeBSD-ийн дэмжлэгийн тухай хэлэлцүүлэг |link:{freebsd-virtualization-url}[freebsd-virtualization] |FreeBSD-ийн дэмждэг төрөл бүрийн виртуалчлалтын техникүүдийн талаарх хэлэлцүүлэг |link:{freebsd-vuxml-url}[freebsd-vuxml] |VuXML дэд бүтцийн тухай хэлэлцүүлэг |link:{freebsd-x11-url}[freebsd-x11] |FreeBSD дээрх X11-ийн арчилгаа ба дэмжлэг |link:{freebsd-xen-url}[freebsd-xen] |FreeBSD-ийн Xen(TM) портын хэлэлцүүлэг - шийдэл ба хэрэглээ |link:{freebsd-xfce-url}[freebsd-xfce] |FreeBSD дээрх XFCE - порт хийх ба арчилгаа |link:{freebsd-zope-url}[freebsd-zope] |FreeBSD дээрх Zope - порт хийх ба арчилгаа |=== _Хязгаарлагдмал жагсаалтууд:_ Дараах жагсаалтууд нь илүү тусгайлсан (болон шаардаж байгаа) олон нийтэд зориулагдсан бөгөөд ерөнхий нийтийн сонирхлыг татахгүй байж болох юм. Эдгээр хязгаарлагдмал жагсаалтуудын аль нэг уруу элсэхээсээ өмнө техникийн жагсаалтуудад орох нь зүйтэй юм. Ингэснээр та харилцааны ёс дүрмийг ойлгох болно. [.informaltable] [cols="1,1", frame="none", options="header"] |=== | Жагсаалт | Зорилго |link:{freebsd-hubs-url}[freebsd-hubs] |Толин тусгал сайтуудыг ажиллуулж байгаа хүмүүс (дэд бүтцийн дэмжлэг) |link:{freebsd-user-groups-url}[freebsd-user-groups] |Хэрэглэгчийн бүлгийн зохицуулалт |link:{freebsd-wip-status-url}[freebsd-wip-status] |FreeBSD-ийн Work-In-Progress буюу хийгдэж байгаа ажлуудын төлөв |link:{freebsd-wireless-url}[freebsd-wireless] |802.11 стек, хэрэгслүүд, драйверын хөгжүүлэлтийн талаарх хэлэлцүүлэг |=== _Digest буюу товч мэдээллийн жагсаалтууд:_ Дээрх бүх жагсаалтууд нь товч хэлбэрээр байдаг. Жагсаалтад бүртгүүлсний дараа та өөрийн бүртгэлийн тохируулгуудын хэсэгт товч мэдээлэл хүлээж авах тохируулгуудыг өөрчилж болно. _SVN жагсаалтууд:_ Дараах жагсаалтууд нь эх модны төрөл бүрийн талбарууд дахь өөрчлөлтүүдийн тухай бүртгэлийн мэдэгдлүүдийг харахыг хүссэн хүмүүст зориулагдсан байдаг. Тэдгээр нь _Зөвхөн Уншигдах_ жагсаалтууд бөгөөд тэдгээр рүү захидал илгээх ёсгүй юм. [.informaltable] [cols="1,1,1", frame="none", options="header"] |=== | Жагсаалт | Эх талбар | Талбарын тайлбар (зориулагдсан эх) |link:{svn-doc-all-url}[svn-doc-all] |[.filename]#/usr/doc# |doc Subversion репозиторын бүх өөрчлөлтүүд ( [.filename]#user#, [.filename]#projects# ба [.filename]#translations# бусад) |link:{svn-doc-head-url}[svn-doc-head] |[.filename]#/usr/doc# |doc Subversion репозиторын "head" салбарын бүх өөрчлөлтүүд |link:{svn-doc-projects-url}[svn-doc-projects] |[.filename]#/usr/doc/projects# |doc Subversion репозиторын [.filename]#projects# талбарын бүх өөрчлөлтүүд |link:{svn-doc-svnadmin-url}[svn-doc-svnadmin] |[.filename]#/usr/doc# |doc Subversion репозиторын удирдлагын скриптүүд, hook, болон бусад тохиргооны өгөгдлийн бүх өөрчлөлтүүд |link:{svn-ports-all-url}[svn-ports-all] |[.filename]#/usr/ports# |Портын Subversion репозиторын бүх өөрчлөлтүүд |link:{svn-ports-head-url}[svn-ports-head] |[.filename]#/usr/ports# |Портын Subversion репозиторын "head" салбарын бүх өөрчлөлтүүд |link:{svn-ports-svnadmin-url}[svn-ports-svnadmin] |[.filename]#/usr/ports# |Портын Subversion репозиторын удирдлагын скриптүүд, hook, болон бусад тохиргооны өгөгдлийн бүх өөрчлөлтүүд |{svn-src-all} |[.filename]#/usr/src# |src Subversion репозиторын бүх өөрчлөлтүүд ([.filename]#user# болон [.filename]#projects#-с бусад) |{svn-src-head} |[.filename]#/usr/src# |src Subversion репозиторын "head" салбарын бүх өөрчлөлтүүд (FreeBSD-CURRENT салбар) |link:{svn-src-projects-url}[svn-src-projects] |[.filename]#/usr/projects# |src Subversion репозиторын [.filename]#projects# талбарын бүх өөрчлөлтүүд |link:{svn-src-release-url}[svn-src-release] |[.filename]#/usr/src# |src Subversion репозиторын [.filename]#releases# талбарын бүх өөрчлөлтүүд |link:{svn-src-releng-url}[svn-src-releng] |[.filename]#/usr/src# |src Subversion репозиторын [.filename]#releng# салбаруудын бүх өөрчлөлтүүд (аюулгүй байдал / хувилбар инженерчлэлийн салбарууд) |link:{svn-src-stable-url}[svn-src-stable] |[.filename]#/usr/src# |src Subversion репозиторын бүх тогтвортой салбаруудын бүх өөрчлөлтүүд |link:{svn-src-stable-6-url}[svn-src-stable-6] |[.filename]#/usr/src# |src Subversion репозиторын [.filename]#stable/6# салбарын бүх өөрчлөлтүүд |link:{svn-src-stable-7-url}[svn-src-stable-7] |[.filename]#/usr/src# |src Subversion репозиторын [.filename]#stable/7# салбарын бүх өөрчлөлтүүд |link:{svn-src-stable-8-url}[svn-src-stable-8] |[.filename]#/usr/src# |src Subversion репозиторын [.filename]#stable/8# салбарын бүх өөрчлөлтүүд |{svn-src-stable-9} |[.filename]#/usr/src# |src Subversion репозиторын [.filename]#stable/9# салбарын бүх өөрчлөлтүүд |link:{svn-src-stable-other-url}[svn-src-stable-other] |[.filename]#/usr/src# |src Subversion репозиторын хуучин [.filename]#stable# салбаруудын бүх өөрчлөлтүүд |link:{svn-src-svnadmin-url}[svn-src-svnadmin] |[.filename]#/usr/src# |src Subversion репозиторын удирдлагын скриптүүд, хуукууд, болон бусад тохиргооны өгөгдлийн бүх өөрчлөлтүүд |link:{svn-src-user-url}[svn-src-user] |[.filename]#/usr/src# |src Subversion репозиторын туршилтын [.filename]#user# талбарын бүх өөрчлөлтүүд |link:{svn-src-vendor-url}[svn-src-vendor] |[.filename]#/usr/src# |src Subversion репозиторын үйлдвэрлэгчийн ажлын талбарын бүх өөрчлөлтүүд |=== [[eresources-subscribe]] === Хэрхэн бүртгүүлэх вэ -Жагсаалтанд бүртгүүлэхийн тулд дээр байгаа жагсаалтын нэрэн дээр дарах юм уу эсвэл {mailman-lists-url} руу очоод сонирхож байгаа жагсаалт дээрээ дарах хэрэгтэй. Жагсаалтын хуудас бүртгүүлэхэд хэрэгтэй бүх заавруудыг агуулсан байх ёстой. +Жагсаалтанд бүртгүүлэхийн тулд дээр байгаа жагсаалтын нэрэн дээр дарах юм уу эсвэл {mailing-lists-url} руу очоод сонирхож байгаа жагсаалт дээрээ дарах хэрэгтэй. Жагсаалтын хуудас бүртгүүлэхэд хэрэгтэй бүх заавруудыг агуулсан байх ёстой. Өгөгдсөн жагсаалт уруу илгээхийн тулд ердөө л mailto:жагсаалтын_нэр@FreeBSD.org[жагсаалтын_нэр@FreeBSD.org] хаяг уруу захидал илгээнэ. Дараа нь захидлын жагсаалтын дэлхий даяарх гишүүдэд тараагдах болно. Жагсаалтаас гарахын тулд жагсаалтаас хүлээн авсан цахим захидал бүрийн доор байрлах URL дээр дарах хэрэгтэй. Өөрийгөө бүртгэлээс хасахын тулд бас цахим захидал mailto:жагсаалтын_нэр-unsubscribe@FreeBSD.org[жагсаалтын_нэр-unsubscribe@FreeBSD.org] руу илгээж болно. Дахин хэлэхэд бид техникийн захидлын жагсаалтуудад техникийн талын зүйлс хэлэлцэхийг танаас хүсэж байна. Хэрэв та зөвхөн чухал зарлалуудыг сонирхож байгаа бол та {freebsd-announce}-д бүртгүүлэх нь зүйтэй юм. Энэ жагсаалт нь зөвхөн мэдээллийн сийрэг урсгалд зориулагдсан юм. [[eresources-charters]] === Жагсаалтын дүрэм, журмууд FreeBSD-ийн _бүх_ захидлын жагсаалтууд нь тодорхой нэг үндсэн дүрмүүдтэй байдаг. Тэдгээрийг ашиглаж байгаа болгон дагаж мөрдөх ёстой. Эдгээр заавруудыг дагахгүй байх тохиолдолд FreeBSD Postmaster mailto:postmaster@FreeBSD.org[postmaster@FreeBSD.org]-с хоёр (2) анхааруулга бичгээр ирэх бөгөөд үүний дараа гурав дахь удаагаа зөрчсөн тохиолдолд илгээгчийг FreeBSD-ийн бүх захидлын жагсаалтаас хасаж тэдгээр рүү дахиж илгээхийг нь шүүх болно. Бид ийм дүрмүүд, арга хэмжээнүүд байгаад харамсаж байгаа боловч өнөөгийн Интернэт нь маш танхай балмад орчин юм шиг санагддаг бөгөөд олон хүмүүс эдгээрийн арга замууд ямар эмзэг болохыг хүндэтгэдэггүй билээ. Дагаж мөрдөх дүрэм, журмууд: * Аль ч илгээлтийн сэдэв нь илгээгдсэн жагсаалтынхаа үндсэн дүрэм, журмыг дагаж мөрдөж байх ёстой, өөрөөр хэлбэл хэрэв жагсаалт техникийн асуудлуудын талаар бол таны илгээж байгаа захидал техникийн хэлэлцүүлэг агуулсан байх ёстой. Хамааралгүй үргэлжлэх чалчаа эсвэл уурлаж шатсан байдал нь захидлын жагсаалтын утгыг түүн дээр байгаа бүхний хувьд алдагдуулж тэвчихгүй байдалд хүргэнэ. Ямар ч тодорхой сэдэвгүй чөлөөт хэлбэрийн хэлэлцүүлэгт зориулсан {freebsd-chat} хэлэлцүүлэг чөлөөтэй байдаг бөгөөд үүнийг ашиглах ёстой юм. * 2-оос илүү захидлын жагсаалтад зэрэг илгээж болохгүй бөгөөд зөвхөн 2 хүртэлхийг хэрэв тодорхой, илт хэрэгцээ байгаа тохиолдолд хоёр жагсаалт уруу илгээхийг зөвшөөрдөг. Ихэнх жагсаалтуудын хувьд аль хэдийн маш их хэмжээний бүртгэгдсэн хүмүүс давхацдаг бөгөөд ихэнх тусгай зориулагдсан холилдлуудыг ("-stable & -scsi" гэх мэт) тооцохгүй юм бол нэгэн зэрэг нэг жагсаалтаас олон жагсаалт уруу илгээх шалтгаан жинхэнэдээ байхгүй юм. Хэрэв мэдээ ийм замаар `Cc` мөрөн дээр олон захидлын жагсаалттайгаар тань руу илгээгдсэн бол дахин илгээхээсээ өмнө `Cc` мөрийг бас авч хаях ёстой юм. _ Анхлан эхлэгч нь хэн байгаагаас үл хамааран та олон жагсаалт уруу илгээх өөрийн илгээлтүүдийнхээ төлөө хариуцлага бас хүлээх ёстой юм._ * Хувь хүн рүү чиглэсэн халдлагууд болон гутаан доромжлол нь (маргаан) зөвшөөрөгддөггүй бөгөөд энэ нь хэрэглэгчид болон хөгжүүлэгчдийг адилхан хамардаг. Зөвшөөрөөгүй байхад эсвэл зөвшөөрөл өгөгдөхөөргүй байхад хувийн захиаг нээх эсвэл дахин илгээх зэрэг сүлжээн дэх харилцааны бүдүүлэг үйлдлүүд сайшаагддаггүй боловч хүчээр таслан зогсоогддоггүй. _Гэхдээ_ жагсаалтын дүрэм, журмын хүрээнд ийм агуулга таарах зарим цөөн тохиолдол бас байдаг бөгөөд ийм тохиолдолд анхааруулга явуулах (эсвэл хөөх) арга хэмжээнүүдийг тухай бүрт нь авч болох юм. * FreeBSD-тэй холбоогүй бүтээгдэхүүнүүд эсвэл үйлчилгээнүүдийг сурталчлахыг хатуугаар хориглодог бөгөөд хэрэв зөрчигч спамаар сурталчилж байгаа нь илт байвал түүнийг нэн даруй хөөхөд хүргэнэ. _Жагсаалт бүрийн дүрэм, журмууд:_ {freebsd-acpi}:: _ACPI болон тэжээлийн удирдлагын хөгжүүлэлт_ link:{freebsd-afs-url}[freebsd-afs]:: _Andrew File System_ буюу Эндрю файлын систем + Энэ жагсаалт нь AFS-г CMU/Transarc-аас порт хийж ашиглах тухай хэлэлцүүлэгт зориулагдсан {freebsd-announce}:: _Чухал үйл явдлууд / түүхийн гол үеүүд_ + Энэ нь FreeBSD-ийн чухал үйл явдлуудын тухай тохиолдлын зарлалуудыг сонирхсон хүмүүст зориулагдсан захидлын жагсаалт юм. Үүнд хормын хувилбарууд болон бусад хувилбаруудын тухай зарлалууд багтдаг. Энэ нь бас FreeBSD-ийн шинэ боломжуудын зарлалуудыг агуулдаг. Сайн дурынхныг уриалах гэх мэтийг бас агуулж болох юм. Энэ нь бага ачаалалтай, чанд хянагдсан захидлын жагсаалт юм. link:{freebsd-arch-url}[freebsd-arch]:: _Архитектур болон дизайны хэлэлцүүлгүүд_ + Энэ жагсаалт нь FreeBSD-ийн архитектурын хэлэлцүүлэгт зориулагдсан. Захианууд нь ихэвчлэн маш техникийн шинж чанартай байх болно. Тохиромжтой сэдвүүдийн жишээг дурдвал: ** Нэгэн зэрэг хэд хэдэн өөрчлөн тохируулсан бүтээлтүүдийг ажиллуулахын тулд бүтээх системийг хэрхэн засаж сэлбэх талаар. ** Heidemann буюу Хайдеман давхаргуудыг ажиллуулахын тулд VFS-д юуг засварлах ёстой талаар. ** Ижил драйверуудыг олон шугамууд болон архитектурууд дээр цэвэрхэн ашиглаж чаддаг байхын тулд төхөөрөмжийн драйверийн интерфэйсийг хэрхэн өөрчлөх талаар. ** Сүлжээний драйверийг хэрхэн бичих талаар. link:{freebsd-bluetooth-url}[freebsd-bluetooth]:: _FreeBSD дээрх Bluetooth(R)_ + Энэ нь FreeBSD-ийн Bluetooth(R) хэрэглэгчид цугладаг хэлэлцүүлэг юм. Дизайны асуудлууд, шийдлийн тухай дэлгэрэнгүй зүйлс, засварууд, алдааны тайлангууд, төлвийн тайлангууд, боломжийн хүсэлтүүд, итгэмжлэн оруулсан зүйлсийн бүртгэлүүд болон Bluetooth(R)-тай холбоотой бусад бүх зүйлс энэ жагсаалтаар хэлэлцэгддэг. link:{freebsd-bugbusters-url}[freebsd-bugbusters]:: _Асуудал Тайлагналттай (Problem Report) ажиллах хүчин чармайлтын зохицуулалт_ + Энэ жагсаалтын зорилго нь Алдааны маэстро (Bugmeister), түүний Цох нядлагчид (Bugbusters) болон PR мэдээллийн баазад үнэн сэтгэлээсээ сонирхолтой бусад талуудад зориулсан зохицуулалт болон хэлэлцүүлэг болон үйлчлэх явдал юм. Энэ жагсаалт нь тусгайлсан алдаанууд, засварууд юм уу эсвэл PR-уудын тухай хэлэлцүүлгүүдэд зориулагдаагүй. link:{freebsd-bugs-url}[freebsd-bugs]:: _Алдааны тайлангууд_ + Энэ нь FreeBSD дээрх алдаануудыг тайлагнахад зориулагдсан захидлын жагсаалт юм. Алдаануудыг аль болох man:send-pr[1] тушаалыг ашиглах юм уу эсвэл түүний link:https://www.FreeBSD.org/send-pr/[ВЭБ интерфэйс]ийг ашиглан илгээх ёстой. link:{freebsd-chat-url}[freebsd-chat]:: _FreeBSD-ийн хүрээнийхэнд хамаагүй техникийн бус зүйлс_ + Энэ жагсаалт нь бусад жагсаалтаас хальсан техникийн бус, нийгмийн мэдээллийг агуулдаг. Жордан хүүхэлдэйн киноны өмхий хүрэнтэй адил уу эсвэл үгүй юу, томоор бичих үү эсвэл үгүй юу, хэн хэтэрхий их кофе ууж байна, хамгийн шилдэг пиво хаана исгэж байна, хэн подвалдаа пиво исгэж байна гэх мэт хэлэлцүүлгүүд үүнд багтдаг. Чухал үйл явдлуудын (болох үдэшлэгүүд, хуримнууд, төрсөн өдрүүд, шинэ ажлууд гэх мэт) тохиолдлын зарлал техникийн жагсаалтууд уруу хийгдэж болох боловч дараа дараагийн захианууд энэ -chat жагсаалт уруу заагдах ёстой байдаг. link:{freebsd-chromium-url}[freebsd-chromium]:: _FreeBSD-тэй холбоотой Chromium-ийн хэлэлцүүлэг_ + Энэ жагсаалт нь FreeBSD-д зориулсан Chromium-ийн дэмжлэгийг хэлэлцэхэд зориулагдсан. Энэ нь Chromium-ийн хөгжүүлэлт болон суулгалтыг хэлэлцэх техникийн жагсаалт юм. {core-name}:: _FreeBSD гол баг_ + Энэ нь гол гишүүдийн ашиглахад зориулсан дотоод захидлын жагсаалт юм. FreeBSD-тэй холбоотой чухал зүйлийг шүүх эсвэл өндөр түвшний нарийвчилсан нягтлал хийх шаардлагатай үед захидлууд энэ жагсаалт уруу илгээгдэж болно. {freebsd-current}:: _FreeBSD-CURRENT-г ашиглах тухай хэлэлцүүлэг_ + Энэ нь FreeBSD-CURRENT-ийн хэрэглэгчдэд зориулсан захидлын жагсаалт юм. Хэрэглэгчдэд нөлөөлөх -CURRENT-с гарсан шинэ боломжуудын тухай анхааруулгууд болон -CURRENT байхын тулд хийх алхмуудын заавруудыг энэ жагсаалт агуулдаг. "CURRENT"-г ашиглаж байгаа хэн бүхэн энэ жагсаалтад бүртгүүлэх ёстой. Энэ нь техникийн чанартай агуулгыг хатуу чанд хүлээж байдаг техникийн захидлын жагсаалт юм. link:{freebsd-cvsweb-url}[freebsd-cvsweb]:: _FreeBSD CVSweb төсөл_ + FreeBSD-CVSweb-ийн хэрэглээ, хөгжүүлэлт болон арчилгааны тухай техникийн хэлэлцүүлгүүд. link:{freebsd-desktop-url}[freebsd-desktop]:: _Десктоп дээр FreeBSD-г ашиглах бас сайжруулах_ + Энэ хэлэлцүүлэг нь десктоп дээрх FreeBSD-н талаар юм. Десктоп руу хөрвүүлэгчид болон хэрэглэгчдийн хувьд FreeBSD-н десктопын дэмжлэгийг сайжруулах болон түүнтэй холбоотой асуудлуудыг хэлэлцэхэд зориулсан гол талбар юм. link:{freebsd-doc-url}[freebsd-doc]:: _Баримтжуулах төсөл_ + Энэ захидлын жагсаалт нь FreeBSD-д зориулсан баримтжуулалтыг үүсгэхтэй холбоотой төслүүд болон асуудлуудын хэлэлцүүлэгт зориулсан билээ. Энэ захидлын жагсаалтын гишүүдийг бүхэлд нь "FreeBSD баримтжуулах төсөл" гэдэг. Энэ нь нээлттэй жагсаалт юм; чөлөөтэй нэгдэж хувь нэмрээ оруулаарай! link:{freebsd-drivers-url}[freebsd-drivers]:: _FreeBSD-д зориулж төхөөрөмжийн драйверууд бичих_ + Энэ нь FreeBSD дээрх төхөөрөмжийн драйверуудтай холбоотой техникийн хэлэлцүүлгүүдэд зориулсан форум юм. FreeBSD цөм дэх API-уудыг ашиглан төхөөрөмжийн драйверуудыг хэрхэн бичих талаар төхөөрөмжийн драйвер бичигчдийн асуух тэр талбар юм. link:{freebsd-eclipse-url}[freebsd-eclipse]:: _Eclipse IDE, хэрэгслүүд, клиентийн баялаг програмууд болон портуудын FreeBSD хэрэглэгчид._ + Энэ жагсаалтын зорилго нь FreeBSD тавцан дээр Eclipse IDE, хэрэгслүүд, клиентийн баялаг програмуудыг сонгох, суулгах, ашиглах, хөгжүүлэх болон арчлах, Eclipse IDE болон залгаасуудыг FreeBSD орчин уруу порт хийхэд туслахтай холбоотой бүх зүйлсэд зориулж хамтын дэмжлэгийг хангах явдал юм. + Eclipse хүрээнийхэн болон FreeBSD хүрээнийхэнд хоёуланд нь ашигтай байхаар тэдгээрийн хооронд мэдээлэл солилцохыг хөнгөвчлөх бас зорилготой юм. + Энэ жагсаалт нь Eclipse хэрэглэгчдийн хэрэглээн дээр үндсэндээ анхаарал тавьдаг боловч бас Eclipse тогтолцоог ашиглан FreeBSD програмуудыг хөгжүүлэхийг хүссэн хүмүүст зориулсан форум болдог. link:{freebsd-embedded-url}[freebsd-embedded]:: _FreeBSD-г суулгагдсан авсаар програмуудад ашиглах_ + Энэ жагсаалт нь FreeBSD-г суулгагдсан програмуудад ашиглахтай холбоотой сэдвүүдийг хэлэлцдэг. Энэ нь зөвхөн техникийн агуулга хүлээж байдаг техникийн захидлын жагсаалт юм. Энэ жагсаалтын зорилгын хувьд бид суулгагдсан системүүдийг тодорхойлдог бөгөөд эдгээр системүүд нь ширээний системүүд биш бөгөөд тооцоолох ерөнхий орчнуудад зориулагдаагүй тодорхой нэг зорилгоор ашиглагддаг тооцоолох төхөөрөмжүүд юм. Жишээнүүдэд бүх төрлийн утасны харилцуурууд, чиглүүлэгчүүд, шилжүүлэгчүүд болон PBX-үүд, алсын хэмжих төхөөрөмж, PDA-ууд, Point of Sale буюу POS системүүд гэх зэрэг орох бөгөөд зөвхөн энд дурдагдсанаар хязгаарлагдахгүй юм. link:{freebsd-emulation-url}[freebsd-emulation]:: _Линукс/MS-DOS(R)/Windows(R) зэрэг бусад системүүдийн эмуляц_ + Бусад үйлдлийн системүүдэд зориулж бичигдсэн програмуудыг FreeBSD дээр ажиллуулахтай холбоотой техникийн хэлэлцүүлгүүдэд зориулсан форум юм. link:{freebsd-eol-url}[freebsd-eol]:: _FreeBSD төслийн дэмжихээ больсон FreeBSD-тэй холбоотой програм хангамжуудын тэгш дэмжлэг._ + Энэ жагсаалт нь FreeBSD төслийн албан ёсны (өөрөөр хэлбэл аюулгүй байдлын зөвлөгөөнүүд болон засваруудын хэлбэрээр) дэмжлэг үзүүлэхээ больсон FreeBSD-тэй холбоотой програм хангамжийн дэмжлэг үзүүлэх эсвэл ашиглахыг хүссэн хүмүүст зориулагдсан юм. link:{freebsd-firewire-url}[freebsd-firewire]:: _FireWire(R) (iLink, IEEE 1394)_ + Энэ нь FreeBSD дээр FireWire(R) (IEEE 1394, бас iLink гэгддэг) дэд системийн дизайн болон шийдлийн хэлэлцүүлэгт зориулсан захидлын жагсаалт юм. Хамааралтай сэдвүүдэд ялангуяа стандартууд, шугамын төхөөрөмжүүд болон тэдгээрийн протоколууд, адаптер хавтангууд/картууд/бичил схемүүд, тэдгээрийг зөв дэмжих кодын архитектур болон шийдэл ордог. link:{freebsd-fs-url}[freebsd-fs]:: _Файлын системүүд_ + FreeBSD файлын системтэй холбоотой хэлэлцүүлгүүд. Энэ жагсаалт нь техникийн захидлын жагсаалт бөгөөд зөвхөн техникийн агуулгыг хүлээж байдаг. link:{freebsd-gecko-url}[freebsd-gecko]:: _Gecko Rendering Engine_ + Энэ нь FreeBSD дээр Gecko програмуудыг ашиглах талаар хэлэлцэх хэлэлцүүлэг юм. + FreeBSD дээрх Gecko портын програмуудыг тойрсон хэлэлцүүлэг, тэдгээрийн суулгалт, хөгжүүлэлт болон дэмжлэг. link:{freebsd-geom-url}[freebsd-geom]:: _GEOM_ + GEOM болон түүнтэй холбоотой шийдлүүдтэй холбоотой хэлэлцүүлгүүд. Энэ жагсаалт нь техникийн захидлын жагсаалт бөгөөд зөвхөн техникийн агуулгыг хүлээж байдаг. link:{freebsd-gnome-url}[freebsd-gnome]:: _GNOME_ + FreeBSD системүүдэд зориулсан GNOME Ширээний орчны тухай хэлэлцүүлгүүд. Энэ жагсаалт нь техникийн захидлын жагсаалт бөгөөд зөвхөн техникийн агуулгыг хүлээж байдаг. link:{freebsd-infiniband-url}[freebsd-infiniband]:: _FreeBSD дээрх Infiniband_ + FreeBSD дээрх Infiniband, OFED ба OpenSM-ийн талаар хэлэлцдэг техникийн захидлын жагсаалт. link:{freebsd-ipfw-url}[freebsd-ipfw]:: _IP Firewall буюу галт хана_ + Энэ нь FreeBSD дээрх IP галт ханын кодыг дахин дизайн хийхтэй холбоотой техникийн хэлэлцүүлгүүдэд зориулсан форум юм. Энэ жагсаалт нь техникийн захидлын жагсаалт бөгөөд зөвхөн техникийн агуулгыг хүлээж байдаг. link:{freebsd-ia64-url}[freebsd-ia64]:: _FreeBSD-г IA64 руу порт хийх_ + Энэ нь FreeBSD-г Intel(R)-ийн IA-64 тавцан руу порт хийхээр идэвхтэйгээр ажиллаж байгаа хувь хүмүүст зориулсан, асуудлууд гаргаж тавих юм уу эсвэл өөр шийдлүүдийн талаар хэлэлцэх техникийн захидлын жагсаалт юм. Техникийн хэлэлцүүлгийг дагах сонирхолтой хувь хүмүүс бас нэгдэж болох юм. link:{freebsd-isdn-url}[freebsd-isdn]:: _ISDN холбоонууд_ + Энэ нь FreeBSD-д зориулсан ISDN-ий дэмжлэгийн хөгжүүлэлтийг хэлэлцэхэд зориулсан захидлын жагсаалт юм. link:{freebsd-java-url}[freebsd-java]:: _Java(TM) хөгжүүлэлт_ + Энэ нь FreeBSD дээр чухал Java(TM) програмуудыг хөгжүүлэх болон JDK(TM)-г порт хийх болон арчлах талаар хэлэлцэхэд зориулсан захидлын жагсаалт юм. [[eresources-charters-jobs]] link:{freebsd-jobs-url}[freebsd-jobs]:: _Санал болгож байгаа болон хайж байгаа ажлууд_ + Энэ нь FreeBSD-тэй ялангуяа холбоотой ажлын мэдэгдлүүд болон CV/resume-үүдийг илгээх зориулалттай форум юм. Өөрөөр хэлбэл хэрэв та FreeBSD-тэй холбоотой ажил хайж байгаа эсвэл танд FreeBSD оролцсон зарлах ажил байгаа бол энэ нь зөв газар юм. Энэ нь ерөнхий ажилтай холбоотой асуудлуудад зориулсан захидлын жагсаалт _биш_ юм. Учир нь түүнд зориулсан тохирсон форумууд хаа нэгтээ аль хэдийн байдаг. + Энэ жагсаалт нь бусад `FreeBSD.org` захидлын жагсаалтуудын адил дэлхий даяар тардаг. Тиймээс та байрлал болон аялах эсвэл шинэ газар нүүхтэй холбоотой туслалцаа байгаа эсэх тэр хир хэмжээг ойлгосон байх хэрэгтэй. + Цахим захидлууд нь нээлттэй хэлбэршилтүүдийг ашиглах ёстой - цэвэр текстийг аль болох эрхэмлэсэн байх ёстой боловч Portable Document Format (PDF), HTML, болон бусад цөөн хэдэн хэлбэршилт ихэнх уншигчдын хувьд хүлээж авах боломжтой байдаг. Microsoft(R) Word ([.filename]#.doc#) зэрэг хаалттай хэлбэршилтүүдээс захидлын жагсаалтын сервер татгалзах болно. link:{freebsd-kde-url}[freebsd-kde]:: _KDE_ + FreeBSD системүүд дээрх KDE-тэй холбоотой хэлэлцүүлгүүд. Энэ жагсаалт нь техникийн захидлын жагсаалт бөгөөд зөвхөн техникийн агуулгыг хүлээж байдаг. link:{freebsd-hackers-url}[freebsd-hackers]:: _Техникийн хэлэлцүүлгүүд_ + Энэ нь жагсаалт нь FreeBSD-тэй холбоотой техникийн хэлэлцүүлгүүдэд зориулагдсан. Энэ нь техникийн анхдагч захидлын жагсаалт юм. Энэ нь FreeBSD дээр идэвхтэйгээр ажиллаж байгаа хувь хүмүүст асуудлууд гаргаж тавих эсвэл өөр шийдлүүдийг хэлэлцэхэд нь зориулагджээ. Техникийн хэлэлцүүлгийг дагах сонирхолтой хувь хүмүүс нэгдэхэд дуртайяа байх болно. Энэ жагсаалт нь техникийн захидлын жагсаалт бөгөөд зөвхөн техникийн агуулгыг хүлээж байдаг. link:{freebsd-hardware-url}[freebsd-hardware]:: _FreeBSD тоног төхөөрөмжийн ерөнхий хэлэлцүүлэг_ + FreeBSD-ийн ажиллаж байгаа тоног төхөөрөмжийн төрлүүд, төрөл бүрийн асуудлууд болон юу худалдаж авах эсвэл авахгүй байхтай холбоотой саналуудын тухай ерөнхий хэлэлцүүлэг. link:{freebsd-hubs-url}[freebsd-hubs]:: _Толин тусгал сайтууд_ + FreeBSD толин тусгал сайтуудыг ажиллуулж байгаа хүмүүст зориулсан зарлалууд ба хэлэлцүүлэг. link:{freebsd-isp-url}[freebsd-isp]:: _Интернэтийн үйлчилгээ үзүүлэгчдэд зориулсан асуудлууд_ + Энэ захидлын жагсаалт нь FreeBSD ашиглаж байгаа Интернэтийн үйлчилгээ үзүүлэгчидтэй (ISP-ууд) холбоотой сэдвүүдийг хэлэлцэхэд зориулагдсан. Энэ жагсаалт нь техникийн захидлын жагсаалт бөгөөд зөвхөн техникийн агуулгыг хүлээж байдаг. link:{freebsd-mono-url}[freebsd-mono]:: _FreeBSD дээрх Mono болон C# програмууд_ + Энэ нь FreeBSD дээрх Mono хөгжүүлэлтийн тогтолцоотой хамааралтай хэлэлцүүлгүүдэд зориулагдсан жагсаалт юм. Энэ нь техникийн захидлын жагсаалт юм. Энэ нь FreeBSD рүү Mono болон C# програмуудыг хөрвүүлэхэхээр идэвхтэйгээр ажиллаж байгаа хүмүүс асуудлууд тавих эсвэл өөр боломжит шийдлүүдийг хэлэлцэхэд зориулагдсан юм. Техникийн хэлэлцүүлгүүдийг сонирхож дагах гэсэн хүмүүс бас оролцох боломжтой юм. link:{freebsd-office-url}[freebsd-office]:: _FreeBSD дээрх Оффисын програмууд_ + Хэлэлцүүлэг FreeBSD дээрх оффисын програмууд, тэдгээрийг суулгах, хөгжүүлэх болон дэмжлэгийн талаар голчлон хэлэлцдэг. link:{freebsd-ops-announce-url}[freebsd-ops-announce]:: _Төслийн дэд бүтцийн талаарх мэдээлэл_ + Энэ захидлын жагсаалт нь FreeBSD.org төслийн дэд бүтэцтэй холбоотой асуудлууд болон өөрчлөлтүүдийг сонирхсон хүмүүст зориулагдсан. + Энэ зохицуулагдсан жагсаалт зөвхөн мэдээлэл, зард зориулагдсан бөгөөд хариулт, хүсэлт, хэлэлцүүлэг болон санал бодолд зориулагдаагүй. link:{freebsd-performance-url}[freebsd-performance]:: _FreeBSD-г тааруулах эсвэл хурдлуулах тухай хэлэлцүүлгүүд_ + Энэ захидлын жагсаалт нь хакерууд, администраторууд ба/эсвэл оролцож байгаа талууд FreeBSD-тэй хамаатай ажиллагаатай холбоотой сэдвүүдийг хэлэлцэхэд зориулсан талбар юм. Хүлээж авах боломжтой сэдвүүдэд их ачаалалтай, ажиллагааны асуудлуудтай учирч байгаа эсвэл FreeBSD-ийн хязгааруудад тулж байгаа FreeBSD суулгацуудын тухай хэлэлцүүлэг ордог. FreeBSD-ийн ажиллагааг сайжруулах талаар ажиллах сонирхолтой талуудыг энэ жагсаалтад бүртгүүлэхэд туйлаас дэмждэг. Энэ нь FreeBSD-г хурдан, хүчирхэг, өргөжих боломжтой болгох сонирхолтой, туршлагатай FreeBSD хэрэглэгчид, хакерууд эсвэл администраторуудад туйлын таарсан техникийн жагсаалт юм. Энэ нь баримтыг уншсанаар орлуулж болох асуулт хариултын жагсаалт биш боловч хувь нэмэр оруулах юм уу эсвэл хариулагдаагүй бөгөөд ажиллагаатай холбоотой сэдвүүдийн талаар лавлаж болох талбар юм. link:{freebsd-pf-url}[freebsd-pf]:: _Пакет шүүгч галт ханын системийн тухай хэлэлцүүлэг ба асуултууд_ + Пакет шүүгч (pf) галт ханын системийн тухай FreeBSD-тэй холбоотой хэлэлцүүлэг. Техникийн хэлэлцүүлэг болон хэрэглэгчийн асуултууд аль алийг хэлэлцэх боломжтой. Энэ жагсаалт нь ALTQ QoS тогтолцоог хэлэлцэх бас талбар юм. link:{freebsd-pkg-url}[freebsd-pkg]:: _Бинар багцын удирдлага болон багцын хэрэгслүүдийн хэлэлцүүлэг_ + FreeBSD систем дээр програм суулгахдаа бинар багцын хэрэгслүүд, хэлбэрүүд, тэдгээрийн хөгжүүлэлт ба FreeBSD дээрх багцын репозиторын удирдлага дахь дэмжлэг болон гуравдагч талуудын багцууд зэрэг бинар багцуудыг ашиглахтай хоблоотой бүхий л төрлийн хэлэлцүүлэг. + Багц үүсгэхдээ зөв үүсгэдэггүй портуудын талаарх хэлэлцүүлэг нь портын асуудалд хамаатай бөгөөд энэ жагсаалтад хамаарахгүй. link:{freebsd-platforms-url}[freebsd-platforms]:: _Intel(R) биш тавцангууд руу порт хийх_ + Тавцан хоорондох FreeBSD-ийн асуудлууд, ерөнхий хэлэлцүүлэг ба Intel(R) биш FreeBSD портуудад зориулагдсан төслүүд. Энэ жагсаалт нь техникийн захидлын жагсаалт бөгөөд зөвхөн техникийн агуулгыг хүлээж байдаг. link:{freebsd-ports-url}[freebsd-ports]:: _"Портуудын" хэлэлцүүлэг_ + FreeBSD-ийн "портын цуглуулга" ([.filename]#/usr/ports#), портын дэд бүтэц болон портын ерөнхий зохицуулалтын чармайлтуудын тухай хэлэлцүүлгүүд. Энэ жагсаалт нь техникийн захидлын жагсаалт бөгөөд зөвхөн техникийн агуулгыг хүлээж байдаг. link:{freebsd-ports-announce-url}[freebsd-ports-announce]:: _FreeBSD "Портын цуглуулгын" тухай чухал мэдээнүүд болон зааврууд_ + "Портын цуглуулгын" ([.filename]#/usr/ports#) хөгжүүлэгчид, порт хийгчид болон хэрэглэгчдэд зориулсан архитектур/дэд бүтцийн өөрчлөлтүүд, шинэ боломжууд, маш чухал шинэчлэх зааврууд болон хувилбар инженерчлэлийн мэдээлэл зэрэг чухал мэдээнүүд. Энэ нь бага ачаалалтай захидлын жагсаалт бөгөөд зарлалд зориулагдсан. link:{freebsd-ports-bugs-url}[freebsd-ports-bugs]:: _"Портуудын" алдаануудын хэлэлцүүлэг_ + FreeBSD-ийн "портын цуглуулга"д ([.filename]#/usr/ports#) зориулсан асуудлын тайлангууд, санал болгогдож байгаа портууд эсвэл портуудад хийгдэх өөрчлөлтүүдтэй холбоотой хэлэлцүүлгүүд. Энэ жагсаалт нь техникийн захидлын жагсаалт бөгөөд зөвхөн техникийн агуулгыг хүлээж байдаг. link:{freebsd-proliant-url}[freebsd-proliant]:: _HP Proliant сервер тавцангууд дээрх FreeBSD-ийн техникийн хэлэлцүүлэг_ + Энэ захидлын жагсаалт нь Proliant-тай холбоотой драйверууд, удирдлагын програм хангамж, тохиргооны хэрэгслүүд ба BIOS-ийн шинэчлэлтүүдийн хэлэлцүүлэг зэрэг HP Proliant серверүүд дээрх FreeBSD-ийн хэрэглээний техникийн хэлэлцүүлэгт зориулагдсан талбар юм. Тиймээс энэ нь hpasmd, hpasmcli, болон hpacucli модулиудын талаар хэлэлцэх үндсэн газар юм. link:{freebsd-python-url}[freebsd-python]:: _FreeBSD дээрх Python_ + Энэ нь FreeBSD дээр Python дэмжлэгийг сайжруулахтай холбоотой хэлэлцүүлгүүдэд зориулсан жагсаалт юм. Энэ нь техникийн захидлын жагсаалт юм. Энэ нь Python, түүний гуравдагч талуудын модулиуд болон Zope-ийн юмсыг FreeBSD руу порт хийхээр ажиллаж байгаа хувь хүмүүст зориулагдсан юм. Техникийн хэлэлцүүлгийг дагах сонирхолтой хувь хүмүүс нэгдэхэд бас дуртайяа байх болно. link:{freebsd-questions-url}[freebsd-questions]:: _Хэрэглэгчийн асуултууд_ + Энэ нь FreeBSD-ийн тухай асуултуудад зориулагдсан захидлын жагсаалт юм. Та асуултаа нэлээн техникийн гэж үзэж байгаагаас бусад тохиолдолд "how to" буюу "хэрхэн яаж" гэсэн асуултуудыг техникийн жагсаалтууд руу илгээх ёсгүй юм. link:{freebsd-ruby-url}[freebsd-ruby]:: _FreeBSD-тэй холбоотой Ruby-ийн хэлэлцүүлэг_ + Энэ нь FreeBSD дээрх Ruby-ийн дэмжлэгтэй холбоотой хэлэлцүүлэгт зориулсан жагсаалт юм. Энэ нь техникийн захидлын жагсаалт юм. Ruby портууд, гуравдагч сангууд болон тогтолцоонууд дээр ажиллаж байгаа хувь хүмүүст зориулсан юм. + Техникийн хэлэлцүүлгийг дагах сонирхолтой хувь хүмүүс нэгдэхэд бас дуртайяа байх болно. link:{freebsd-scsi-url}[freebsd-scsi]:: _SCSI дэд систем_ + Энэ нь FreeBSD-д зориулагдсан SCSI дэд систем дээр ажиллаж байгаа хүмүүст зориулсан захидлын жагсаалт юм. Энэ жагсаалт нь техникийн захидлын жагсаалт бөгөөд зөвхөн техникийн агуулгыг хүлээж байдаг. {freebsd-security}:: _Аюулгүй байдлын асуудлууд_ + FreeBSD компьютерийн аюулгүй байдлын асуудлууд (DES, Kerberos, мэдэгдэж байгаа аюулгүй байдлын цоорхойнууд болон засварууд гэх мэт). Энэ жагсаалт нь техникийн захидлын жагсаалт бөгөөд зөвхөн техникийн агуулгыг хүлээж байдаг. Энэ нь асуулт, хариултын жагсаалт биш гэдгийг санах хэрэгтэй, гэхдээ FAQ-д хувь нэмэр оруулахыг (асуулт, хариултын аль нь ч байсан гэсэн) дэмждэг. {freebsd-security-notifications}:: _Аюулгүй байдлын мэдэгдлүүд_ + FreeBSD-ийн аюулгүй байдлын асуудлууд ба засваруудын мэдэгдлүүд. Энэ нь хэлэлцүүлгийн жагсаалт биш юм. Хэлэлцүүлгийн жагсаалт нь FreeBSD-security юм. link:{freebsd-small-url}[freebsd-small]:: _FreeBSD-г суулгагдсан програмууд дээр ашиглах_ + Энэ жагсаалт нь ердийн биш жижиг ба суулгагдсан авсаар FreeBSD суулгацуудтай холбоотой сэдвүүдийг хэлэлцдэг. Энэ жагсаалт нь техникийн захидлын жагсаалт бөгөөд зөвхөн техникийн агуулгыг хүлээж байдаг. + [NOTE] ==== Энэ жагсаалт нь link:{freebsd-embedded-url}[freebsd-embedded]-р хуучирч ашиглагдахаа больсон. ==== link:{freebsd-snapshots-url}[freebsd-snapshots]:: _FreeBSD хөгжүүлэлтийн хормын хувилбарын зарууд_ + Энэ жагсаалт нь FreeBSD-н хөгжүүлэлтийн head/ ба stable/ салбарын шинэ хормын хувилбарууд гарсан талаар мэдээлнэ. {freebsd-stable}:: _FreeBSD-STABLE-ийн хэрэглээний тухай хэлэлцүүлэг_ + Энэ нь FreeBSD-STABLE-ийн хэрэглэгчдэд зориулсан захидлын жагсаалт юм. Хэрэглэгчдэд нөлөөлөх -STABLE-с гарсан шинэ боломжуудын тухай анхааруулгууд болон -STABLE байхын тулд хийх алхмуудын заавруудыг энэ жагсаалт агуулдаг. "STABLE"-г ашиглаж байгаа хэн бүхэн энэ жагсаалтад бүртгүүлэх хэрэгтэй. Энэ жагсаалт нь техникийн захидлын жагсаалт бөгөөд зөвхөн техникийн агуулгыг хүлээж байдаг. link:{freebsd-standards-url}[freebsd-standards]:: _C99 & POSIX нийцтэй байдал_ + Энэ нь C99 болон POSIX стандартуудтай FreeBSD хэрхэн нийцэж байгаатай холбоотой техникийн хэлэлцүүлгүүдэд зориулагдсан форум юм. link:{freebsd-toolchain-url}[freebsd-toolchain]:: _FreeBSD-д багтдаг хэрэгслүүдийн цуглуулгын үйлчилгээ_ + Энэ захидлын жагсаалт нь FreeBSD-тэй цуг ирдэг хэрэгслүүдийн цуглуулгын үйлчилгээтэй холбоотой хэлэлцүүлэгт зориулагдсан. Энэ сэдэвт Clang болон GCC-ийн төлөв бас асемблер, линкер болон дибаг хийгч зэрэг програм хангамжууд багтаж болно. link:{freebsd-usb-url}[freebsd-usb]:: _USB-д зориулсан FreeBSD-ийн дэмжлэгийг хэлэлцэх_ + Энэ нь USB-д зориулсан FreeBSD-ийн дэмжлэгтэй холбоотой техникийн хэлэлцүүлгүүдэд зориулсан захидлын жагсаалт юм. link:{freebsd-user-groups-url}[freebsd-user-groups]:: _Хэрэглэгчийн бүлгийн зохицуулалтын жагсаалт_ + Энэ нь бүс нутгийн Хэрэглэгчдийн бүлэг бүрийн зохицуулагчид нэг нэгэнтэйгээ болон гол багийн хариуцсан хүнтэй юмс хэлэлцэхэд зориулагдсан захидлын жагсаалт юм. Энэ захидлын жагсаалт нь ерөнхий агуулгууд болон хэрэглэгчийн бүлгүүдэд тархсан төслүүдийн зохицуулалтад тааран хязгаарлагдсан байх ёстой. link:{freebsd-virtualization-url}[freebsd-virtualization]:: _FreeBSD-ийн дэмждэг төрөл бүрийн виртуалчлалын техникүүдийн талаарх хэлэлцүүлэг_ + FreeBSD-ийн дэмждэг төрөл бүрийн виртуалчлалын техникүүдийн талаар хэлэлцэх жагсаалт. Нэг талаасаа үндсэн ажиллагааны шийдэл болон шинэ техникүүд нэмэх тал дээр төвлөрөх болно. Нөгөө талаасаа хэрэглэгчдэд ямар нэг асуудал гарсан үед тусламж гуйх эсвэл өөрсдийнхөө хэрэглээний тохиолдлуудыг хэлэлцэх хэлэлцүүлэг байх болно. link:{freebsd-wip-status-url}[freebsd-wip-status]:: _FreeBSD-ийн Work-In-Progress буюу хийгдэж байгаа ажлуудын төлөв_ + Энэхүү захидлын жагсаалтыг FreeBSD-тэй холбоотой өөрийн эхлүүлж байгаа ажил болон түүний явцыг зарлахад ашиглаж болох юм. Захидлууд нь хянагддаг. Илүү сэдэвт ойр FreeBSD-ийн жагсаалт руу "To:" дээр хаягийг бичин, харин энэ жагсаалт руу "BCC:" хийж захидлыг илгээх нь зүйтэй юм. Энэ жагсаалтад хэлэлцүүлэг зөвшөөрөгддөггүй учир ингэснээр таны WIP бас тухайн сэдэвтэй холбоотой жагсаалтад хэлэлцэгдэх боломжтой юм. + Тохиромжтой захидлуудын жишээг архиваас үзнэ үү. + Энэ жагсаалтад явуулсан захидлуудын редакторын тоймыг FreeBSD-ийн вэб хуудсанд хэдэн сар тутам Төлвийн Тайлангийн хэсэг болгон тавьж болох юм. Тэндээс илүү олон жишээнүүд болон хуучин тайлангуудыг та бас олж болох юм. link:{freebsd-wireless-url}[freebsd-wireless]:: _802.11 стек, хэрэгслүүд, драйверын хөгжүүлэлтийн талаарх хэлэлцүүлэг_ + FreeBSD-wireless жагсаалт нь 802.11 стек (sys/net80211), төхөөрөмжийн драйвер болон хэрэгслүүдийг хөгжүүлэхтэй холбоотой асуудлыг хэлэлцэхэд зориулагдсан. Үүнд цоорхой, шинэ боломжууд болон арчлахтай холбоотой асуудлууд багтана. link:{freebsd-xen-url}[freebsd-xen]:: _FreeBSD-ийн Xen(TM) портын хэлэлцүүлэг - шийдэл ба хэрэглээ_ + Энэ жагсаалт нь FreeBSD-ийн Xen(TM) портын талаар хэлэлцдэг. Захидлын урсгалын түвшин бага болохоор дизайны нарийн зүйлсүүд ба шийдлийн техникийн хэлэлцүүлэг болон хэрэгжүүлэхтэй холбоотой удирдлагын асуудлуудыг хэлэлцэхээр зориулагдсан. link:{freebsd-xfce-url}[freebsd-xfce]:: _XFCE_ + Энэхүү хэлэлцүүлэг нь XFCE орчинг FreeBSD-д оруулахтай хамааралтай юм. Энэ нь техникийн захидлын жагсаалт юм. XFCE-г FreeBSD рүү порт хийхээр идэвхтэй ажиллаж байгаа хүмүүст асуудлыг тавих эсвэл өөр шийдэл ярилцахад нь зориулагдсан юм. Техникийн хэлэлцүүлгийг дагаж унших сонирхолтой хүмүүс бас бүртгүүлж болно. link:{freebsd-zope-url}[freebsd-zope]:: _Zope_ + Энэхүү хэлэлцүүлэг нь Zope орчинг FreeBSD-д оруулахтай хамааралтай юм. Энэ нь техникийн захидлын жагсаалт юм. Zope-г FreeBSD рүү порт хийхээр идэвхтэй ажиллаж байгаа хүмүүст асуудлыг тавих эсвэл өөр шийдэл ярилцахад нь зориулагдсан юм. Техникийн хэлэлцүүлгийг дагаж унших сонирхолтой хүмүүс бас бүртгүүлж болно. [[eresources-mailfiltering]] === Захидлын жагсаалтууд дээрх шүүлт FreeBSD-ийн захидлын жагсаалтууд нь спам, вирус, болон бусад хүсээгүй цахим захидлуудаас сэргийлэхийн тулд олон аргаар шүүгддэг. Энэ хэсэгт тайлбарласан шүүлт хийх үйлдлүүд нь захидлын жагсаалтуудыг хамгаалахад хэрэглэгддэг бүх зүйлсийг хамрахгүй. Захидлын жагсаалтад зөвхөн тодорхой төрлийн хавсралтууд зөвшөөрөгддөг. Доорх жагсаалтад дурдагдаагүй MIME агуулгын төрөл бүхий бүх хавсралтууд захидлын жагсаалтад цахим захидал түгээгдэхээс өмнө авагддаг. * application/octet-stream * application/pdf * application/pgp-signature * application/x-pkcs7-signature * message/rfc822 * multipart/alternative * multipart/related * multipart/signed * text/html * text/plain * text/x-diff * text/x-patch [NOTE] ==== Зарим захидлын жагсаалтууд бусад MIME агуулгын төрлийн хавсралтуудыг зөвшөөрч болох боловч дээрх жагсаалт нь захидлын жагсаалтуудын ихэнх хэсэгт хамаарах болно. ==== Хэрэв цахим захидал HTML болон цэвэр текст хувилбарыг хоёуланг агуулж байвал HTML хувилбарыг устгах болно. Хэрэв цахим захидал зөвхөн HTML хувилбарыг агуулж байвал энэ нь цэвэр текст рүү хөрвүүлэгдэх болно. [[eresources-news]] == Usenet Newsgroups буюу мэдээний бүлгүүд FreeBSD-ийн хоёр тусгай мэдээний бүлгээс гадна FreeBSD-н талаар хэлэлцдэг юм уу эсвэл FreeBSD хэрэглэгчидтэй холбоотой бусад олон бүлгүүд байдаг. === BSD-тэй холбоотой мэдээний бүлгүүд * link:news:comp.unix.bsd.freebsd.announce[comp.unix.bsd.freebsd.announce] * link:news:comp.unix.bsd.freebsd.misc[comp.unix.bsd.freebsd.misc] * link:news:de.comp.os.unix.bsd[de.comp.os.unix.bsd] (German) * link:news:fr.comp.os.bsd[fr.comp.os.bsd] (French) * link:news:it.comp.os.freebsd[it.comp.os.freebsd] (Italian) === Бусад сонирхол татахуйц UNIX(R)-ийн мэдээний бүлгүүд * link:news:comp.unix[comp.unix] * link:news:comp.unix.questions[comp.unix.questions] * link:news:comp.unix.admin[comp.unix.admin] * link:news:comp.unix.programmer[comp.unix.programmer] * link:news:comp.unix.shell[comp.unix.shell] * link:news:comp.unix.user-friendly[comp.unix.user-friendly] * link:news:comp.security.unix[comp.security.unix] * link:news:comp.sources.unix[comp.sources.unix] * link:news:comp.unix.advocacy[comp.unix.advocacy] * link:news:comp.unix.misc[comp.unix.misc] * link:news:comp.unix.bsd[comp.unix.bsd] === X Цонхот Систем * link:news:comp.windows.x.i386unix[comp.windows.x.i386unix] * link:news:comp.windows.x[comp.windows.x] * link:news:comp.windows.x.apps[comp.windows.x.apps] * link:news:comp.windows.x.announce[comp.windows.x.announce] * link:news:comp.windows.x.intrinsics[comp.windows.x.intrinsics] * link:news:comp.windows.x.motif[comp.windows.x.motif] * link:news:comp.windows.x.pex[comp.windows.x.pex] * link:news:comp.emulators.ms-windows.wine[comp.emulators.ms-windows.wine] [[eresources-web]] == Word Wide Web серверүүд [[eresources-web-social]] === Форум, блог, болон нийгмийн сүлжээнүүд * http://forums.freebsd.org/[FreeBSD-ийн форумууд] нь FreeBSD-ийн асуултууд болон техникийн хэлэлцүүлэгт зориулсан вэб дээр суурилсан хэлэлцүүлгийн форумууд юм. * http://planet.freebsdish.org/[FreeBSD-ийн ертөнц] нь FreeBSD-ийн хөгжүүлэгчдийн бичсэн хэдэн арван блог дээрх мэдээллийг цуглуулж харуулах боломжийг бүрдүүлдэг. Олон хөгжүүлэгч юун дээр ажиллаж байгаагаа болон шинэ нөхөөсүүд ба бусад хийгдэж байгаа ажлуудынхаа талаар илгээхдээ үүнийг ашигладаг. * http://www.youtube.com/bsdconferences[YouTube суваг дээрх BSD-ийн хурлууд] нь дэлхий даяар болсон BSD хурлуудын өндөр чанартай видеонуудын цуглуулгыг агуулдаг. Энэ нь гол хөгжүүлэгчдийн FreeBSD дээрх өөрсдийн шинэ ажлуудынхаа талаар илтгэл тавихыг нь үзэх шилдэг арга юм. [[eresources-web-mirrors]] === Албан ёсны толин хуудаснууд [[eresources-email]] == Цахим захидлын хаягууд Дараах хэрэглэгчийн бүлгүүд нь FreeBSD-тэй холбоотой цахим захидлын хаягуудыг өөрсдийн гишүүддээ хангадаг. Жагсаагдсан администратор нь хаягийг буруугаар ашигласан тохиолдолд цуцлах эрхийг эдэлдэг. [.informaltable] [cols="1,1,1,1", frame="none", options="header"] |=== | Домэйн | Боломжууд | Хэрэглэгчийн бүлэг | Администратор |ukug.uk.FreeBSD.org |Зөвхөн дамжуулах | mailto:ukfreebsd@uk.FreeBSD.org[ukfreebsd@uk.FreeBSD.org] |Ли Жонстон mailto:lee@uk.FreeBSD.org[lee@uk.FreeBSD.org] |=== diff --git a/documentation/content/mn/books/handbook/jails/_index.adoc b/documentation/content/mn/books/handbook/jails/_index.adoc index 7185b3eceb..ca5d5081a2 100644 --- a/documentation/content/mn/books/handbook/jails/_index.adoc +++ b/documentation/content/mn/books/handbook/jails/_index.adoc @@ -1,543 +1,543 @@ --- title: Бүлэг 16. Jails буюу Шоронгууд part: хэсэг III. Системийн Удирдлага prev: books/handbook/security next: books/handbook/mac --- [[jails]] = Jails буюу Шоронгууд :doctype: book :toc: macro :toclevels: 1 :icons: font :sectnums: :sectnumlevels: 6 :source-highlighter: rouge :experimental: :skip-front-matter: :toc-title: Гарчиг :table-caption: Хүснэгт :figure-caption: Зураг :example-caption: Жишээ :xrefstyle: basic :relfileprefix: ../ :outfilesuffix: :sectnumoffset: 16 ifeval::["{backend}" == "html5"] :imagesdir: ../../../images/books/handbook/jails/ endif::[] ifeval::["{backend}" == "pdf"] :imagesdir: ../../../../static/images/books/handbook/jails/ endif::[] ifeval::["{backend}" == "epub3"] :imagesdir: ../../../../static/images/books/handbook/jails/ endif::[] include::shared/authors.adoc[] include::shared/releases.adoc[] include::shared/mn/mailing-lists.adoc[] include::shared/mn/teams.adoc[] include::shared/mn/urls.adoc[] toc::[] [[jails-synopsis]] == Ерөнхий агуулга Энэ бүлэг нь FreeBSD-ийн шоронгууд гэж юу болох, тэдгээрийг хэрхэн ашиглах талаар тайлбарлах болно. Шоронгууд буюу заримдаа __chroot орчнууд__ын өргөжүүлсэн орлуулалт гэгддэг энэ боломж нь системийн администраторуудад зориулагдсан маш хүчтэй хэрэгсэл боловч тэдгээрийн үндсэн хэрэглээ нь илүү дэвшилтэт хэрэглэгчдэд бас үр ашигтай байдаг. [IMPORTANT] ==== Шоронгууд нь хүчирхэг хэрэгсэл боловч аюулгүй байдлын хувьд мундаг биш юм. Шоронд хийсэн процесс өөрөө оргох боломжгүй ч шоронгийн гаднах зөвшөөрөлгүй хэрэглэгч шоронд байгаа зөвшөөрөлтэй хэрэглэгчтэй холбогдож улмаар хост орчинд эрх дээшлүүлэх хэд хэдэн арга байдаг гэдгийг мэдэх нь чухал юм. Эдгээр ихэнх халдлагуудыг хост орчин дахь зөвшөөрөлгүй хэрэглэгчдийн хувьд шоронгийн root руу хандах боломжгүй болгосноор шийдэж болох юм. Гэхдээ ерөнхийдөө итгэл олгогдоогүй бөгөөд шоронд зөвшөөрөлтэй хандах хэрэглэгчдэд хост орчинд хандах эрх өгөх ёсгүй юм. ==== Энэ бүлгийг уншсаны дараа, та дараах зүйлсийг мэдэх болно: * Шорон гэж юу болох, FreeBSD-ийн суулгалтуудад ямар зорилгоор ашиглагдаж болох талаар. * Шоронг хэрхэн бүтээх, эхлүүлэх, болон зогсоох талаар. * Шоронгийн гадна болон дотор талаас хийгдэж болох удирдлагын үндсүүд. Шоронгийн тухай ашигтай мэдээллийн өөр бусад эхүүдийг дурдвал: * man:jail[8] гарын авлагын хуудас. Энэ нь `jail` хэрэгслийн бүрэн гүйцэд авлага юм - `jail` нь FreeBSD дээр FreeBSD шоронгуудыг эхлүүлэх, зогсоох, болон хянахад ашиглагдаж болох удирдлагын хэрэгсэл юм. -* Захидлын жагсаалтууд болон тэдгээрийн архивууд. {freebsd-questions} болон бусад захидлын жагсаалтуудын архивууд нь {mailman-lists} дээр байрладаг бөгөөд шоронгуудын талаар маш баялаг материалуудыг агуулсан байдаг. Архивуудаас хайх юм уу эсвэл link:{freebsd-questions-url}[freebsd-questions] захидлын жагсаалт уруу шинэ асуултаа илгээх нь үргэлж сонирхолтой байдаг. +* Захидлын жагсаалтууд болон тэдгээрийн архивууд. {freebsd-questions} болон бусад захидлын жагсаалтуудын архивууд нь {mailing-lists} дээр байрладаг бөгөөд шоронгуудын талаар маш баялаг материалуудыг агуулсан байдаг. Архивуудаас хайх юм уу эсвэл link:{freebsd-questions-url}[freebsd-questions] захидлын жагсаалт уруу шинэ асуултаа илгээх нь үргэлж сонирхолтой байдаг. [[jails-terms]] == Шоронгуудтай холбоотой ойлголтууд Шоронгуудтай холбоотой FreeBSD системийн хэсгүүд, тэдгээрийн дотоод хэсгүүд болон FreeBSD-ийн бусад хэсэгтэй хэрхэн харилцдаг арга замыг илүүтэй ойлгохыг хөнгөвчлөхийн тулд энэ бүлэгт дараах ойлголтуудыг ашиглах болно: man:chroot[8] (тушаал):: Процесс болон түүний бүх үр удмуудын root санг өөрчилдөг FreeBSD-ийн man:chroot[2] системийн дуудлагыг ашигладаг хэрэгсэл. man:chroot[2] (орчин):: "chroot"-д ажиллаж байгаа процессуудын орчин. Үүнд харагдаж байгаа файлын системийн хэсэг, байгаа хэрэглэгч болон бүлэг, сүлжээний интерфэйсүүд болон бусад IPC арга замууд гэх мэт эх үүсвэрүүд ордог. man:jail[8] (тушаал):: Шоронгийн орчин дотор процессуудыг ажиллуулах боломжийг олгох системийн удирдлагын хэрэгсэл. хост (систем, процесс, хэрэглэгч, гэх мэт.):: Шоронгийн системийн хяналтын систем. Хост систем нь байгаа бүх тоног төхөөрөмжийн эх үүсвэрүүдэд хандах боломжтой байдаг бөгөөд шоронгийн орчны болон түүний гаднах процессуудыг хянаж чаддаг. Хост системийн шоронгоос ялгарах нэг чухал ялгаа нь шорон доторх супер хэрэглэгчийн процессуудад хамаарах хязгаарлалтууд хост системийн процессуудын хувьд үйлчилдэггүй явдал юм. хост хийгдсэн (систем, процесс, хэрэглэгч, гэх мэт.):: FreeBSD шоронгоор эх үүсвэрүүдэд ханддаг хандалт нь хязгаарлагддаг процесс, хэрэглэгч эсвэл бусад зүйлс. [[jails-intro]] == Танилцуулга Системийн удирдлага нь хэцүү, самууруулмаар ажил болохоор администраторын амьдралыг хялбар болгох үүднээс олон хүчирхэг хэрэгслүүд хийгдэж хөгжүүлэгдсэн байдаг. Эдгээр хэрэгслүүд нь системийг суулгах, тохируулах, болон арчлахад нэгэн төрлийн өргөтгөлүүдийг ихэвчлэн хангаж өгдөг. Администраторуудын хийх ёстой эдгээр ажлуудын нэг хэсэг нь системийн аюулгүй байдлыг зөв тохируулах явдал юм. Ингэснээр аюулгүй байдлын зөрчлүүдгүйгээр систем өөрийн жинхэнэ зорилгоороо үйлчлэх болно. FreeBSD системийн аюулгүй байдлыг сайжруулахад ашиглагдаж болох хэрэгслүүдийн нэг нь _jails_ буюу _шоронгууд_ юм. Шоронгуудыг FreeBSD 4.X дээр {phk} анх танилцуулсан юм. Гэхдээ тэдгээрийг хүчирхэг, уян хатан дэд систем болгохын тулд FreeBSD 5.X дээр илүү ихээр сайжруулсан билээ. Тэдгээрийн ашигтай тал, ажиллагаа болон найдвартай байдлыг өргөжүүлэн тэдгээрийн хөгжүүлэлт үргэлжилсэн хэвээр болой. [[jails-what]] === Шорон гэж юу вэ BSD-тэй төстэй үйлдлийн системүүд нь 4.2BSD-ийн үеэс эхлэн man:chroot[2] боломжтой болсон билээ. man:chroot[8] хэрэгсэл нь процессуудын олонлогийн root санг өөрчлөхөд ашиглагдаж аюулгүй орчин үүсгэн системийн бусад хэсгээс тэдгээрийг тусгаарладаг. chroot хийгдсэн орчинд үүсгэгдсэн процессууд нь өөрийн орчноос гаднах файлууд болон эх үүсвэрүүдэд хандаж чаддаггүй. Энэ шалтгаанаар chroot хийгдсэн орчинд ажиллаж байгаа үйлчилгээг эвдэх нь халдагчид бүхэл системийг эвдэх боломжийг олгох ёсгүй юм. man:chroot[8] хэрэгсэл нь маш их уян хатан чанар эсвэл төвөгтэй, дэвшилтэт боломжуудыг шаарддаггүй хялбар ажлуудад сайн байдаг. Мөн chroot ойлголтын эхлэлээс эхлээд л chroot хийгдсэн орчноос зугтах олон арга замууд олдсон бөгөөд хэдийгээр тэдгээр нь FreeBSD цөмийн орчин үеийн хувилбаруудад засагдсан боловч man:chroot[2] нь үйлчилгээнүүдийг аюулгүй болгоход зориулагдсан туйлын шийдэл биш нь тодорхой байсан юм. Үүнтэй холбоотой шинэ дэд систем хийгдэх шаардлагатай болсон байна. Энэ нь _шоронгууд_ яагаад хөгжүүлэгдсэн гол шалтгаануудын нэг юм. Шоронгууд нь уламжлалт man:chroot[2] орчны ойлголтуудыг хэд хэдэн аргаар сайжруулдаг. Уламжлалт man:chroot[2] орчинд процессууд нь өөрийн хандаж болох файлын системийн нэг хэсэгт хязгаарлагдаж байдаг. Системийн бусад эх үүсвэрүүд (системийн хэрэглэгчид, ажиллаж байгаа процессууд, эсвэл сүлжээний дэд систем зэрэг) нь chroot хийгдсэн процессууд болон хост системийн процессуудын хооронд хуваалцан хэрэглэгддэг. Шоронгууд нь зөвхөн файлын систем уруу хандах хандалт биш бас хэрэглэгчид, FreeBSD цөмийн сүлжээний дэд систем болон бусад хэд хэдэн зүйлсүүдийг виртуалчлан энэ загварыг өргөтгөдөг байна. Шорон болгосон орчны хандалтыг тааруулахад зориулсан илүү бүрэн гүйцэд нарийн тааруулсан хяналтуудын олонлог байдаг нь <> хэсэгт тайлбарлагдсан байгаа. Шорон дөрвөн элементээр тодорхойлогддог: * Сангийн дэд мод - шоронгийн орж ирдэг эхлэл цэг. Шорон дотор орсны дараа процессийг энэ дэд модноос гадна зугтахыг зөвшөөрдөггүй. Анхдагч man:chroot[2] дизайныг зовоосон аюулгүй байдлын уламжлалт асуудлууд нь FreeBSD шоронгуудад байдаггүй. * Хостын нэр - шорон дотор ашиглагдах хостын нэр. Шоронгууд нь сүлжээний үйлчилгээнүүдийг хост хийхэд (байрлуулах) ихэвчлэн ашиглагддаг болохоор шорон бүрийн хувьд тодорхойлсон нэртэй байх нь системийн администраторт ихээхэн тус болж чадах юм. * IP хаяг - энэ нь шорон бүрт өгөгдөх бөгөөд шоронгийн оршин тогтнох хугацаанд ямар ч талаараа өөрчлөгдөх ёсгүй. Шоронгийн IP хаяг нь ихэвчлэн байгаа сүлжээний интерфэйсийн alias хаяг байх боловч заавал тийм байх шаардлагагүй юм. * Тушаал - шорон дотор ажиллах програм/тушаалын зам. Энэ нь шоронгийн орчны root сантай харьцангуй байх бөгөөд шоронгийн тусгай очны төрлөөс хамаараад асар өөр өөр байж болох юм. Эдгээрээс гадна шоронгууд нь өөрийн гэсэн хэрэглэгчид болон өөрийн `root` хэрэглэгчтэй байж болдог. Мэдээжийн хэрэг `root` хэрэглэгчийн хүч чадал шоронгийн орчин дотор хязгаарлагддаг бөгөөд хост системийн үүднээс авч үзвэл шоронгийн `root` хэрэглэгч нь бүхнийг чадагч хэрэглэгч биш юм. Мөн шоронгийн `root` хэрэглэгчид өөрийнх нь харгалзах man:jail[8] орчноос гадна осолтой үйлдлүүдийг систем дээр хийлгэхийг зөвшөөрдөггүй. `root` хэрэглэгчийн боломжууд болон хязгаарлалтуудын тухай дэлгэрэнгүй мэдээллийг <> хэсэгт доор хэлэлцэх болно. [[jails-build]] == Шоронг үүсгэж хянах нь Зарим администраторууд шоронг дараах хоёр төрөлд хуваадаг: эдгээр нь жинхэнэ FreeBSD системтэй адил төстэй "бүрэн" шоронгууд болон нэг програм юм уу эсвэл үйлчилгээнд зориулагдсан, магадгүй зөвшөөрлүүдтэй ажиллах "үйлчилгээ" шоронгууд юм. Энэ нь зөвхөн ухагдахууны хуваагдал бөгөөд шоронг бүтээх процесс үүнд хамаагүй юм. man:jail[8] гарын авлагын хуудас шоронг бүтээх аргачлалын талаар маш тодорхой зааварласан буй: [source,shell] .... # setenv D /here/is/the/jail # mkdir -p $D <.> # cd /usr/src # make buildworld <.> # make installworld DESTDIR=$D <.> # make distribution DESTDIR=$D <.> # mount -t devfs devfs $D/dev <.> .... <.> Шоронгийн байрлалыг сонгох нь хамгийн шилдэг эхлэх цэг юм. Энэ нь шорон физикээр өөрийн хостын файлын систем дотор байрлах байрлал юм. Сайн сонголт нь [.filename]#/usr/jail/jailname# байж болох бөгөөд энд байгаа _jailname_ нь шоронг таниулж байгаа хостын нэр юм. [.filename]#/usr/# файлын систем нь шоронгийн файлын системийн хувьд ихэвчлэн хангалттай зайтай байдаг. Үндсэндээ "бүрэн" шоронгуудын хувьд энэ шоронгийн файлын систем нь үндсэн FreeBSD системийн андагч суулгацад байдаг бүх файлуудын хуулбар байдаг. <.> Хэрэв та өөрийн хэрэглэгчийн талбарыг `make world` эсвэл `make buildworld` тушаалаар аль хэдийн бүтээсэн бол та энэ алхмыг алгасаж өөрийн хэрэглэгчийн талбарыг шинэ шорон руу суулгаж болно. <.> Энэ тушаал нь шоронгийн физик байрлал болгон сонгосон сангийн дэд модыг файлын систем дээр шаардлагатай хоёртын файлууд, сангууд, гарын авлагын хуудаснууд гэх зэргүүдийг тараан байрлуулах болно. <.> make тушаалд зориулагдсан `distribution` тохируулга нь бүх шаардлагатай тохиргооны файлыг суулгана, өөрөөр хэлбэл энэ нь [.filename]#/usr/src/etc/# сангийн бүх суулгаж болох файлуудыг шоронгийн орчны [.filename]#/etc# сан болох [.filename]#$D/etc/# руу хуулдаг. <.> Шорон дотор man:devfs[8] файлын системийг холбох шаардлагагүй. Нөгөө талаас авч үзвэл дурын, бараг бүх програм өөрийн зорилгоосоо хамааран хамгийн багаар бодоход ядаж ганц төхөөрөмжид хандах шаардлагатай байдаг. Шорон дотроос төхөөрөмжид хандах хандалтыг хянах нь маш чухал байдаг. Учир нь буруу тохируулгууд халдагчид шорон дотор муухай зүйлс хийх боломжийг олгож болох юм. man:devfs[8] дээрх хяналтыг man:devfs[8] болон man:devfs.conf[5] гарын авлагын хуудаснуудад тайлбарласан дүрмийн олонлогуудаар удирддаг. Шорон суулгагдсаны дараа man:jail[8] хэрэгсэл ашиглан түүнийг эхлүүлж болно. man:jail[8] хэрэгсэл дөрвөн зайлшгүй шаардлагатай нэмэлт өгөгдлийг авдаг бөгөөд эдгээр нь <> хэсэгт тайлбарлагдсан байгаа болно. Өөр бусад нэмэлт өгөгдлүүдийг бас зааж өгч болох бөгөөд өөрөөр хэлбэл шорон хийгдсэн процессийг тухайн нэг хэрэглэгчийн итгэмжлэлүүдтэй ажиллуулж болох юм. `_command_`-н нэмэлт өгөгдөл нь шоронгийн төрлөөс хамаарна; _виртуал системийн_ хувьд [.filename]#/etc/rc# нь боломжийн сонголт байна. Энэ нь жинхэнэ FreeBSD системийн эхлүүлэх дарааллыг хуулбарлах учраас тэр юм. _Үйлчилгээ_ шоронгийн хувьд шорон дотор ажиллах үйлчилгээ эсвэл програмаас энэ нь хамаарна. Шоронгууд нь ихэвчлэн ачаалах үед эхлүүлэгддэг бөгөөд FreeBSD [.filename]#rc# арга зам нь үүнийг хийх хялбар аргаар хангадаг. [.procedure] ==== . Ачаалах үед эхлэхээр идэвхжүүлэгдсэн шоронгуудын жагсаалтыг man:rc.conf[5] файлд нэмэх ёстой: + [.programlisting] .... jail_enable="YES" # Set to NO to disable starting of any jails jail_list="www" # Space separated list of names of jails .... + [NOTE] ====== `jail_list` хувьсагчид өгөгдсөн байгаа шоронгийн нэрс зөвхөн үсэг, тооноос бүрдсэн байх ёстой. ====== + . Шорон бүрийг тайлбарласан man:rc.conf[5] тохируулгуудын бүлэг `jail_list`-д жагсаагдсан шорон бүрийн хувьд доор дурдсаныг нэмэх ёстой: + [.programlisting] .... jail_www_rootdir="/usr/jail/www" # jail's root directory jail_www_hostname="www.example.org" # jail's hostname jail_www_ip="192.168.0.10" # jail's IP address jail_www_devfs_enable="YES" # mount devfs in the jail jail_www_devfs_ruleset="www_ruleset" # devfs ruleset to apply to jail .... + man:rc.conf[5]-д тохируулагдсан шоронгуудын анхдагч эхлүүлэлт нь шоронг бүрэн виртуал систем гэж тооцдог шоронгийн [.filename]#/etc/rc# скриптийг ажиллуулах болно. Үйлчилгээний шоронгуудын хувьд `jail__jailname__exec_start` тохируулгыг зохистойгоор тохируулан шоронгийн анхдагч эхлүүлэх тушаалыг өөрчлөх ёстой. + [NOTE] ====== Тохируулгуудын бүрэн жагсаалтыг man:rc.conf[5] гарын авлагын хуудаснаас үзнэ үү. ====== ==== Шоронд зориулагдсан оруулга [.filename]#rc.conf# файлд байгаа тохиолдолд man:service[8] шоронг гараар эхлүүлэх эсвэл зогсооход ашиглагдаж болох юм: [source,shell] .... # service jail start www # service jail stop www .... Одоогоор man:jail[8]-г зогсоох цэвэр зам байхгүй байгаа. Цэвэр системийн зогсолтыг хийх тушаалуудыг шорон дотор ашиглах боломжгүй байдаг болохоор тэр юм. Шоронг зогсоох хамгийн шилдэг арга бол дараах тушаалыг шорон дотроос ажиллуулах эсвэл шоронгийн гадна man:jexec[8] хэрэгслийг ашиглах явдал юм: [source,shell] .... # sh /etc/rc.shutdown .... Үүний талаар дэлгэрэнгүй мэдээллийг man:jail[8] гарын авлагын хуудаснаас олж болно. [[jails-tuning]] == Нарийн тааруулалт болон удирдлага Аль ч шоронд зориулж тохируулж болох хэд хэдэн тохируулгууд байдаг бөгөөд өндөр түвшний програмуудыг хийхийн тулд хост FreeBSD системийг шоронгуудтай цуг хослуулах төрөл бүрийн аргууд бас байдаг. Энэ хэсэг нь дараах зүйлсийг үзүүлнэ: * Ажиллагаа болон шоронгийн суулгалтаар хийгдсэн аюулгүй байдлын хязгаарлалтуудыг тааруулахад зориулагдсан зарим тохируулгууд. * FreeBSD-ийн портын цуглуулгад байх, шорон дээр суурилсан шийдлүүдийг хийхэд ашиглагдаж болох шорон удирдах зарим нэг өндөр түвшний програмууд. [[jails-tuning-utilities]] === FreeBSD дээр шорон тааруулах системийн хэрэгслүүд Шоронгийн тохиргооны нарийн сайн тааруулалтыг man:sysctl[8] хувьсагчуудыг тохируулснаар ихэвчлэн хийдэг. Бүх хамаатай тохируулгуудыг зохион байгуулах үндэс болон sysctl-ийн тусгай дэд мод байдаг: энэ нь FreeBSD цөмийн тохируулгуудын `security.jail.*` шатлал юм. Энд шоронтой холбоотой гол sysctl-уудын жагсаалтыг тэдгээрийн анхдагч утгуудтайгаар харуулав. Нэрс нь өөрийгөө тайлбарласан байгаа, гэхдээ тэдгээрийн талаар илүү мэдээллийг man:jail[8] болон man:sysctl[8] гарын авлагын хуудаснуудаас лавлана уу. * `security.jail.set_hostname_allowed: 1` * `security.jail.socket_unixiproute_only: 1` * `security.jail.sysvipc_allowed: 0` * `security.jail.enforce_statfs: 2` * `security.jail.allow_raw_sockets: 0` * `security.jail.chflags_allowed: 0` * `security.jail.jailed: 0` `root` хэрэглэгчид анхдагчаар ноогдуулсан хязгаарлалтуудын заримыг нэмэх эсвэл хасахын тулд эдгээр хувьсагчуудыг _хост системийн_ администратор ашиглаж болно. Зарим нэг хязгаарлалтуудыг хасаж болохгүйг тэмдэглэе. `root` хэрэглэгчид man:jail[8] дотор файлын системүүдийг холбох эсвэл салгахыг зөвшөөрдөггүй. Шорон доторх `root` хэрэглэгч man:devfs[8] дүрмийн олонлогуудыг дуудах эсвэл буцааж болиулах, галт ханын дүрмүүдийг тохируулах, эсвэл цөмийн `securelevel` хувьсагчийг тохируулах зэрэг цөм дэх өгөгдлийн өөрчлөлтүүдийг шаарддаг өөр олон бусад удирдлагын ажлуудыг хийж чадахгүй байж болох юм. FreeBSD-ийн үндсэн систем нь идэвхтэй шоронгуудын тухай мэдээллийг үзүүлэх болон удирдлагын тушаалуудыг ажиллуулахын тулд шоронд залгагдаж болох хялбар хэрэгслүүдийн цуглуулгыг агуулдаг. man:jls[8] болон man:jexec[8] тушаалууд нь FreeBSD-ийн үндсэн системийн хэсэг бөгөөд дараах хялбар ажлуудыг хийж гүйцэтгэхэд ашиглагдаж болно: * Идэвхтэй байгаа шоронгуудын жагсаалт болон тэдгээрийн харгалзах шорон танигч (JID), IP хаяг, хостын нэр болон замыг үзүүлнэ. * Өөрийнх нь хост системээс ажиллаж байгаа шоронд залгагдаж шорон дотор тушаал ажиллуулах юм уу эсвэл шоронгийн удирдлагын ажлуудыг шорон дотор ажиллуулна. `root` хэрэглэгч шоронг цэвэрхэн зогсоож унтраахыг хүсэх үед энэ нь ялангуяа ашигтай байдаг. Шорон дотор удирдлага хийхийн тулд түүн дотор бүрхүүл эхлүүлэхэд man:jexec[8] хэрэгсэл бас ашиглагдаж болдог; жишээ нь: + [source,shell] .... # jexec 1 tcsh .... [[jails-tuning-admintools]] === FreeBSD-ийн портын цуглуулга дахь өндөр түвшний удирдлагын хэрэгслүүд Шорон удирдлагад зориулагдсан гуравдагч талуудын олон хэрэгслүүдийн дундаас хамгийн бүрэн гүйцэд, ашигтай нь package:sysutils/jailutils[] юм. Энэ нь man:jail[8]-ийн удирдлагад хувь нэмэр болсон жижиг програмуудын цуглуулга юм. Дэлгэрэнгүй мэдээллийн талаар түүний вэб хуудсанд хандана уу. [[jails-application]] == Шоронгийн хэрэглээ [[jails-service-jails]] === Үйлчилгээ шоронгууд Энэхүү хэсэг нь {simon} хөгжүүлэгчийн http://simon.nitro.dk/service-jails.html[http://simon.nitro.dk/service-jails.html] хуудас болон Кен Том mailto:locals@gmail.com[locals@gmail.com]-ийн бичсэн шинэчилсэн нийтлэл дээр гаргасан санаа дээр тулгуурласан юм. Энэ хэсэг нь man:jail[8] боломжийг ашиглан аюулгүй байдлын нэмэлт давхарга бүхий FreeBSD систем хэрхэн тохируулах талаар тайлбарлах болно. Өгөгдсөн систем нь ядаж RELENG_6_0 бөгөөд энэ бүлгийн өмнө дурдсан мэдээллийг уншигч авхай сайн ойлгосон гэж тооцдог. [[jails-service-jails-design]] ==== Шийдэл Шоронгуудын гол асуудлуудын нэг нь тэдгээрийн шинэчлэлтийн процессийн удирдлага юм. Шорон бүр нь шинэчлэгдэх болгондоо дахин бүр эхнээсээ бүтээгдэх хэрэгтэй болдог учраас тэр юм. Нэг шоронгийн хувьд энэ нь ихэвчлэн асуудал болдоггүй, шинэчлэлтийн процесс их хялбар байдаг боловч олон шоронгууд үүсгэсэн бол их хугацаа шаардсан, төвөгтэй ажиллагаа байдаг. [WARNING] ==== Энэхүү тохиргоо нь FreeBSD-ийн маш сайн туршлага болон түүний боломжуудын хэрэглээг шаарддаг. Хэрэв доор үзүүлсэн алхмууд нь хэтэрхий төвөгтэй санагдвал FreeBSD шоронгуудыг удирдах илүү хялбар боломжийг олгодог бөгөөд энэ тохиргооных шиг төвөгтэй биш package:sysutils/qjail[] эсвэл package:sysutils/ezjail[] зэрэг хялбар системийг үзэхийг зөвлөж байна. ==== Гол санаа нь иймэрхүү асуудлуудыг шоронгууд хооронд аль болох ихээр аюулгүй аргаар хуваалцах замаар шийдэх явдал юм - шинэчлэлт хялбар байхаар зөвхөн уншигдах man:mount_nullfs[8] холболтуудыг ашиглах болон ганц үйлчилгээнүүдийг тусдаа шоронд хийх нь илүүтэй болох юм. Мөн энэ нь шоронгуудыг нэмэх эсвэл устгах болон тэдгээрийг шинэчлэх хялбар боломжийг олгодог юм. [NOTE] ==== Ийм зорилгоор ашиглаж болох үйлчилгээнүүдийг дурдвал: HTTP сервер, DNS сервер, SMTP сервер гэх мэт байж болох юм. ==== Энэ хэсэгт тайлбарласан тохиргооны зорилгуудыг дурдвал: * Шоронгийн хялбар, ойлгоход амархан бүтцийг үүсгэх. Энэ нь шорон бүрийн хувьд болон тэдгээр дээр бүрэн хэмжээний installworld үйлдлийг _ажиллуулахгүй_ байх гэсэн үг юм. * Шинэ шоронгууд нэмэх эсвэл байгааг нь устгах процессийг хялбар болгох. * Байгаа шоронгуудыг шинэчлэх эсвэл сайжруулах процессийг хялбар болгох. * Өөрчлөн тохируулсан FreeBSD салбарыг ажиллуулах боломжтой болгох. * Нэвтрэн орох, эвдлэн орох боломжийг аль болох ихээр багасгаж аюулгүй байдлын хувьд паранойд байх. * Зай болон inode-уудыг аль болох ихээр хэмнэх. Урьд нь дурдагдсаны адил энэ шийдэл нь шорон бүрт зөвхөн уншигдахаар (nullfs гэгддэг) холбогдох ганц мастер загвар болон шорон бүрийн хувьд нэг уншигдах, бичигдэх төхөөрөмжтэй байх бүтэц дээр үндсэндээ тулгуурласан юм. Төхөөрөмж нь тусдаа физик диск, хуваалт, эсвэл vnode дээр тулгуурласан man:md[4] төхөөрөмж байж болох юм. Энэ жишээн дээр бид уншигдах, бичигдэх nullfs холболтуудыг ашиглах болно. Файлын системийн дүр зураг доор дурдсан хэсэгт тайлбарласан буй: * Шорон бүр [.filename]#/home/j# сангийн доор холбогдох болно. * [.filename]#/home/j/mroot# нь шорон бүрийн хувьд загвар ба бүх шоронгуудын хувьд зөвхөн уншигдах хуваалт юм. * [.filename]#/home/j# сангийн доор шорон бүрийн хувьд хоосон сан үүсгэгдэнэ. * Шорон бүр системийн уншигдах, бичигдэх хэсэг уруу холбогдох [.filename]#/s# сантай байна. * Шорон бүр [.filename]#/home/j/skel# дээр тулгуурласан өөрийн уншигдах, бичигдэх системтэй байх болно. * Шоронгийн талбар бүр (шорон бүрийн уншигдах, бичигдэх хэсэг) [.filename]#/home/js#-д үүсгэгдэх болно. [NOTE] ==== Энэ нь шоронгууд [.filename]#/home# хуваалтын доор үндэслэсэн гэж үзнэ. Үүнийг мэдээж өөрчилж болох боловч ингэх тохиолдолд доор дурдсан жишээ бүрийн хувьд өөрчлөгдөх ёстой болно. ==== [[jails-service-jails-template]] ==== Загвар үүсгэх нь Энэ хэсэг нь шоронд зориулагдан ашиглагдах, зөвхөн уншигдах хэсэг болох мастер загварыг үүсгэхэд хэрэгтэй алхмуудыг тайлбарлах болно. FreeBSD системийг сүүлийн -RELEASE салбар уруу шинэчлэх нь үргэлж зөв санаа байдаг. Үүнийг хийхийн тулд гарын авлагын crossref:cutting-edge[makeworld,бүлгээс] лавлах хэрэгтэй. Шинэчлэл хийх шаардлагагүй бол гүйцэтгэлийг гүйцээхийн тулд buildworld хийх шаардлагатай. Мөн package:sysutils/cpdup[] багц хэрэгтэй. FreeBSD-ийн портын цуглуулгыг татаж авахдаа бид man:portsnap[8] хэрэгслийг ашиглах болно. Эхлэн суралцагчид гарын авлагын crossref:#portsnap[portsnap,Portsnap бүлгийг] унших нь зүйтэй юм. [.procedure] ==== . Эхлээд бидний шоронгуудад зориулсан FreeBSD-ийн хоёртын файлуудыг агуулах зөвхөн уншигдах файлын системийн сангийн бүтцийг үүсгэх хэрэгтэй бөгөөд дараа нь FreeBSD-ийн эх модны сан уруу сангаа сольж ороод зөвхөн уншигдах файлын системийг шоронгийн загвар уруу суулгах хэрэгтэй: + [source,shell] .... # mkdir /home/j /home/j/mroot # cd /usr/src # make installworld DESTDIR=/home/j/mroot .... + . Дараа нь шоронгуудад зориулж FreeBSD-ийн портын цуглуулга болон mergemaster-т шаардлагатай, FreeBSD-ийн эх модыг бэлдэх хэрэгтэй: + [source,shell] .... # cd /home/j/mroot # mkdir usr/ports # portsnap -p /home/j/mroot/usr/ports fetch extract # cpdup /usr/src /home/j/mroot/usr/src .... + . Системийн уншигдах, бичигдэх хэсэгт зориулж араг ясыг үүсгэх хэрэгтэй: + [source,shell] .... # mkdir /home/j/skel /home/j/skel/home /home/j/skel/usr-X11R6 /home/j/skel/distfiles # mv etc /home/j/skel # mv usr/local /home/j/skel/usr-local # mv tmp /home/j/skel # mv var /home/j/skel # mv root /home/j/skel .... + . Байхгүй байгаа тохиргооны файлуудыг суулгахын тулд mergemaster-г ашиглах хэрэгтэй. Дараа нь mergemaster-ийн үүсгэсэн илүү сангуудыг арилгах хэрэгтэй: + [source,shell] .... # mergemaster -t /home/j/skel/var/tmp/temproot -D /home/j/skel -i # cd /home/j/skel # rm -R bin boot lib libexec mnt proc rescue sbin sys usr dev .... + . Одоо уншигдах, бичигдэх файлын системийг зөвхөн уншигдах файлын систем уруу заасан симболын холбоос үүсгэх хэрэгтэй. Симболын холбоосууд нь зөв [.filename]#s/# байрлалуудад үүсгэгдсэн эсэхийг шалгаарай. Жинхэнэ сангууд юм уу эсвэл сангуудын үүсгэлт буруу байрлалуудад хийгдсэн бол суулгалт амжилтгүй болоход хүргэнэ. + [source,shell] .... # cd /home/j/mroot # mkdir s # ln -s s/etc etc # ln -s s/home home # ln -s s/root root # ln -s ../s/usr-local usr/local # ln -s ../s/usr-X11R6 usr/X11R6 # ln -s ../../s/distfiles usr/ports/distfiles # ln -s s/tmp tmp # ln -s s/var var .... + . Сүүлийн шатанд доор дурдсан агуулга бүхий ерөнхий [.filename]#/home/j/skel/etc/make.conf# файлыг үүсгэх хэрэгтэй: + [.programlisting] .... WRKDIRPREFIX?= /s/portbuild .... + `WRKDIRPREFIX`-г ийм байдлаар тохируулах нь шорон бүрт FreeBSD-ийн портуудыг эмхэтгэх боломжтой болгох юм. Портуудын сан нь зөвхөн уншигдах системийн хэсэг гэдгийг санаарай. `WRKDIRPREFIX`-д зориулсан өөр зам нь шорон бүрийн уншигдах, бичигдэх хэсэгт бүтээлтүүдийг хийх боломжийг олгох юм. ==== [[jails-service-jails-creating]] ==== Шорон үүсгэх нь Одоо бид бүрэн гүйцэд FreeBSD-ийн шоронгийн загвартай болсон болохоор [.filename]#/etc/rc.conf# файлд бид шоронгуудыг суулган тохируулах боломжтой болно. Энэ жишээ нь "NS", "MAIL" болон "WWW" гэсэн 3 шоронгийн үүсгэлтийг харуулж байна. [.procedure] ==== . Доор дурдсан мөрүүдийг [.filename]#/etc/fstab# файлд нэмэх хэрэгтэй. Ингэснээр шоронгуудад зориулсан зөвхөн уншигдах загвар болон уншигдах, бичигдэх зай тохирох шоронгуудад ашиглах боломжтой болох юм: + [.programlisting] .... /home/j/mroot /home/j/ns nullfs ro 0 0 /home/j/mroot /home/j/mail nullfs ro 0 0 /home/j/mroot /home/j/www nullfs ro 0 0 /home/js/ns /home/j/ns/s nullfs rw 0 0 /home/js/mail /home/j/mail/s nullfs rw 0 0 /home/js/www /home/j/www/s nullfs rw 0 0 .... + [NOTE] ====== 0 pass буюу өнгөрөх дугаараар тэмдэглэгдсэн хуваалтууд нь ачаалах үед man:fsck[8] хэрэгслээр шалгагддаггүй бөгөөд 0 dump дугаараар тэмдэглэгдсэн хуваалтууд нь man:dump[8] хэрэгслээр нөөцлөгддөггүй. Бид fsck хэрэгслээр nullfs холболтуудыг шалгах эсвэл dump хэрэгслээр шоронгуудын зөвхөн уншигдах nullfs холболтуудыг нөөцлөхийг хүсэхгүй байгаа билээ. Дээр дурдсан [.filename]#fstab# оруулга бүрийн сүүлийн хоёр багана "0 0" гэж тэмдэглэгдсэн учир нь энэ юм. ====== + . Шоронгуудыг [.filename]#/etc/rc.conf#-д тохируулах хэрэгтэй: + [.programlisting] .... jail_enable="YES" jail_set_hostname_allow="NO" jail_list="ns mail www" jail_ns_hostname="ns.example.org" jail_ns_ip="192.168.3.17" jail_ns_rootdir="/usr/home/j/ns" jail_ns_devfs_enable="YES" jail_mail_hostname="mail.example.org" jail_mail_ip="192.168.3.18" jail_mail_rootdir="/usr/home/j/mail" jail_mail_devfs_enable="YES" jail_www_hostname="www.example.org" jail_www_ip="62.123.43.14" jail_www_rootdir="/usr/home/j/www" jail_www_devfs_enable="YES" .... + [WARNING] ====== `jail__name__rootdir` хувьсагчийн утга [.filename]#/home#-ийн оронд [.filename]#/usr/home# гэсэн шалтгаан нь FreeBSD-ийн үндсэн суулгац дээр [.filename]#/home# сангийн физик зам нь [.filename]#/usr/home# гэж байдагт оршиж байгаа юм. `jail__name__rootdir` хувьсагчийн утга симбол холбоос бүхий зам байхаар тохируулагдсан байх _ёсгүй_ бөгөөд хэрэв ингэвэл шоронгууд ажиллаж эхлэхгүй байх болно. Энэ хувьсагчийн утгад тавьж болох утгыг олохдоо man:realpath[1]-г ашиглах хэрэгтэй. Дэлгэрэнгүй мэдээллийг FreeBSD-SA-07:01.jail Аюулгүй байдлын Зөвлөгөөнөөс үзнэ үү. ====== + . Шорон бүрийн зөвхөн уншигдах файлын системд зориулсан, шаардлагатай холбох цэгүүдийг үүсгэнэ: + [source,shell] .... # mkdir /home/j/ns /home/j/mail /home/j/www .... + . Шорон бүрт уншигдах, бичигдэх загварыг суулгах хэрэгтэй. package:sysutils/cpdup[] хэрэгслийн хэрэглээг энд тэмдэглэх нь зүйтэй юм. Энэ нь сан бүрийн зөв хуулбарыг хийхэд тусалдаг: + [source,shell] .... # mkdir /home/js # cpdup /home/j/skel /home/js/ns # cpdup /home/j/skel /home/js/mail # cpdup /home/j/skel /home/js/www .... + . Энэ үед шоронгууд нь бүтээгдэж ажиллахад бэлтгэгдсэн байна. Эхлээд шорон бүрийн хувьд шаардлагатай файлын системийг холбож дараа нь тэдгээрийг jail rc скрипт ашиглан эхлүүлэх хэрэгтэй: + [source,shell] .... # mount -a # service jail start .... ==== Шоронгууд нь одоо ажиллаж байх ёстой. Тэдгээрийг зөв эхэлсэн эсэхийг шалгахын тулд man:jls[8] тушаалыг ашиглана. Үүний гаралт доор дурдсантай төстэй байх ёстой: [source,shell] .... # jls JID IP Address Hostname Path 3 192.168.3.17 ns.example.org /home/j/ns 2 192.168.3.18 mail.example.org /home/j/mail 1 62.123.43.14 www.example.org /home/j/www .... Энэ үед шорон бүр рүү нэвтэрч, шинэ хэрэглэгчид нэмэх эсвэл дэмонуудыг тохируулах боломжтой болсон байх ёстой. `JID` багана нь ажиллаж байгаа шорон бүрийн шорон таниулах дугаарыг илэрхийлдэг. `JID` нь 3 бүхий шорон дотор удирдлагын ажлуудыг гүйцэтгэхийн тулд дараах тушаалыг ашиглах хэрэгтэй: [source,shell] .... # jexec 3 tcsh .... [[jails-service-jails-upgrading]] ==== Шинэчлэх нь Аюулгүй байдлын асуудлаас болоод эсвэл одоо байгаа шоронгуудад ашигтай шинэ боломжууд хийгдсэнээс болоод системээ FreeBSD-ийн шинэ хувилбар уруу шинэчлэх шаардлага заримдаа гардаг. Энэ тохиргооны дизайн нь байгаа шоронгуудыг хялбар аргаар шинэчлэх боломжийг олгодог. Мөн шоронгуудыг сүүлийн минутанд зогсоодог болохоор энэ нь тэдгээрийн зогсох хугацааг багасгадаг. Бас ямар нэг асуудал гарахад энэ нь хуучин хувилбар уруугаа шилжих боломжийг олгодог. [.procedure] ==== . Эхний алхам нь хост системийг журмын дагуу шинэчлэх явдал юм. Дараа шинэ, түр зуурын, зөвхөн уншигдах загварыг [.filename]#/home/j/mroot2#-д үүсгэх хэрэгтэй. + [source,shell] .... # mkdir /home/j/mroot2 # cd /usr/src # make installworld DESTDIR=/home/j/mroot2 # cd /home/j/mroot2 # cpdup /usr/src usr/src # mkdir s .... + `installworld` ажиллахдаа цөөн хэрэггүй сангуудыг үүсгэдэг бөгөөд эдгээрийг устгах хэрэгтэй: + [source,shell] .... # chflags -R 0 var # rm -R etc var root usr/local tmp .... + . Мастер файлын системд зориулж уншигдах, бичигдэх симболын холбоосуудыг дахин үүсгэх хэрэгтэй: + [source,shell] .... # ln -s s/etc etc # ln -s s/root root # ln -s s/home home # ln -s ../s/usr-local usr/local # ln -s ../s/usr-X11R6 usr/X11R6 # ln -s s/tmp tmp # ln -s s/var var .... + . Шоронгуудыг зогсоох зөв үе нь одоо байна: + [source,shell] .... # service jail stop .... + . Эх файлын системүүдийг салгах хэрэгтэй: + [source,shell] .... # umount /home/j/ns/s # umount /home/j/ns # umount /home/j/mail/s # umount /home/j/mail # umount /home/j/www/s # umount /home/j/www .... + [NOTE] ====== Уншигдах, бичигдэх системүүд нь зөвхөн уншигдах системд залгагдсан ([.filename]#/s#) бөгөөд эхлээд салгагдах ёстой. ====== + . Хуучин зөвхөн уншигдах файлын системийг шилжүүлж шинээр сольно. Ямар нэг юм болохоо байхад энэ нь хуучин, зөвхөн уншигдах файлын системийн нөөц болон архив маягаар ашиглагдах юм. Энд ашиглагдсан нэрлэх аргачлал нь шинэ, зөвхөн уншигдах файлын систем үүсгэгдэх үеийнхтэй тохирдог. Зай болон inode-уудыг хэмнэхийн тулд FreeBSD-ийн эх портын цуглуулгыг шинэ файлын систем уруу шилжүүлэх хэрэгтэй: + [source,shell] .... # cd /home/j # mv mroot mroot.20060601 # mv mroot2 mroot # mv mroot.20060601/usr/ports mroot/usr .... + . Энэ үед шинэ, зөвхөн уншигдах загвар бэлэн болох бөгөөд үлдсэн цорын ганц ажил нь файлын системүүдийг дахин холбож шоронгуудыг эхлүүлэх явдал юм: + [source,shell] .... # mount -a # service jail start .... ==== Шоронгууд зөв эхэлсэн эсэхийг шалгахын тулд man:jls[8]-г ашиглана. Шорон бүрт mergemaster-г ажиллуулахаа мартуузай. Тохиргооны файлууд болон rc.d скриптүүдийг шинэчлэх хэрэгтэй болно. diff --git a/documentation/content/mn/books/handbook/mirrors/_index.adoc b/documentation/content/mn/books/handbook/mirrors/_index.adoc index 7a421a9c7a..0b9ffb90b4 100644 --- a/documentation/content/mn/books/handbook/mirrors/_index.adoc +++ b/documentation/content/mn/books/handbook/mirrors/_index.adoc @@ -1,1394 +1,1394 @@ --- title: Хавсралт A. FreeBSD-г олж авах нь part: хэсэг V. Хавсралтууд prev: books/handbook/partv next: books/handbook/bibliography --- [appendix] [[mirrors]] = Se procurer FreeBSD :doctype: book :icons: font :sectnums: :sectnumlevels: 6 :source-highlighter: rouge :experimental: :skip-front-matter: :toc-title: Гарчиг :table-caption: Хүснэгт :figure-caption: Зураг :example-caption: Жишээ :xrefstyle: basic :relfileprefix: ../ :outfilesuffix: :sectnumoffset: A include::shared/mirrors.adoc[] include::shared/authors.adoc[] include::shared/releases.adoc[] include::shared/mn/mailing-lists.adoc[] include::shared/mn/teams.adoc[] include::shared/mn/urls.adoc[] [[mirrors-cdrom]] == CDROM болон DVD Нийтлэгчид === CD болон DVD цуглуулгууд FreeBSD CD болон DVD цуглуулгуудыг олон жижиглэн худалдаалагчдаас шууд худалдан авах боломжтой байдаг: * FreeBSD Mall, Inc. + 2420 Sand Creek Rd C-1 #347 + Brentwood, CA 94513 + USA + Утас: +1 925 240-6652 + Факс: +1 925 674-0821 + Email: + WWW: http://www.freebsdmall.com/ * Dr. Hinner EDV + Kochelseestr. 11 + D-81371 München + Germany + Утас: (0177) 428 419 0 + WWW: http://www.hinner.de/linux/freebsd.html * Linux Distro UK + 42 Wharfedale Road + Margate + CT9 2TB + United Kingdom + WWW: https://linux-distro.co.uk/ * The Linux Emporium + The Techno Centre, Puma Way + Parkside + CV1 2TT + United Kingdom + Утас: +44 (0)247 615 8121 + Факс: +44 1491 837016 + WWW: http://www.linuxemporium.co.uk/products/bsd/ * LinuxCenter.Ru + Galernaya Street, 55 + Saint-Petersburg + 190000 + Russia + Утас: +7-812-3125208 + Email: + WWW: http://linuxcenter.ru/shop/freebsd [[mirrors-ftp]] == FTP сайтууд FreeBSD-д зориулсан абан ёсны эхүүдийг дэлхий даяар байрласан толин тусгал сайтуудаас авч болно. link:ftp://ftp.FreeBSD.org/pub/FreeBSD/[ftp://ftp.FreeBSD.org/pub/FreeBSD/] сайт нь сайн холбогдсон бөгөөд маш олон тооны холболтуудыг зөвшөөрдөг. Гэхдээ та "илүү ойр" толин тусгал сайтыг хайж олсон нь дээр биз ээ (ялангуяа хэрэв та ямар нэгэн толин тусгал маягийн сайт тохируулж ажиллуулахыг хүсвэл). Мөн FreeBSD нь дараах толин тусгал сайтууд дахь нэргүй FTP-ээс авч болохоор байдаг. Хэрэв та нэргүй FTP-ээс FreeBSD-г авахыг сонговол өөртөө аль болох ойр сайтыг ашиглаад үзээрэй. "Primary Mirror Sites" буюу үндсэн толин тусгал сайтууд дахь толин тусгал сайтууд нь бүхэл FreeBSD архивыг (архитектур болгонд зориулсан одоо байгаа бүх хувилбарууд) ихэвчлэн агуулдаг боловч танай улс юм уу эсвэл бүсэд байрлаж байгаа сайтаас татаж авахад танд илүү хурдан байх болов уу. Бүсийн сайтууд нь хамгийн түгээмэл архитектуруудад зориулсан хамгийн сүүлийн үеийн хувилбаруудыг агуулдаг боловч FreeBSD-ийн бүх архивыг агуулаагүй байж болох юм. Бүх сайтууд нь нэргүй FTP-ээр хандах боломжийг олгодог. Зарим сайтууд нь бас бусад аргуудаар хандах боломжийг олгодог. Сайт болгоны хувьд хандах аргууд нь хостын нэрийн дараа хаалтанд өгөгдсөн байгаа болно. <>, <>, <>, <>, <>, <>, <>, <>, <>, <>, <>, <>, <>, <>, <>, <>, <>, <>, <>, <>, <>, <>, <>, <>, <>, <>, <>, <>, <>, <>, <>, <>, <>, <>. (as of UTC) [[central]] *{central}* {central-ftp} (ftp / ftpv6 / {central-http} / {central-httpv6}) [[primary]] *{mirrors-primary}* In case of problems, please contact the hostmaster `<{mirrors-primary-email}>` for this domain. * {mirrors-primary-ftp1} (ftp) * {mirrors-primary-ftp2} (ftp) * {mirrors-primary-ftp3} (ftp) * {mirrors-primary-ftp4} (ftp / ftpv6 / {mirrors-primary-ftp4-http} / {mirrors-primary-ftp4-httpv6}) * {mirrors-primary-ftp5} (ftp) * {mirrors-primary-ftp6} (ftp) * {mirrors-primary-ftp7} (ftp) * {mirrors-primary-ftp10} (ftp / ftpv6 / {mirrors-primary-ftp10-http} / {mirrors-primary-ftp10-httpv6}) * {mirrors-primary-ftp11} (ftp) * {mirrors-primary-ftp13} (ftp) * {mirrors-primary-ftp14} (ftp / {mirrors-primary-ftp14-http}) [[armenia]] *{mirrors-armenia}* In case of problems, please contact the hostmaster `<{mirrors-armenia-email}>` for this domain. * {mirrors-armenia-ftp} (ftp / {mirrors-armenia-ftp-http} / rsync) [[australia]] *{mirrors-australia}* In case of problems, please contact the hostmaster `<{mirrors-australia-email}>` for this domain. * {mirrors-australia-ftp} (ftp) * {mirrors-australia-ftp2} (ftp) * {mirrors-australia-ftp3} (ftp) [[austria]] *{mirrors-austria}* In case of problems, please contact the hostmaster `<{mirrors-austria-email}>` for this domain. * {mirrors-austria-ftp} (ftp / ftpv6 / {mirrors-austria-ftp-http} / {mirrors-austria-ftp-httpv6}) [[brazil]] *{mirrors-brazil}* In case of problems, please contact the hostmaster `<{mirrors-brazil-email}>` for this domain. * {mirrors-brazil-ftp2} (ftp / {mirrors-brazil-ftp2-http}) * {mirrors-brazil-ftp3} (ftp / rsync) * {mirrors-brazil-ftp4} (ftp) [[czech-republic]] *{mirrors-czech}* In case of problems, please contact the hostmaster `<{mirrors-czech-email}>` for this domain. * {mirrors-czech-ftp} (ftp / {mirrors-czech-ftpv6} / {mirrors-czech-ftp-http} / {mirrors-czech-ftp-httpv6} / rsync / rsyncv6) * {mirrors-czech-ftp2} (ftp / {mirrors-czech-ftp2-http}) [[denmark]] *{mirrors-denmark}* In case of problems, please contact the hostmaster `<{mirrors-denmark-email}>` for this domain. * {mirrors-denmark-ftp} (ftp / ftpv6 / {mirrors-denmark-ftp-http} / {mirrors-denmark-ftp-httpv6}) [[estonia]] *{mirrors-estonia}* In case of problems, please contact the hostmaster `<{mirrors-estonia-email}>` for this domain. * {mirrors-estonia-ftp} (ftp) [[finland]] *{mirrors-finland}* In case of problems, please contact the hostmaster `<{mirrors-finland-email}>` for this domain. * {mirrors-finland-ftp} (ftp) [[france]] *{mirrors-france}* In case of problems, please contact the hostmaster `<{mirrors-france-email}>` for this domain. * {mirrors-france-ftp} (ftp) * {mirrors-france-ftp1} (ftp / {mirrors-france-ftp1-http} / rsync) * {mirrors-france-ftp3} (ftp) * {mirrors-france-ftp5} (ftp) * {mirrors-france-ftp6} (ftp / rsync) * {mirrors-france-ftp7} (ftp) * {mirrors-france-ftp8} (ftp) [[germany]] *{mirrors-germany}* In case of problems, please contact the hostmaster `<{mirrors-germany-email}>` for this domain. * ftp://ftp.de.FreeBSD.org/pub/FreeBSD/ (ftp) * ftp://ftp1.de.FreeBSD.org/freebsd/ (ftp / http://www1.de.FreeBSD.org/freebsd/ / rsync://rsync3.de.FreeBSD.org/freebsd/) * ftp://ftp2.de.FreeBSD.org/pub/FreeBSD/ (ftp / http://ftp2.de.FreeBSD.org/pub/FreeBSD/ / rsync) * ftp://ftp4.de.FreeBSD.org/FreeBSD/ (ftp / http://ftp4.de.FreeBSD.org/pub/FreeBSD/) * ftp://ftp5.de.FreeBSD.org/pub/FreeBSD/ (ftp) * ftp://ftp7.de.FreeBSD.org/pub/FreeBSD/ (ftp / http://ftp7.de.FreeBSD.org/pub/FreeBSD/) * ftp://ftp8.de.FreeBSD.org/pub/FreeBSD/ (ftp) [[greece]] *{mirrors-greece}* In case of problems, please contact the hostmaster `<{mirrors-greece-email}>` for this domain. * {mirrors-greece-ftp} (ftp) * {mirrors-greece-ftp2} (ftp) [[hong-kong]] *{mirrors-hongkong}* {mirrors-hongkong-ftp} (ftp) [[ireland]] *{mirrors-ireland}* In case of problems, please contact the hostmaster `<{mirrors-ireland-email}>` for this domain. * {mirrors-ireland-ftp} (ftp / rsync) [[japan]] *{mirrors-japan}* In case of problems, please contact the hostmaster `<{mirrors-japan-email}>` for this domain. * {mirrors-japan-ftp} (ftp) * {mirrors-japan-ftp2} (ftp) * {mirrors-japan-ftp3} (ftp) * {mirrors-japan-ftp4} (ftp) * {mirrors-japan-ftp5} (ftp) * {mirrors-japan-ftp6} (ftp) * {mirrors-japan-ftp7} (ftp) * {mirrors-japan-ftp8} (ftp) * {mirrors-japan-ftp9} (ftp) [[korea]] *{mirrors-korea}* In case of problems, please contact the hostmaster `<{mirrors-korea-email}>` for this domain. * {mirrors-korea-ftp} (ftp / rsync) * {mirrors-korea-ftp2} (ftp / {mirrors-korea-ftp2-http}) [[latvia]] *{mirrors-latvia}* In case of problems, please contact the hostmaster `<{mirrors-latvia-email}>` for this domain. * {mirrors-latvia-ftp} (ftp / {mirrors-latvia-ftp-http}) [[lithuania]] *{mirrors-lithuania}* In case of problems, please contact the hostmaster `<{mirrors-lithuania-email}>` for this domain. * {mirrors-lithuania-ftp} (ftp / {mirrors-lithuania-ftp-http}) [[netherlands]] *{mirrors-netherlands}* In case of problems, please contact the hostmaster `<{mirrors-netherlands-email}>` for this domain. * {mirrors-netherlands-ftp} (ftp / {mirrors-netherlands-ftp-http} / rsync) * {mirrors-netherlands-ftp2} (ftp) [[new-zealand]] *{mirrors-new-zealand}* * {mirrors-new-zealand-ftp} (ftp / {mirrors-new-zealand-ftp-http}) [[norway]] *{mirrors-norway}* In case of problems, please contact the hostmaster `<{mirrors-norway-email}>` for this domain. * {mirrors-norway-ftp} (ftp / rsync) [[poland]] *{mirrors-poland}* In case of problems, please contact the hostmaster `<{mirrors-poland-email}>` for this domain. * {mirrors-poland-ftp} (ftp) * ftp2.pl.FreeBSD.org [[russia]] *{mirrors-russia}* In case of problems, please contact the hostmaster `<{mirrors-russia-email}>` for this domain. * {mirrors-russia-ftp} (ftp / {mirrors-russia-ftp-http} / rsync) * {mirrors-russia-ftp2} (ftp / {mirrors-russia-ftp2-http} / rsync) * {mirrors-russia-ftp5} (ftp / {mirrors-russia-ftp5-http} / rsync) * {mirrors-russia-ftp6} (ftp) [[saudi-arabia]] *{mirrors-saudi-arabia}* In case of problems, please contact the hostmaster `<{mirrors-saudi-arabia-email}>` for this domain. * {mirrors-saudi-arabia-ftp} (ftp) [[slovenia]] *{mirrors-slovenia}* In case of problems, please contact the hostmaster `<{mirrors-slovenia-email}>` for this domain. * {mirrors-slovenia-ftp} (ftp) [[south-africa]] *{mirrors-south-africa}* In case of problems, please contact the hostmaster `<{mirrors-south-africa-email}>` for this domain. * {mirrors-south-africa-ftp} (ftp) * {mirrors-south-africa-ftp2} (ftp) * {mirrors-south-africa-ftp4} (ftp) [[spain]] *{mirrors-spain}* In case of problems, please contact the hostmaster `<{mirrors-spain-email}>` for this domain. * {mirrors-spain-ftp} (ftp / {mirrors-spain-ftp-http}) * {mirrors-spain-ftp3} (ftp) [[sweden]] *{mirrors-sweden}* In case of problems, please contact the hostmaster `<{mirrors-sweden-email}>` for this domain. * {mirrors-sweden-ftp} (ftp) * {mirrors-sweden-ftp2} (ftp / {mirrors-sweden-ftp2-rsync}) * {mirrors-sweden-ftp3} (ftp) * {mirrors-sweden-ftp4} (ftp / {mirrors-sweden-ftp4v6} / {mirrors-sweden-ftp4-http} / {mirrors-sweden-ftp4-httpv6} / {mirrors-sweden-ftp4-rsync} / {mirrors-sweden-ftp4-rsyncv6}) * {mirrors-sweden-ftp6} (ftp / {mirrors-sweden-ftp6-http}) [[switzerland]] *{mirrors-switzerland}* In case of problems, please contact the hostmaster `<{mirrors-switzerland-email}>` for this domain. * {mirrors-switzerland-ftp} (ftp / {mirrors-switzerland-ftp-http}) [[taiwan]] *{mirrors-taiwan}* In case of problems, please contact the hostmaster `<{mirrors-taiwan-email}>` for this domain. * {mirrors-taiwan-ftp} (ftp / {mirrors-taiwan-ftpv6} / rsync / rsyncv6) * {mirrors-taiwan-ftp2} (ftp / {mirrors-taiwan-ftp2v6} / {mirrors-taiwan-ftp2-http} / {mirrors-taiwan-ftp2-httpv6} / rsync / rsyncv6) * {mirrors-taiwan-ftp4} (ftp) * {mirrors-taiwan-ftp5} (ftp) * {mirrors-taiwan-ftp6} (ftp / {mirrors-taiwan-ftp6v6} / rsync) * {mirrors-taiwan-ftp7} (ftp) * {mirrors-taiwan-ftp8} (ftp) * {mirrors-taiwan-ftp11} (ftp / {mirrors-taiwan-ftp11-http}) * {mirrors-taiwan-ftp12} (ftp) * {mirrors-taiwan-ftp13} (ftp) * {mirrors-taiwan-ftp14} (ftp) * {mirrors-taiwan-ftp15} (ftp) [[ukraine]] *{mirrors-ukraine}* * {mirrors-ukraine-ftp} (ftp / {mirrors-ukraine-ftp-http}) * {mirrors-ukraine-ftp6} (ftp / {mirrors-ukraine-ftp6-http} / {mirrors-ukraine-ftp6-rsync}) * {mirrors-ukraine-ftp7} (ftp) [[uk]] *{mirrors-uk}* In case of problems, please contact the hostmaster `<{mirrors-uk-email}>` for this domain. * {mirrors-uk-ftp} (ftp) * {mirrors-uk-ftp2} (ftp / {mirrors-uk-ftp2-rsync}) * {mirrors-uk-ftp3} (ftp) * {mirrors-uk-ftp4} (ftp) * {mirrors-uk-ftp5} (ftp) [[usa]] *{mirrors-us}* In case of problems, please contact the hostmaster `<{mirrors-us-email}>` for this domain. * {mirrors-us-ftp} (ftp) * {mirrors-us-ftp2} (ftp) * {mirrors-us-ftp3} (ftp) * {mirrors-us-ftp4} (ftp / ftpv6 / {mirrors-us-ftp4-http} / {mirrors-us-ftp4-httpv6}) * {mirrors-us-ftp5} (ftp) * {mirrors-us-ftp6} (ftp) * {mirrors-us-ftp8} (ftp) * {mirrors-us-ftp10} (ftp) * {mirrors-us-ftp11} (ftp) * {mirrors-us-ftp13} (ftp / {mirrors-us-ftp13-http} / rsync) * {mirrors-us-ftp14} (ftp / {mirrors-us-ftp14-http}) * {mirrors-us-ftp15} (ftp) [[mirrors-bittorrent]] == BitTorrent Үндсэн хувилбарын CD-үүдийн ISO дүрсүүдийг BitTorrent-оор дамжуулан авах боломжтой байдаг. Дүрсүүдийг татаж авах torrent файлын цуглуулга http://torrents.freebsd.org:8080/[http://torrents.freebsd.org:8080] хаяг дээр бий. BitTorrent-ийн клиент програм хангамж нь package:net-p2p/py-bittorrent[] порт эсвэл өмнө нь эмхэтгэсэн багц хэлбэрээр байдаг. BitTorrent-оор ISO дүрсийг татаж авсны дараагаар та <> burncd-ийн талаар тайлбарласнаар CD эсвэл DVD дээр шарж болох юм. [[anoncvs]] == Нэргүй CVS(хуучирсан) === Анхааруулга [WARNING] ==== CVS нь төслийн хувьд хуучирсан бөгөөд ашиглахыг зөвлөдөггүй. Түүний оронд Subversion-г ашиглах ёстой. ==== [[ctm]] == CTM-г ашиглах нь CTM нь алсын сангийн модыг төвтэй синхрончлол хийхэд зориулсан арга юм. Энэ нь FreeBSD-ийн эх моднуудтай ашиглахад зориулагдаж хөгжүүлэгдсэн бөгөөд цаг хугацаа өнгөрөх тусам бусад хүмүүс бусад зорилгоор хэрэглэхэд ашигтайг мэдэж болох юм. Дельтанууд үүсгэх процессийн талаар бараг баримт байхгүй болохоор бас хэрэв та CTM-г бусад зүйлсэд зориулж ашиглахыг хүсэж байгаа бол дэлгэрэнгүй мэдээллийн талаар link:{ctm-users-url}[ctm-users-desc] захидлын жагсаалтад хандана уу. === CTM-г би яагаад ашиглах ёстой вэ? CTM нь танд FreeBSD эх моднуудын локал хуулбарыг өгдөг. Модны төрөл бүрийн "хэлбэрүүд" байдаг. Таны бүхэл CVS мод эсвэл аль нэг салбаруудын нэгийг дагахыг хүсэж байгаагаас хамаарч CTM нь танд мэдээлэл өгч чадна. Та FreeBSD-ийн идэвхтэй хөгжүүлэгч боловч олиггүй юм уу эсвэл TCP/IP холболт байхгүй эсвэл өөрчлөлтүүдийг автоматаар тан руу илгээгддэг байлгахыг хүсэж байгаа бол CTM нь танд зориулагджээ. Та хамгийн идэвхтэй салбаруудын хувьд өдөрт гурав хүртэлх дельтануудыг авах хэрэгтэй болно. Гэхдээ та тэдгээрийг автомат цахим захидлаар илгээгддэг байхыг бодох хэрэгтэй. Шинэчлэлтүүдийн хэмжээг үргэлж аль болох бага байлгадаг. Энэ ихэвчлэн 5K-с бага байдаг, хааяа (арваас нэгт) 10-50K хэмжээтэй байдаг бөгөөд заримдаа том 100K+ эсвэл илүү бас байдаг. Та урьдчилан багцалсан хувилбарын оронд хөгжүүлэлтийн эхүүд дээр шууд ажиллахтай холбоотой гардаг төрөл бүрийн анхааруулгуудын талаар бас мэдэж байх хэрэгтэй болно. Энэ нь таныг "current" эхүүдийг сонгох тохиолдолд ялангуяа үнэн байдаг. Таныг crossref:cutting-edge[current,FreeBSD-ийн одоо үеийн хэлбэрт байх нь] хэсгийг уншихыг зөвлөдөг. === CTM-г ашиглахад надад юу хэрэгтэй вэ? Танд хоёр зүйл хэрэгтэй: CTM програм болон түүнийг тэжээх эхний дельтанууд ("current" түвшингүүдэд хүрэхийн тулд). CTM програм нь хувилбар 2.0 гарснаас хойш FreeBSD-ийн хэсэг болж ирсэн бөгөөд хэрэв танд эх байгаа бол энэ нь [.filename]#/usr/src/usr.sbin/ctm# санд байдаг. CTM-г тэжээх "дельтануудыг" нь FTP эсвэл цахим захидал гэсэн хоёр аргаар авч болно. Хэрэв танд Интернет уруу хандах ерөнхий FTP хандалт байгаа бол дараах FTP сайтууд нь CTM-д хандахыг дэмждэг: link:ftp://ftp.FreeBSD.org/pub/FreeBSD/CTM/[ftp://ftp.FreeBSD.org/pub/FreeBSD/CTM/] эсвэл <> хаягийг үзнэ үү. тохирох сан руу FTP хийгээд [.filename]#README# файлыг татаж аваад тэндээс эхлээрэй. Хэрэв та өөрийн дельтануудыг цахим захидлаар авахыг хүсэж байгаа бол: -CTM түгээлтийн жагсаалтуудын аль нэгэнд бүртгүүлэх хэрэгтэй. link:{ctm-cvs-cur-url}[ctm-cvs-cur-desc] нь бүхэл CVS модыг дэмждэг. link:{ctm-src-cur-url}[ctm-src-cur-desc] нь хөгжүүлэлтийн салбарын толгойг дэмждэг. link:{ctm-src-9-url}[ctm-src-9-desc] нь 9.X хувилбарыг дэмждэг, гэх мэт. (Хэрэв та өөрийгөө жагсаалтад хэрхэн бүртгүүлэхийг мэдэхгүй байгаа бол дээрх жагсаалтын нэрэн дээр дарах юм уу эсвэл {mailman-lists-url} уруу очоод өөрийн хүсэж байгаа жагсаалтан дээрээ дарах хэрэгтэй. Бүртгэхэд шаардлагатай бүгдийг жагсаалтын хуудас агуулсан байх ёстой.) +CTM түгээлтийн жагсаалтуудын аль нэгэнд бүртгүүлэх хэрэгтэй. link:{ctm-cvs-cur-url}[ctm-cvs-cur-desc] нь бүхэл CVS модыг дэмждэг. link:{ctm-src-cur-url}[ctm-src-cur-desc] нь хөгжүүлэлтийн салбарын толгойг дэмждэг. link:{ctm-src-9-url}[ctm-src-9-desc] нь 9.X хувилбарыг дэмждэг, гэх мэт. (Хэрэв та өөрийгөө жагсаалтад хэрхэн бүртгүүлэхийг мэдэхгүй байгаа бол дээрх жагсаалтын нэрэн дээр дарах юм уу эсвэл {mailing-lists-url} уруу очоод өөрийн хүсэж байгаа жагсаалтан дээрээ дарах хэрэгтэй. Бүртгэхэд шаардлагатай бүгдийг жагсаалтын хуудас агуулсан байх ёстой.) Өөрийн CTM шинэчлэлтүүдийг хүлээн авч эхлэхдээ та тэдгээрийг задалж ашиглахдаа `ctm_rmail` тушаал ашиглаж болох юм. Хэрэв та процессийг бүрэн автомат загвараар ажилладаг байлгахыг хүсэж байгаа бол [.filename]#/etc/aliases# файл дахь оруулгаас `ctm_rmail` програмыг шууд ашиглаж болох юм. Илүү дэлгэрэнгүйг `ctm_rmail`-ийн гарын авлагын хуудаснаас шалгана уу. [NOTE] ==== CTM дельтануудыг авах ямар аргыг ашиглаж байгаагаас үл хамааран та link:{ctm-announce-url}[ctm-announce-desc] захидлын жагсаалтад бүртгүүлэх хэрэгтэй. Ирээдүйд CTM системийн ажиллагааны тухай зарлалууд илгээгдэх газар нь зөвхөн энэ болох юм. Дээрх жагсаалтын нэрэн дээр дарж жагсаалтад бүртгүүлэхийн тулд заавруудыг дагах хэрэгтэй. ==== === CTM-г эхний удаа хэрэглэх CTM дельтануудыг ашиглаж эхлэхээсээ өмнө дельтанууд дараа дараагийн удаа үүсгэгдэхэд нь зориулж та эхлэх цэг дээр ирэх хэрэгтэй болно. Танд юу байгааг эхлээд тодорхойлох хэрэгтэй. Бүгд "хоосон" сангаас эхэлж болно. Өөрийн CTM-ээр дэмжигдсэн модыг эхлүүлэхийн тулд та эхний "Empty" буюу хоосон дельтаг ашиглах ёстой. Тодорхой нэг цэгт эдгээр "started" буюу эхэлсэн дельтануудын аль нэгийг өөрийн хүслээр CD дээр түгээж болохоор энэ нь зориулагдсан боловч одоогоор тийм юм болоогүй байгаа билээ. Моднууд нь хэдэн арван мегабайт байдаг болохоор өөртөө байгаагаас эхлэхийг эрхэмлэх ёстой юм. Хэрэв танд -RELEASE CD байгаа бол та эхний эхийг түүнэс хуулж эсвэл задалж болох юм. Энэ нь өгөгдлийн чухал дамжуулалтыг хэмнэх болно. Та эдгээр "starter" буюу эхлэх дельтануудыг дугаарт нэмэгдсэн `X`-ээр таньж болно (жишээ нь [.filename]#src-cur.3210XEmpty.gz#). `X`-ийн дараах тэмдэглээс нь таны эхний "seed" буюу үрийн үүсэлд харгалзана. Дүрмээр бол `Empty` буюу хоосноос шилжих үндсэн шилжилт нь 100 дельта бүрээс үүсгэгдэнэ. Ингэхэд тэдгээр нь том байна! [.filename]#XEmpty# дельтануудын хувьд 70-аас 80 мегабайт `gzip` хийгдсэн өгөгдөл нь нийтлэг байдаг. Эхлэх анхдагч дельтаг сонгосны дараа танд түүний дараах өндөр дугааруудтай бүх дельтанууд хэрэгтэй болно. === Өөрийн өдөр тутмын амьдралдаа CTM-г ашиглах нь Дельтануудыг өгөхийн тулд ердөө л доор дурдсаныг хийнэ: [source,shell] .... # cd /where/ever/you/want/the/stuff # ctm -v -v /where/you/store/your/deltas/src-xxx.* .... CTM нь `gzip`-ээр тавигдсан дельтануудыг ойлгодог болохоор та тэдгээрийг эхлээд `gunzip` хийх хэрэггүй юм. Энэ нь дискний зай хэмнэх болно. Бүх процессийн талаар маш нууцлаг гэж бодоогүй л бол CTM нь таны модыг хөндөхгүй байх болно. Дельтаг шалгахын тулд та `-c` тугийг бас ашиглаж болох бөгөөд CTM нь таны модыг үнэндээ хөндөхгүй; энэ нь зөвхөн дельтаны бүрэн бүтэн байдлыг шалгаж таны одоогийн модонд цэвэр хийгдэх эсэхийг л үздэг. CTM-д өгөгдөх бусад сонголтууд бас байдаг бөгөөд эдгээрийг гарын авлагын хуудаснуудаас үзнэ үү, эсвэл илүү дэлгэрэнгүйг эхүүдээс хайна уу. Ингээд л бүгд бараг болж байна. Шинэ дельта авах бүртээ өөрийн эхүүдийг хамгийн сүүлийн хувилбарт аваачихын тулд түүнийг CTM-ээр ажиллуулах хэрэгтэй. Дельтануудыг дахин татаж авахад хэцүү байгаа бол битгий устгаарай. Ямар нэг муу юм болж болзошгүй гэж үзээд тэдгээрийг та хаа нэгтэй хадгалахыг хүсэж болох юм. Танд зөвхөн уян диск байсан ч гэсэн `fdwrite` тушаалыг ашиглан хуулбар хийх нь зүйтэй. === Өөрийн локал өөрчлөлтүүдийг хадгалах нь Хөгжүүлэгчийн хувьд эх модыг өөрчлөх эсвэл түүн дээр турших хүсэл төрж болох юм. CTM нь локал өөрчлөлтүүдийг хязгаарлалттайгаар дэмждэг: [.filename]#foo# файлыг байгаа эсэхийг шалгахын өмнө [.filename]#foo.ctm# файлыг эхлээд хайдаг. Хэрэв энэ файл байвал CTM нь [.filename]#foo#-ийн оронд энэ файл дээр ажилладаг. Энэ нь бидэнд локал өөрчлөлтүүдийг хялбараар арчлах боломжийг олгодог: өөрийн өөрчлөх төлөвлөгөөтэй байгаа файлуудаа [.filename]#.ctm# өргөтгөлтэй болгон хуулах хэрэгтэй. Дараа нь та кодыг чөлөөтэй оролдож болох бөгөөд CTM нь [.filename]#.ctm# файлыг хамгийн сүүлийн хэлбэрт байлгах болно. === CTM-ийн бусад сонирхолтой сонголтууд ==== Шинэчлэлтээр яг юу хөндөгдөхийг олох Та өөрийн эх архивт CTM-ийн хийх өөрчлөлтүүдийн жагсаалтыг `-l` сонголтыг CTM-д өгөн тодорхойлж болно. Та өөрчлөлтүүдийн бүртгэлүүдийг хадгалах, өөрчлөгдсөн файлуудад урьдчилан эсвэл дараа нь боловсруулалт хийх эсвэл ердөө л хэтэрхий зовниж байгаа бол энэ нь ашигтай юм. ==== Шинэчлэхээсээ өмнө нөөцлөлтүүд хийх Заримдаа та CTM шинэчлэлтээр өөрчлөгдөх бүх файлуудыг нөөцөлж авахыг хүсэж болох юм. `-B backup-file` сонголтыг зааснаар CTM-ийг өгөгдсөн CTM дельтагаар хөндөгдөх бүх файлуудыг нөөцөлж [.filename]#backup-file# руу хадгалахад хүргэнэ. ==== Шинэчлэлтээр хөндөгдөх файлуудыг хязгаарлах Заримдаа та өгөгдсөн CTM шинэчлэлтийн хүрээг хязгаарлах сонирхолтой эсвэл дельтануудын дарааллаас цөөн хэдэн файлуудыг задлах сонирхолтой байж болох юм. CTM-ийн ажилладаг файлуудын жагсаалтыг та `-e` болон `-x` сонголтуудыг ашиглан шүүлт хийх регулар илэрхийллүүдийг заан хянаж болно. Жишээ нь өөрийн хадгалсан CTM дельтануудын цуглуулгаас [.filename]#lib/libc/Makefile#-ийн хамгийн сүүлийн хуулбарыг задалж авахын тулд дараах тушаалуудыг ажиллуулна: [source,shell] .... # cd /where/ever/you/want/to/extract/it/ # ctm -e '^lib/libc/Makefile' ~ctm/src-xxx.* .... CTM дельтанд заагдсан файл бүрийн хувьд тушаалын мөрөнд өгөгдсөн дарааллаар `-e` болон `-x` сонголтуудыг өгсөн. Файл нь бүх `-e` болон `-x` сонголтууд түүнд өгөгдсөний дараа зөвхөн сонгогдох эрхтэй гэж тэмдэглэгдсэн бол CTM-ээр боловсруулагддаг. === CTM-ийн ирээдүйн төлөвлөгөөнүүд Маш их: * CTM-ийн хуурамч шинэчлэлтүүдийг илрүүлэхийн тулд CTM системд ямар нэгэн нэвтрэлт танилт ашиглах. * CTM-ийн сонголтуудыг цэвэрлэх, тэдгээр нь толгой эргүүлэм, зөн совингийн эсрэг болсон. === Бусад зүйлс `ports` цуглуулгад зориулсан дельтануудын дараалал бас байдаг боловч сонирхол тийм ч өндөр байдаггүй. [[mirrors-ctm]] === CTM толин тусгалууд <>/FreeBSD нь дараах толин тусгал сайтууд дахь нэргүй FTP-ээр хандаж авах боломжтой байдаг. Хэрэв та CTM-г нэргүй FTP-ээр авахыг сонгосон бол өөртөө ойр сайтыг оролдож үзнэ үү. Асуудал гарсан тохиолдолд link:{ctm-users-url}[ctm-users-desc] захидлын жагсаалтад хандана уу. Калифорни, Bay Area, албан ёсны эх:: ** link:ftp://ftp.FreeBSD.org/pub/FreeBSD/development/CTM/[ftp://ftp.FreeBSD.org/pub/FreeBSD/development/CTM/] Өмнөд Африк, хуучин дельтануудад зориулсан нөөц сервер:: ** link:ftp://ftp.za.FreeBSD.org/pub/FreeBSD/CTM/[ftp://ftp.za.FreeBSD.org/pub/FreeBSD/CTM/] Тайвань/R.O.C.:: ** link:ftp://ctm.tw.FreeBSD.org/pub/FreeBSD/development/CTM/[ftp://ctm.tw.FreeBSD.org/pub/FreeBSD/development/CTM/] ** link:ftp://ctm2.tw.FreeBSD.org/pub/FreeBSD/development/CTM/[ftp://ctm2.tw.FreeBSD.org/pub/FreeBSD/development/CTM/] ** link:ftp://ctm3.tw.FreeBSD.org/pub/FreeBSD/development/CTM/[ftp://ctm3.tw.FreeBSD.org/pub/FreeBSD/development/CTM/] Хэрэв та өөртөө ойрхон толин тусгалыг олоогүй бол эсвэл толин тусгал нь бүрэн биш байгаа бол http://www.alltheweb.com/[alltheweb] зэрэг хайлтын системийг ашиглаад үзээрэй. [[svn]] == Subversion ашиглах нь [[svn-intro]] === Танилцуулга 2012 оны 7 сараас FreeBSD-н бүх эх код, баримтжуулалт болон портын цуглуулгыг хадгалахдаа http://subversion.apache.org/[Subversion] (_svn_)-г үндсэн хувилбар удирдах систем болгон ашиглаж эхэлсэн. [NOTE] ==== Subversion хөгжүүлэлтийн хэрэгсэл юм. Ихэнх хэрэглэгчид crossref:cutting-edge[updating-upgrading-freebsdupdate,FreeBSD-г шинэчлэх] хэсэгт зааснаар FreeBSD-н үндсэн системийг шинэчлэх ёстой бөгөөд FreeBSD-н портын цуглуулгыг шинэчлэхдээ crossref:cutting-edge[updating-upgrading-portsnap,Portsnap]-г ашиглах ёстой. ==== Subversion-д URL-г ашиглан репозиторыг заадаг бөгөөд `protocol://hostname/path` хэлбэрийн байна. Доор заасан шиг толин тусгалууд өөр өөр протоколуудыг дэмжиж болно. Замын эхний хэсэг нь хандаж болох FreeBSD-н репозитор юм. Гурван өөр репозитор байдаг: FreeBSD-н үндсэн системийн эх кодод зориулсан `base`, Портын цуглуулгад зориулсан `ports`, баримтжуулалтад зориулсан `doc` байдаг. Жишээ нь URL `svn://svn0.us-east.FreeBSD.org/ports/head/` нь svn протоколыг ашиглан `svn0.us-east.FreeBSD.org` толин дээрх портын репозиторын гол салбарыг зааж байна. [[svn-install]] === Суулгах Subversion-г аль ч репозиторын агуулгыг татаж авахаас өмнө суулгасан байх шаардлагатай. Хэрэв портын мод байгаа бол Subversion-г ингэж суулгаж болно: [source,shell] .... # cd /usr/ports/devel/subversion # make install clean .... Хэрэв портын мод байхгүй бол Subversion-г багц хэлбэрээр суулгаж болно: [source,shell] .... # pkg_add -r subversion .... Хэрэв pkgng ашиглан багцыг удирддаг бол Subversion-г ингэж суулгана: [source,shell] .... # pkg install devel/subversion .... [[svn-usage]] === Subversion-г ажиллуулах Эхийн цэвэр хувилбарыг татаж локал сан руу авахад `svn` тушаалыг ашиглаж болно. Энэ санд байгаа файлуудыг _локал ажлын хувилбар_ гэдэг. [WARNING] ==== Локал сан нь үүссэн боловч `svn` тушаалаар үүсгэгдээгүй бол татаж авахаасаа өмнө нэрийг солих юм уу устгаарай. `svn`-ээр үүсгэгдээгүй сан дээр татаж авах тохиолдолд татаж авч байгаа файлууд нь байгаа файлуудтай зөрөх асуудал үүсч болзошгүй. ==== Өгөгдсөн репозитороос татаж авахдаа энэ маягийн тушаалыг: [source,shell] .... # svn checkout svn-mirror/repository/branch lwcdir .... гэж ажиллуулах бөгөөд: * _svn-mirror_ нь <> дахь аль нэгийн URL юм. * _repository_ нь төслийн аль нэг репозитор бөгөөд жишээ нь `base`, `ports`, эсвэл `doc`. * _branch_ нь ашиглаж байгаа репозитороос хамаарна. `ports` ба `doc` нь `head` салбарт ихэвчлэн шинэчлэгддэг бол `base` нь -CURRENT-н хамгийн сүүлийн хувилбарыг `head` дотор агуулж байдаг бөгөөд -STABLE салбарын сүүлийн хувилбарууд нь `stable/8` ( 8._x_) болон `stable/9` (9._x_) дотор байдаг. * _lwcdir_ нь зааж өгсөн салбарын агуулга байрлах сан юм. Энэ нь ихэвчлэн `ports`-н хувьд [.filename]#/usr/ports#, `base`-н хувьд [.filename]#/usr/src#, `doc`-н хувьд [.filename]#/usr/doc# байдаг. Энэ нь Портын цуглуулгыг АНУ-н баруунд байрлах репозитороос HTTPS протокол ашиглан локал ажлын хуулбарыг [.filename]#/usr/ports#-д санд байршуулж байгаа жишээ юм. Хэрэв [.filename]#/usr/ports# сан байгаа бөгөөд `svn`-ээр үүсгэгдээгүй бол өөрчлөх юм уу устгахаа мартуузай. [source,shell] .... # svn checkout https://svn0.us-west.FreeBSD.org/ports/head /usr/ports .... Алсын репозиторын бүрэн салбарыг эхний удаа татаж авах учраас удаж магадгүй. Тэвчээртэй байгаарай. Эхний удаа татсаныхаа дараа локал ажлын хуулбарыг шинэчлэхдээ: [source,shell] .... # svn update lwcdir .... Дээрх жишээн дээр үүсгэсэн [.filename]#/usr/ports#-г шинэчлэхдээ: [source,shell] .... # svn update /usr/ports .... Татаж авахаас шинэчлэх нь хурдан бөгөөд өөрчлөгдсөн файлуудыг л татаж авдаг. Татаж авсныхаа дараа локал ажлын хуулбарыг шинэчлэх өөр нэг арга нь [.filename]#/usr/ports#, [.filename]#/usr/src#, ба [.filename]#/usr/doc# сангууд дахь [.filename]#Makefile#-д байдаг. `SVN_UPDATE`-г зааж өгөөд `update` гэж хэрэглэнэ. Жишээ нь [.filename]#/usr/src#-г шинэчлэхийн тулд: [source,shell] .... # cd /usr/src # make update SVN_UPDATE=yes .... === Дэлгэрэнгүй мэдээлэл Subversion ашиглах талаар бусад мэдээллийг http://svnbook.red-bean.com/[Version Control with Subversion] нэртэй "Subversion ном", эсвэл http://subversion.apache.org/docs/[Subversion баримтжуулалт]аас үзнэ үү. [[svn-mirrors]] == Subversion толин сайтууд Бүх толин тусгалууд бүх репозиторыг агуулдаг. FreeBSD-н мастер Subversion сервер `svn.FreeBSD.org`-д олон нийт хандах боломжтой байх бөгөөд зөвхөн уншигдах боломжтой байдаг. Энэ нь ирээдүйд өөрчлөгдөж болох бөгөөд хэрэглэгчдийг аль болох албан ёсны толин тусгалуудыг ашиглахыг зөвлөдөг. FreeBSD Subversion репозиториудыг хөтөч ашиглан харахын тулд http://svnweb.FreeBSD.org/[http://svnweb.FreeBSD.org/] хаягийг ашиглаарай. [NOTE] ==== FreeBSD svn толин тусгалын сүлжээ нь эхний шатандаа байгаа бөгөөд өөрчлөгдөх магадлалтай. Эдгээр толин тусгалуудыг статик гэж тооцоолж болохгүй. Ялангуяа серверүүдийн SSL сертификатууд хэзээ нэг цагт шинэчлэгдэх болно. ==== [.informaltable] [cols="1,1,1,1", options="header"] |=== | Нэр | Протоколууд | Байрлал | SSL хээ |`svn0.us-west.FreeBSD.org` |svn, http://svn0.us-west.FreeBSD.org/base/[http], https://svn0.us-west.FreeBSD.org/base/[https] |USA, California |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://svn0.us-east.FreeBSD.org/base/[http], https://svn0.us-east.FreeBSD.org/base/[https] |USA, New Jersey |SHA1 `06:D1:23:DE:5E:7A:F7:2B:7A:7E:74:95:5F:54:8D:5C:B0:D6:2E:8F` |=== HTTPS нь FreeBSD толин тусгалыг хуурамчаар дуурайх ("man in the middle" халдлага гэгддэг) эсвэл эцсийн хэрэглэгч рүү муу агуулга шидэх зэргээс хамгаалах боломжтой ашиглахыг зөвлөдөг протокол юм. HTTPS толин тусгал руу хийх эхний холболтын үеэр хэрэглэгчээс серверийн _fingerprint_-г асуудаг: [source,shell] .... Error validating server certificate for 'https://svn0.us-west.freebsd.org:443': - The certificate is not issued by a trusted authority. Use the fingerprint to validate the certificate manually! Certificate information: - Hostname: svnmir.ysv.FreeBSD.org - Valid: from Fri, 24 Aug 2012 22:04:04 GMT until Sat, 24 Aug 2013 22:04:04 GMT - Issuer: clusteradm, FreeBSD.org, CA, US - Fingerprint: 79:35:8f:ca:6d:34:d9:30:44:d1:00:af:33:4d:e6:11:44:4d:15:ec (R)eject, accept (t)emporarily or accept (p)ermanently? .... Fingerprint-г дээрх хүснэгттэй харьцуулж хараарай. Хэрэв хурууны хээ таарч байгаа бол серверийн аюулгүй байдлын сертификатыг түр эсвэл бүрмөсөн зөвшөөрч болно. Түр зуурын сертификат нь сервертэй хийх нэг удаагийн сессээр дуусгавар болох бөгөөд дараагийн удаа шалгах алхам дахин хийгдэх болно. Сертификатыг бүрмөсөн зөвшөөрснөөр нэвтрэх эрхийг [.filename]#~/.subversion/auth/# санд хадгалж сертификатын хугацаа дуустал хэрэглэгчээс хурууны хээг дахин шалгахыг асуудаггүй. Хэрэв HTTPS-г галт хана эсвэл бусад асуудлаас болоод хэрэглэх боломжгүй бол арай илүү хурдан `SVN` дараагийн сонголт байж болох юм. Алийг ч ашиглах боломжгүй бол HTTP-г ашиглаарай. [[cvsup]] == CVSup-г ашиглах нь (хуучирсан) [[cvsup-intro]] === Танилцуулга [WARNING] ==== CVS нь төслийн хувьд хуучирсан бөгөөд ашиглахыг зөвлөдөггүй. Түүний оронд Subversion-г ашиглах ёстой. ==== CVSup нь алсын сервер хост дээр байгаа мастер CVS архиваас эх модыг шинэчлэх болон түгээхэд зориулагдсан програм хангамжийн багц юм. FreeBSD-ийн эхүүд Калифорни дахь төв хөгжүүлэлтийн машин дээрх CVS архивт арчлагдаж байдаг. CVSup-ийн тусламжтай FreeBSD хэрэглэгчид өөрсдийн эх модыг хялбараар хамгийн сүүлийн хэлбэрт аваачиж чаддаг байна. CVSup нь шинэчлэлтийн _pull_ буюу _татах_ загварыг ашигладаг. Татах загвар дээр клиент бүр серверээс шинэчлэлтийг хүссэн үедээ эсвэл хэрэгтэй үедээ асуудаг. Сервер нь өөрийн хэрэглэгчдээс ирэх хүсэлтүүдийг идэвхгүйгээр хүлээж байдаг. Сервер хэзээ ч хүсээгүй шинэчлэлтүүдийг илгээдэггүй. Хэрэглэгчид нь шинэчлэлтийг авахын тулд CVSup клиентийг гараар ажиллуулах юм уу эсвэл түүнийг автоматаар давтамжтайгаар ажиллуулахын тулд `cron` ажил тохируулах ёстой болно. Ингэж том үсгээр бичсэн CVSup ухагдахуун нь бүхэл програм хангамжийн багцыг хэлнэ. Түүний гол бүрэлдэхүүн хэсгүүд нь хэрэглэгч бүрий машин дээр ажилладаг `cvsup` клиент, ба FreeBSD-ийн толин тусгал сайтууд дээр ажиллаж байдаг `cvsupd` сервер юм. [NOTE] ==== csup хэрэгсэл нь CVSup-г C дээр бичсэн хувилбар юм. Үүний хамгийн том давуу тал бол илүү хурдан бөгөөд Modula-3 хэлээс хамаардаггүй, тиймээс та түүнийг суулгах шаардлагагүй байдаг. Мөн түүнийг шууд ашиглаж болно, учир нь энэ нь үндсэн системд орсон байдаг. Хэрэв та csup-г ашиглахаар шийдсэн бол CVSup-ийн суулгалт дахь алхмуудыг алгасаж энэ нийтлэлийн үлдсэн хэсгийг дагаж байхдаа CVSup гэснийг csup болгож солиорой. ==== [[cvsup-install]] === Суулгалт CVSup-г суулгах хамгийн хялбар арга бол FreeBSD-ийн crossref:ports[ports,багцын цуглуулга]ас урьдчилан эмхэтгэсэн package:net/cvsup[] багцыг ашиглах явдал юм. Хэрэв та CVSup-г эхээс бүтээхийг эрхэмлэж байгаа бол package:net/cvsup[] портыг ашиглаарай. Гэхдээ урьдчилан анхааруулъя: package:net/cvsup[] порт нь Modula-3 системээс хамаардаг бөгөөд үүнийг татан авч суулгахад ихээхэн хэмжээний дискний зай болон хугацаа шаарддаг. [NOTE] ==== Хэрэв та Xorg суулгагдаагүй сервер машин дээр CVSup-г ашиглах гэж байгаа бол CVSupGUI-г агуулаагүй package:net/cvsup-without-gui[] портыг ашиглах хэрэгтэй. ==== [[cvsup-config]] === CVSup тохиргоо CVSup-ийн ажиллагаа [.filename]#supfile# гэгддэг тохиргооны файлаар хянагддаг. link:file://localhost/usr/shared/examples/cvsup/[/usr/shared/examples/cvsup/] санд зарим жишээ [.filename]#supfiles# байдаг. [.filename]#supfile# дахь мэдээлэл CVSup-д зориулж дараах асуултуудад хариулдаг: * <> * <> * <> * <> * <> Дараах хэсгүүдэд бид эдгээр асуултуудад хариулан түгээмэл [.filename]#supfile#-г бүтээх болно. Эхлээд бид [.filename]#supfile#-ийн ерөнхий бүтцийг тайлбарлах болно. [.filename]#supfile# нь текст файл юм. Тайлбарууд нь `#` тэмдэгтээс эхэлж мөр дуустал үргэлжилнэ. Хоосон мөрнүүд болон зөвхөн тайлбараас тогтох мөрүүдийг орхидог. Үлдэж байгаа мөр болгон хэрэглэгчийн авахыг хүсэж байгаа файлуудын цуглуулгыг тайлбарладаг. Мөр нь файлуудын "цуглуулга" буюу файлуудын логик бүлэглэлийн нэрээс эхэлдэг бөгөөд эдгээрийг сервер тодорхойлдог. Цуглуулгын нэр таны аль файлуудыг хүсэж байгааг серверт хэлдэг. Цуглуулгын нэрийн дараа талбарууд байхгүй эсвэл байж болох бөгөөд зайгаар тусгаарлагдсан байна. Эдгээр талбарууд нь дээрх асуултуудад хариулдаг. Хоёр төрлийн талбар байдаг: тугны талбарууд ба утгын талбарууд. Тугны талбар нь ганцаараа байгаа түлхүүр үгнээс тогтдог, өөрөөр хэлбэл `delete` эсвэл `compress` байна. Утгын талбар нь бас түлхүүр үгээс эхлэх боловч хоосон зайгаар тусгаарлагдалгүйгээр `=` болон хоёр дахь үгээс тогтоно. Жишээ нь `release=cvs` нь утгын талбар юм. [.filename]#supfile# ихэвчлэн нэгээс илүү цуглуулгыг хүлээн авахаар заасан байдаг. [.filename]#supfile#-г зохион байгуулах нэг арга нь цуглуулга бүрийн хувьд харгалзах бүх талбаруудыг зааж өгөх явдал юм. Гэхдээ энэ нь [.filename]#supfile#-ий мөрүүдийг нэлээн урт болгодог бөгөөд [.filename]#supfile# дахь цуглуулгуудын бүгдийн хувьд ихэнх талбарууд нь ижил байдаг болохоор таагүй юм. CVSup нь эдгээр асуудлуудыг тойрон гарах анхдагч болгох арга замтай байдаг. Тусгай псевдо цуглуулгын нэр `*default`-р эхэлсэн мөрүүд нь тугнууд болон [.filename]#supfile# дахь дараа дараачийн цуглуулгуудын хувьд анхдагч болж ашиглагдах утгуудыг заахад хэрэглэгддэг. Анхдагч утгыг цуглуулгатай цуг өөр утгыг заан өгч тухайн цуглуулгын хувьд өөрчилж болдог. Анхдагчуудыг дундын supfile-д нэмэлт `*default` мөрүүдээр өөрчилж эсвэл дарж болдог. Ийм мэдээлэлтэйгээр бид одоо crossref:cutting-edge[current,FreeBSD-CURRENT]-ийн гол эх модыг хүлээн авч шинэчлэхэд зориулсан [.filename]#supfile#-г бүтээх болно. * [[cvsup-config-files]]Ямар файлуудыг та хүлээн авахыг хүсэж байна вэ? + CVSup-аар авах боломжтой файлууд нь "collections" буюу цуглуулгууд гэгддэг бүлгүүдэд хуваагдан зохион байгуулагддаг. Байгаа цуглуулгууд нь crossref:cutting-edge[cvsup-collec,дараах хэсэгт] тайлбарлагдсан байгаа. Энэ жишээн дээр бид FreeBSD-ийн хувьд бүх гол эхийг авахыг хүсэж байна. `src-all` гэсэн ганц том цуглуулга бидэнд үүнийг өгөх болно. [.filename]#supfile#-аа бүтээх эхний алхам болгож бид цуглуулгуудыг нэг мөрөнд нэгийг тавьж жагсаана (энэ тохиолдолд зөвхөн нэг мөр байна): + [.programlisting] .... src-all .... * [[cvsup-config-vers]]Тэдгээрийн ямар хувилбаруудыг та хүсэж байна вэ? + CVSup-ийн тусламжтай та хэзээ ч юм байсан эхүүдийн бараг ямар ч хувилбарыг хүлээн авч чадна. cvsupd сервер нь бүх хувилбаруудыг агуулсан CVS архиваас шууд ажилладаг болохоор энэ нь боломжтой юм. Та тэдгээрийн алийг хүсэж байгаагаа `tag=` болон `date=` утга талбаруудыг ашиглан зааж өгч болно. + [WARNING] ==== `tag=` талбарыг зөв зааж өгөхдөө анхааралтай байх хэрэгтэй. Зарим хаягууд нь зөвхөн файлуудын зарим цуглуулгуудын хувьд зөв байдаг. Хэрэв та буруу эсвэл буруу бичсэн хаягийг зааж өгөх юм бол магадгүй таны устгахыг хүсээгүй файлуудыг CVSup нь устгах юм. Ялангуяа `ports-*` цуглуулгуудын хувьд _зөвхөн_ `tag=.`-г ашиглаарай. ==== + `tag=` талбар нь симболын хаягийг архивт нэрлэдэг. Хоёр төрлийн хаяг байдаг бөгөөд эдгээр нь залруулалтын хаягууд болон салбарын хаягууд юм. Залруулалтын хаяг нь тухайн нэг залруулалтыг заадаг. Үүний утга нь өдрөөс өдөрт ижил хэвээр байна. Нөгөө талаас салбарын хаяг нь ямар ч үед хөгжүүлэлтийн өгөгдсөн шугам дахь хамгийн сүүлийн залруулалтыг заадаг. Салбарын хаяг нь тухайн нэг залруулалтыг заадаггүй болохоор үүний маргаашийн утга нь өнөөдрийнхөөс өөр байж болох юм. + <> нь хэрэглэгчдийн сонирхож болох салбарын хаягуудыг агуулдаг. CVSup-ийн тохиргооны файлд хаягийг зааж өгөхдөө өмнө нь `tag=` гэж өгөх ёстой (`RELENG_8` нь `tag=RELENG_8` болно). Зөвхөн `tag=.` нь портын цуглуулгад хамааралтай болохыг санаарай. + [WARNING] ==== Хаягийн нэрийг яг үзүүлсэн шиг бичихдээ анхааралтай байгаарай. CVSup нь зөв болон буруу хаягуудыг ялгаж чаддаггүй. Хэрэв та хаягийг буруу бичвэл CVSup нь таныг зөв хаяг өгсөн гэж ойлгон ажиллах бөгөөд энэ нь ямар ч файлуудыг заагаагүйд хүргэж болох юм. Энэ тохиолдолд энэ нь танд байгаа эхүүдийг устгах болно. ==== + Салбарын хаягийг заахад та тэр хөгжүүлэлтийн шугамын файлуудын хамгийн сүүлийн хувилбаруудыг авах болно. Хэрэв та ямар нэг өнгөрсөн хувилбарыг авахыг хүсвэл `date=` талбарт огноог заан хийж өгч болно. man:cvsup[1] гарын авлагын хуудас үүнийг хэрхэн хийхийг тайлбарладаг. + Бидний жишээний хувьд FreeBSD-CURRENT-г авахыг бид хүсэж байна. Бид энэ мөрийг өөрсдийн [.filename]#supfile#-ийн эхэнд нэмнэ: + [.programlisting] .... *default tag=. .... + Хэрэв та `tag=` талбар эсвэл `date=` талбарын алийг ч зааж өгөөгүй бол чухал тусгай тохиолдол гарч ирнэ. Энэ тохиолдолд тодорхой нэг хувилбарыг хүлээн авахын оронд серверийн CVS архиваас RCS файлуудыг шууд хүлээн авдаг. Ажиллагааны ийм горимыг хөгжүүлэгчид ерөнхийдөө эрхэмлэдэг. Өөрсдийн системүүд дээр архивын хуулбарыг арчилснаар тэд залруулалтын түүхийг хайж файлуудын өнгөрсөн хувилбаруудыг шалгах боломжтой болох юм. Гэхдээ энэ хонжоо нь дискний зайны хувьд их өртөгтэйгээр орж ирдэг. * [[cvsup-config-where]]Тэдгээрийг та хаанаас авахыг хүсэж байна вэ? + Бид `host=` талбарыг ашиглан `cvsup`-д өөрийн шинэчлэлтүүдийг хаанаас авахыг хэлж өгдөг. <>ын аль нь ч болох боловч та өөрийн кибер ертөнцдөө ойрхныг турших хэрэгтэй. Энэ жишээн дээр бид зохиомол FreeBSD түгээлтийн сайт `cvsup99.FreeBSD.org`-г ашиглах болно: + [.programlisting] .... *default host=cvsup99.FreeBSD.org .... + Та CVSup-г ашиглахаасаа өмнө үнэн хэрэг дээрээ байгаа жинхэнэ хостоор солих хэрэгтэй болно. `cvsup`-г ажиллуулах үедээ та хостын тохируулгыг тушаалын мөрөөс `-h _hostname_` сонголтоор өөрчлөн дарж болно. * [[cvsup-config-dest]]Та тэдгээрийг өөрийн машиныхаа хаана байрлуулахыг хүсэж байна вэ? + `prefix=` талбар нь хүлээн авсан файлуудыг хаана байрлуулахыг `cvsup` хэлнэ. Энэ жишээн дээр бид эх файлуудыг өөрсдийн гол эх модны [.filename]#/usr/src# байрлалд шууд байрлуулах болно. [.filename]#src# сан нь бидний хүлээн авахаар сонгосон цуглуулгад далд байгаа болохоор энэ нь зөв юм: + [.programlisting] .... *default prefix=/usr .... * [[cvsup-config-status]]`cvsup` өөрийн төлвийн файлуудыг хаана арчлах ёстой вэ? + CVSup клиент нь "base" буюу үндсэн гэгддэг сан дахь зарим төлвийн файлуудыг арчилж байдаг. Эдгээр файлууд нь ямар шинэчлэлтүүдийг та аль хэдийн хүлээн авсныг хянаж CVSup-ийг илүү үр ашигтай ажиллахад тусалдаг. Бид стандарт үндсэн сан [.filename]#/var/db#-г ашиглах болно: + [.programlisting] .... *default base=/var/db .... + Хэрэв таны үндсэн сан байхгүй байгаа бол одоо түүнийг үүсгэх хугацаа болсон байна. Хэрэв үндсэн сан байхгүй бол `cvsup` ажиллахаас татгалзах болно. * [.filename]#supfile#-ийн бусад тохиргоонууд: + [.filename]#supfile#-д ерөнхийдөө байх ёстой бас нэг мөр байдаг: + [.programlisting] .... *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 эсвэл түүнээс хурдан бол та магадгүй шахалтыг ашиглах хэрэггүй юм. Хэрэв үгүй бол энэ нь бодитойгоор тусалдаг. * Бүгдийг нийлүүлбэл: + Энд бидний жишээнд зориулсан бүхэл [.filename]#supfile# байна: + [.programlisting] .... *default tag=. *default host=cvsup99.FreeBSD.org *default prefix=/usr *default base=/var/db *default release=cvs delete use-rel-suffix compress src-all .... [[cvsup-refuse-file]] ==== [.filename]#refuse# файл Дээр дурдсанаар CVSup нь _татах аргыг_ ашигладаг. Энэ нь юу гэсэн үг вэ гэхээр та CVSup сервер руу холбогдох бөгөөд энэ нь "Над дээрээс татаж авах боломжтой зүйлс энэ байна..." гэж хэлэх бөгөөд таны клиент "OK, Би энэ,энэ, энийг авна." гэж хариулна гэсэн үг юм. Анхдагч тохиргоон дээр CVSup клиент нь таны тохиргооны файлд сонгосон хаяг болон цуглуулгатай холбоотой бүх файлыг авна. Модыг хэсэгчлэн татахын тулд [.filename]#refuse#-г ашиглана. [.filename]#refuse# файл нь үндсэндээ CVSup-д цуглуулгаас файл болгоныг татаж авахгүй гэдгийг хэлдэг; өөрөөр хэлбэл клиентэд серверээс зарим файлууд татаж авахаас _татгалзахыг_ хэлж өгдөг. [.filename]#refuse# файл нь [.filename]#base/sup/# сангаас олдож болно (эсвэл хэрэв танд ийм файл байхгүй байгаа бол түүнийг дээрх санд байрлуулах хэрэгтэй). _base_ нь таны [.filename]#supfile#-д тодорхойлогдсон байдаг; бидний тодорхойлсон _base_ нь [.filename]#/var/db# бөгөөд энэ нь анхдагчаар [.filename]#refuse# файл нь [.filename]#/var/db/sup/refuse# гэсэн үг юм. [.filename]#refuse# файл нь маш хялбар хэлбэршилттэй байдаг; энэ нь таны татаж авахыг хүсээгүй файлууд эсвэл сангуудын нэрийг агуулдаг. Жишээ нь: [.programlisting] .... bin/ usr.bin/ .... Удаан холболттой юм уу эсвэл өөрсдийн Интернэтийн холболтод минутаар төлдөг хэрэглэгчид үнэ цэнэтэй хугацаагаа хэмнэх болно. Учир нь тэд өөрсдийн хэзээ ч ашиглахгүй файлаа татаж авах шаардлагагүй болох юм. CVSup-ийн [.filename]#refuse# файлууд болон бусад сайхан боломжуудын талаар илүү мэдээллийг түүний гарын авлагын хуудаснаас үзнэ үү. === CVSup-г ажиллуулах нь Одоо та шинэчлэлт хийж үзэхэд бэлэн боллоо. Үүнийг хийх тушаалын мөр их амархан: [source,shell] .... # cvsup supfile .... энд байгаа [.filename]#supfile# нь таны дөнгөж үүсгэсэн [.filename]#supfile#-ийн нэр юм. Таныг X11 дээр ажиллаж байна гэж үзвэл `cvsup` нь энгийн зүйлсийг хийх зарим товчлууруудтай GUI цонхыг үзүүлэх болно. btn[go] товчлуурыг дарж ажиллахыг нь хараарай. Та энэ жишээн дээр өөрийн жинхэнэ [.filename]#/usr/src# модыг шинэчилж байгаа болохоор `cvsup` нь таны файлуудыг шинэчлэхэд шаардлагатай зөвшөөрлүүдтэй байхын тулд та програмыг `root` эрхээс ажиллуулах хэрэгтэй болно. Өөрийн тохиргооны файлыг дөнгөж үүсгэсэн бөгөөд урьд нь энэ програмыг хэзээ ч ашиглаж байгаагүй бол таныг бухимдуулж магадгүй юм. Өөрийн файлуудыг хөндөлгүйгээр туршилтын журмаар ажиллуулах хялбар арга байдаг. Хаа нэгтээ хоосон сан үүсгээд түүнийг тушаалын мөрөнд нэмэлт өгөгдлөөр оруулж өгнө: [source,shell] .... # mkdir /var/tmp/dest # cvsup supfile /var/tmp/dest .... Таны заасан сан бүх файлын шинэчлэлтүүдийн хувьд очих сан болдог. CVSup нь [.filename]#/usr/src# сан доторх таны энгийн файлуудыг шалгадаг, гэхдээ тэдгээрийн алийг ч өөрчлөх буюу устгахгүй. Файлын шинэчлэлтүүд харин [.filename]#/var/tmp/dest/usr/src# санд хийгдэнэ. CVSup нь ингэж ажиллахдаа бас өөрийн үндсэн сангийн төлвийн файлуудыг өөрчлөлгүйгээр үлдээдэг. Тэдгээр файлуудын шинэ хувилбарууд заагдсан сан уруу бичигдэх болно. Танд [.filename]#/usr/src# сан уруу унших эрх л байхад иймэрхүү туршилтын ажиллагааг гүйцэтгэхэд `root` эрх байх заавал шаардлагагүй юм. Хэрэв та X11-г ажиллуулахгүй байгаа юм уу эсвэл танд GUI таалагддаггүй бол `cvsup`-г ажиллуулахдаа тушаалын мөрөн дээр хоёр сонголтыг нэмж өгөх хэрэгтэй: [source,shell] .... # cvsup -g -L 2 supfile .... `-g` сонголт нь CVSup-д өөрийн GUI-г ашиглахгүйг хэлнэ. Хэрэв та X11-ийг ажиллуулахгүй байгаа бол энэ автомат байдаг, үгүй бол та үүнийг зааж өгөх хэрэгтэй. `-L 2` нь CVSup-д хийж байгаа бүх шинэчлэлтүүдийнхээ талаар дэлгэрэнгүй мэдээллийг үзүүлэхийг хэлж өгнө. Гурван түвшний харуулах горим байдаг бөгөөд энэ нь `-L 0`-с `-L 2` хүртэл байна. Анхдагч нь 0 байх бөгөөд энэ нь алдааны мэдэгдлээс бусдыг харуулахгүй. Бусад олон сонголтууд байдаг. Тэдгээрийн товч жагсаалтыг үзэхийн тулд `cvsup -H` гэж бичнэ. Илүү дэлгэрэнгүй тайлбаруудын талаар гарын авлагын хуудсыг үзнэ үү. Шинэчлэлт ажилладаг аргад сэтгэл ханамжтай болсныхоо дараа та CVSup-г давтамжтайгаар ажиллуулахын тулд man:cron[8] ашиглан хийж өгч болно. Мэдээж та man:cron[8]-с CVSup-г ажиллуулахдаа өөрийнхөө GUI-г ашиглахгүй болгох хэрэгтэй. [[cvsup-collec]] === CVSup-ийн файлын цуглуулгууд CVSup-ийн файлын цуглуулгууд нь шатлалтайгаар зохион байгуулагдсан байдаг. Цөөн том цуглуулгууд байдаг бөгөөд тэдгээр нь арай жижиг дэд цуглуулгуудад хуваагддаг. Том цуглуулгыг хүлээн авах нь түүний дэд цуглуулгууд тус бүрийг хүлээн авахтай адил юм. Цуглуулга хоорондын шаталсан холбоонууд нь доорх жагсаалт дахь догол ашиглалтаар тусгагддаг. Хамгийн түгээмэл хэрэглэгддэг цуглуулгууд нь `src-all` юм. `cvs-all release=cvs`:: Криптограф кодыг оролцуулаад FreeBSD-ийн гол CVS архив. `distrib release=cvs`::: FreeBSD-ийн түгээлт болон толин тусгал хийхтэй холбоотой файлууд. `projects-all release=cvs`::: FreeBSD төслийн архив дахь эхүүд. `src-all release=cvs`::: Криптограф кодыг оролцуулаад FreeBSD-ийн гол эхүүд. `src-base release=cvs`:::: [.filename]#/usr/src# сангийн дээр байрлах бусад файлууд. `src-bin release=cvs`:::: Ганц хэрэглэгчийн горимд хэрэг болох хэрэглэгчийн багажууд ([.filename]#/usr/src/bin#). `src-cddl release=cvs`:::: CDDL лицензийн доор байдаг хэрэгслүүд болон сангууд ([.filename]#/usr/src/cddl#). `src-contrib release=cvs`:::: Харьцангуй өөрчлөлтгүйгээр хэрэглэгддэг FreeBSD төслөөс гаднах хэрэгслүүд ба сангууд ([.filename]#/usr/src/contrib#). `src-crypto release=cvs`:::: Харьцангуй өөрчлөлтгүйгээр хэрэглэгддэг FreeBSD төслөөс гаднах криптограф хэрэгслүүд ба сангууд ([.filename]#/usr/src/crypto#). `src-eBones release=cvs`:::: Kerberos ба DES ([.filename]#/usr/src/eBones#). FreeBSD-ийн одоогийн хувилбаруудад ашигладаггүй. `src-etc release=cvs`:::: Системийн тохиргооны файлууд ([.filename]#/usr/src/etc#). `src-games release=cvs`:::: Тоглоомууд ([.filename]#/usr/src/games#). `src-gnu release=cvs`:::: GNU Нийтийн Лицензтэй хэрэгслүүд ([.filename]#/usr/src/gnu#). `src-include release=cvs`:::: Толгой файлууд ([.filename]#/usr/src/include#). `src-kerberos5 release=cvs`:::: Kerberos5 аюулгүй байдлын багц ([.filename]#/usr/src/kerberos5#). `src-kerberosIV release=cvs`:::: KerberosIV аюулгүй байдлын багц ([.filename]#/usr/src/kerberosIV#). `src-lib release=cvs`:::: Сангууд ([.filename]#/usr/src/lib#). `src-libexec release=cvs`:::: Бусад програмуудаар ажилладаг системийн програмууд ([.filename]#/usr/src/libexec#). `src-release release=cvs`:::: FreeBSD хувилбар гаргахад шаардагдах файлууд ([.filename]#/usr/src/release#). `src-rescue release=cvs`:::: Яаралтай сэргээлт хийхэд зориулсан статикаар холболт хийгдсэн програмууд; man:rescue[8]-г үзнэ үү ([.filename]#/usr/src/rescue#). `src-sbin release=cvs`:::: Ганц хэрэглэгчийн горимд зориулсан системийн хэрэгслүүд ([.filename]#/usr/src/sbin#). `src-secure release=cvs`:::: Криптограф сангууд ба тушаалууд ([.filename]#/usr/src/secure#). `src-share release=cvs`:::: Олон системүүдийн хооронд хуваалцаж болох файлууд ([.filename]#/usr/src/share#). `src-sys release=cvs`:::: Цөм ([.filename]#/usr/src/sys#). `src-sys-crypto release=cvs`:::: Цөмийн криптограф код ([.filename]#/usr/src/sys/crypto#). `src-tools release=cvs`:::: FreeBSD-г арчлахад зориулсан төрөл бүрийн хэрэгслүүд ([.filename]#/usr/src/tools#). `src-usrbin release=cvs`:::: Хэрэглэгчийн хэрэгслүүд ([.filename]#/usr/src/usr.bin#). `src-usrsbin release=cvs`:::: Системийн хэрэгслүүд ([.filename]#/usr/src/usr.sbin#). `distrib release=self`:: CVSup серверийн өөрийн тохиргооны файлууд. CVSup толин тусгал сайтуудад хэрэглэгддэг. `gnats release=current`:: GNATS алдаа мөрдөх мэдээллийн бааз. `mail-archive release=current`:: FreeBSD захидлын жагсаалтын архив. === Дэлгэрэнгүй мэдээллийг CVSup FAQ болон бусад CVSup-ийн тухай мэдээллийг http://www.cvsup.org[ CVSup гэрийн хуудас] хаягаас үзнэ үү. Ихэнх FreeBSD-тэй холбоотой CVSup-ийн хэлэлцүүлэг {freebsd-hackers}-д болдог. Програмын шинэ хувилбар тэнд, бас {freebsd-announce}-д зарлагддаг. CVSup-ийн талаар асуултууд эсвэл алдааны тайлангуудыг http://www.cvsup.org/faq.html#bugreports[ CVSup FAQ] холбоосоос үзнэ үү. [[cvsup-mirrors]] === CVSup сайтууд FreeBSD-д зориулсан <> серверүүд дараах хаягууд дээр ажиллаж байгаа: [[cvs-tags]] == CVS Tags буюу хаягууд [WARNING] ==== CVS нь төслийн хувьд хуучирсан бөгөөд ашиглахыг зөвлөдөггүй. Түүний оронд Subversion-г ашиглах ёстой. ==== cvs эсвэл CVSup ашиглан эхийг авах юм уу эсвэл шинэчилж байгаа үед revision tag буюу залруулалтын хаягийг зааж өгөх ёстой байдаг. Залруулалтын хаяг нь FreeBSD хөгжүүлэлтийн тодорхой нэг байх юм уу эсвэл хугацааны тодорхой нэг цэг байдаг. Эхнийх нь "branch tags" буюу "салбарын хаягууд" гэгддэг бөгөөд хоёр дахь нь "хувилбарын хаягууд" гэгддэг. === Салбарын хаягууд `HEAD`-с (энэ нь үргэлж зөв хаяг байдаг) бусад бүх хаягууд зөвхөн [.filename]#src/# модонд хамаардаг. [.filename]#ports/#, [.filename]#doc/#, болон [.filename]#www/# моднууд нь салбарладаггүй. HEAD:: Гол шугамын симболын нэр, эсвэл FreeBSD-CURRENT. Залруулалт заагаагүй тохиолдолд бас анхдагч байдаг. + CVSup-д энэ хаяг нь `.` гэсэн тэмдэгтээр илэрхийлэгддэг (цэг биш харин `.` тэмдэгт). + [NOTE] ==== CVS-д энэ нь залруулалт заагаагүй тохиолдолд анхдагч байдаг. Хэрэв та өөрөө хүсээгүй л бол STABLE машин дээр CURRENT эхийг татан авч шинэчлэх нь ихэвчлэн тийм ч сайн санаа _биш_ юм. ==== RELENG_9:: FreeBSD-9.X-д зориулсан хөгжүүлэлтийн шугам, бас FreeBSD 8-STABLE гэгддэг RELENG_9_0:: FreeBSD-9.0-д зориулсан хувилбарын салбар, аюулгүй байдлын зөвлөгөөнүүд болон бусад чухал засваруудад зориулж зөвхөн ашиглагддаг. RELENG_8:: FreeBSD-8.X-д зориулсан хөгжүүлэлтийн шугам, бас FreeBSD 8-STABLE гэгддэг RELENG_8_3:: FreeBSD-8.3-д зориулсан хувилбарын салбар, аюулгүй байдлын зөвлөгөөнүүд болон бусад чухал засваруудад зориулж зөвхөн ашиглагддаг. RELENG_8_2:: FreeBSD-8.2-д зориулсан хувилбарын салбар, аюулгүй байдлын зөвлөгөөнүүд болон бусад чухал засваруудад зориулж зөвхөн ашиглагддаг. RELENG_8_1:: FreeBSD-8.1-д зориулсан хувилбарын салбар, аюулгүй байдлын зөвлөгөөнүүд болон бусад чухал засваруудад зориулж зөвхөн ашиглагддаг. RELENG_8_0:: FreeBSD-8.0-д зориулсан хувилбарын салбар, аюулгүй байдлын зөвлөгөөнүүд болон бусад чухал засваруудад зориулж зөвхөн ашиглагддаг. RELENG_7:: FreeBSD-7.X-д зориулсан хөгжүүлэлтийн шугам, бас FreeBSD 7-STABLE гэгддэг RELENG_7_4:: FreeBSD-7.4-д зориулсан хувилбарын салбар, аюулгүй байдлын зөвлөгөөнүүд болон бусад чухал засваруудад зориулж зөвхөн ашиглагддаг. RELENG_7_3:: FreeBSD-7.3-д зориулсан хувилбарын салбар, аюулгүй байдлын зөвлөгөөнүүд болон бусад чухал засваруудад зориулж зөвхөн ашиглагддаг. RELENG_7_2:: FreeBSD-7.2-т зориулсан хувилбарын салбар, аюулгүй байдлын зөвлөгөөнүүд болон бусад чухал засваруудад зориулж зөвхөн ашиглагддаг. RELENG_7_1:: FreeBSD-7.1-д зориулсан хувилбарын салбар, аюулгүй байдлын зөвлөгөөнүүд болон бусад чухал засваруудад зориулж зөвхөн ашиглагддаг. RELENG_7_0:: FreeBSD-7.0-д зориулсан хувилбарын салбар, аюулгүй байдлын зөвлөгөөнүүд болон бусад чухал засваруудад зориулж зөвхөн ашиглагддаг. RELENG_6:: FreeBSD-6.X-д зориулсан хөгжүүлэлтийн шугам, бас FreeBSD 6-STABLE гэгддэг RELENG_6_4:: FreeBSD-6.4-д зориулсан хувилбарын салбар, аюулгүй байдлын зөвлөгөөнүүд болон бусад чухал засваруудад зориулж зөвхөн ашиглагддаг. RELENG_6_3:: FreeBSD-6.3-д зориулсан хувилбарын салбар, аюулгүй байдлын зөвлөгөөнүүд болон бусад чухал засваруудад зориулж зөвхөн ашиглагддаг. RELENG_6_2:: FreeBSD-6.2-д зориулсан хувилбарын салбар, аюулгүй байдлын зөвлөгөөнүүд болон бусад чухал засваруудад зориулж зөвхөн ашиглагддаг. 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 гэгддэг. Энэ салбар нь гол төлөв хуучирсан. === Хувилбарын хаягууд Эдгээр хаягууд нь FreeBSD-ийн тодорхой нэг хувилбар гарсан үеийн цагийн тодорхой цэгийг заадаг. Хувилбар инженерчлэлийн процессийн талаар link:https://www.FreeBSD.org/releng/[Хувилбар инженерчлэлийн мэдээлэл] болон link:{releng}#release-proc/[Хувилбарын процесс] баримтуудад илүү дэлгэрэнгүй баримтжуулагдсан байдаг. [.filename]#src# мод нь `RELENG_` гэж эхэлсэн хаягийн нэрсийг ашигладаг. [.filename]#ports# болон [.filename]#doc# моднууд нь `RELEASE` гэж эхэлсэн хаягийн нэрсийг ашигладаг. Төгсгөлд нь [.filename]#www# мод нь хувилбаруудад зориулсан ямар нэг тусгай нэрээр хаяглагддаггүй. RELENG_9_0_0_RELEASE:: FreeBSD 9.0 RELENG_8_3_0_RELEASE:: FreeBSD 8.3 RELENG_8_2_0_RELEASE:: FreeBSD 8.2 RELENG_8_1_0_RELEASE:: FreeBSD 8.1 RELENG_8_0_0_RELEASE:: FreeBSD 8.0 RELENG_7_4_0_RELEASE:: FreeBSD 7.4 RELENG_7_3_0_RELEASE:: FreeBSD 7.3 RELENG_7_2_0_RELEASE:: FreeBSD 7.2 RELENG_7_1_0_RELEASE:: FreeBSD 7.1 RELENG_7_0_0_RELEASE:: FreeBSD 7.0 RELENG_6_4_0_RELEASE:: FreeBSD 6.4 RELENG_6_3_0_RELEASE:: FreeBSD 6.3 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 [[mirrors-rsync]] == rsync сайтууд Дараах сайтууд нь FreeBSD-г rsync протоколоор түгээгдэх боломжийг бүрдүүлдэг. rsync хэрэгсэл нь man:rcp[1] тушаалтай бараг төстэйгөөр ажилладаг боловч илүү олон тохируулгуудтай бөгөөд хоёр талын файлуудын зөвхөн ялгаатайг нь дамжуулдаг. Ингэснээр сүлжээгээр хийх хамгийн сүүлийн хэлбэрт аваачих үйлдлийг ихээхэн хурдасгадаг байна. Хэрэв та FreeBSD FTP сервер юм уу эсвэл CVS архивын толин тусгал сайт бол энэ нь их ашигтай байдаг. rsync цуглуулга нь олон үйлдлийн системүүд дээр байдаг. FreeBSD-ийн хувьд package:net/rsync[] порт эсвэл багцыг үзнэ үү. Бүгд Найрамдах Чех Улс:: rsync://ftp.cz.FreeBSD.org/ + Байгаа цуглуулгууд: ** ftp: FreeBSD FTP серверийн хэсэгчилсэн толин тусгал. ** FreeBSD: FreeBSD FTP серверийн бүрэн толин тусгал. Нидерланд:: rsync://ftp.nl.FreeBSD.org/ + Байгаа цуглуулгууд: ** FreeBSD: FreeBSD FTP серверийн бүрэн толин тусгал. Орос:: rsync://ftp.mtu.ru/ + Байгаа цуглуулгууд: ** FreeBSD: FreeBSD FTP серверийн бүрэн толин тусгал. ** FreeBSD-gnats: GNATS цох хянах мэдээллийн сан. ** FreeBSD-Archive: FreeBSD архив FTP серверийн бүрэн толин тусгал. Швед:: rsync://ftp4.se.freebsd.org/ + Байгаа цуглуулгууд: ** FreeBSD: FreeBSD FTP серверийн бүрэн толин тусгал. Тайвань:: rsync://ftp.tw.FreeBSD.org/ + rsync://ftp2.tw.FreeBSD.org/ + rsync://ftp6.tw.FreeBSD.org/ + Байгаа цуглуулгууд: ** FreeBSD: FreeBSD FTP серверийн бүрэн толин тусгал. Их Британи:: rsync://rsync.mirrorservice.org/ + Байгаа цуглуулгууд: ** ftp.freebsd.org: FreeBSD FTP серверийн бүрэн толин тусгал. Америкийн Нэгдсэн Улс:: rsync://ftp-master.FreeBSD.org/ + Энэ серверийг FreeBSD-ийн анхдагч толин тусгал сайтууд зөвхөн хэрэглэж болно. + Байгаа цуглуулгууд: ** FreeBSD: FreeBSD FTP серверийн мастер архив. ** acl: FreeBSD-ийн мастер ACL жагсаалт. + rsync://ftp13.FreeBSD.org/ + Байгаа цуглуулгууд: + ** FreeBSD: FreeBSD FTP серверийн бүрэн толин тусгал. diff --git a/documentation/content/nl/books/handbook/cutting-edge/_index.adoc b/documentation/content/nl/books/handbook/cutting-edge/_index.adoc index d5ae41ac6d..55d48123f6 100644 --- a/documentation/content/nl/books/handbook/cutting-edge/_index.adoc +++ b/documentation/content/nl/books/handbook/cutting-edge/_index.adoc @@ -1,1520 +1,1520 @@ --- title: Hoofdstuk 24. FreeBSD updaten en upgraden part: Deel III. Systeembeheer prev: books/handbook/l10n next: books/handbook/dtrace --- [[updating-upgrading]] = FreeBSD updaten en upgraden :doctype: book :toc: macro :toclevels: 1 :icons: font :sectnums: :sectnumlevels: 6 :source-highlighter: rouge :experimental: :skip-front-matter: :toc-title: Inhoudsopgave :table-caption: Tabel :figure-caption: Afbeelding :example-caption: Voorbeeld :xrefstyle: basic :relfileprefix: ../ :outfilesuffix: :sectnumoffset: 24 ifeval::["{backend}" == "html5"] :imagesdir: ../../../images/books/handbook/cutting-edge/ endif::[] ifeval::["{backend}" == "pdf"] :imagesdir: ../../../../static/images/books/handbook/cutting-edge/ endif::[] ifeval::["{backend}" == "epub3"] :imagesdir: ../../../../static/images/books/handbook/cutting-edge/ endif::[] include::shared/authors.adoc[] include::shared/releases.adoc[] include::shared/nl/mailing-lists.adoc[] include::shared/nl/teams.adoc[] include::shared/nl/urls.adoc[] toc::[] [[updating-upgrading-synopsis]] == Overzicht FreeBSD wordt ontwikkeld tussen de verschillende versies in. Sommige mensen prefereren om de officieel uitgegeven versies te draaien, terwijl anderen gesynchroniseerd willen blijven met de nieuwste ontwikkelingen. Zelfs officiële uitgaven echter worden vaak bijgewerkt met veiligheids- en andere kritieke reparaties. Ongeacht de gebruikte versie biedt FreeBSD alle noodzakelijke gereedschappen om uw systeem bijgewerkt te houden, en maakt FreeBSD het upgraden tussen versies ook gemakkelijk. Dit hoofdstuk helpt om een keuze te maken of het wenselijk is het ontwikkelsysteem te volgen of één van de uitgegeven versies. De basisgereedschappen om uw systeem bijgewerkt te houden worden ook gepresenteerd. Na het lezen van dit hoofdstuk weet de lezer: * Welke gereedschappen gebruikt kunnen worden om het systeem en de Portscollectie te updaten. * Hoe een systeem bijgewerkt kan worden met freebsd-update, CVSup, CVS of CTM; * Hoe de toestand van een geïnstalleerd systeem met een bekende maagdelijke kopie te vergelijken. * Hoe uw documentatie bijgewerkt te houden met CVSup of documentatie-ports. * De verschillen tussen de ontwikkeltakken FreeBSD-STABLE en FreeBSD-CURRENT; * Hoe een basissysteem opnieuw te compileren en te herinstalleren met `make buildworld`, enzovoort. Veronderstelde criteria: * Een juist ingesteld netwerk (crossref:advanced-networking[advanced-networking,Geavanceerd netwerken]); * Weten hoe software van derden te installeren (crossref:ports[ports,Applicaties installeren. pakketten en ports]). [NOTE] ==== Door dit hoofdstuk heen wordt `cvsup` gebruikt om de broncode van FreeBSD te verkrijgen en bij te werken. Om het te gebruiken, dient u de port of het pakket voor package:net/cvsup[] te installeren (als u niet de grafische `cvsup`-cliënt wilt installeren, kunt u de port [.filename]#net/cvsup-without-gui# installeren. U kunt ervoor kiezen om dit te vervangen door man:csup[1] welke onderdeel is van het basissysteem. ==== [[updating-upgrading-freebsdupdate]] == FreeBSD Update Het toepassen van beveiligingspatches is een belangrijk onderdeel van het beheren van computersoftware, met name het besturingssysteem. Dit was voor een lange tijd geen gemakkelijk proces op FreeBSD. Er moesten patches op de broncode worden toegepast, de code moest herbouwd worden tot binairen, en daarna moesten de binairen worden geherinstalleerd. Dit is niet langer het geval aangezien FreeBSD nu een gereedschap heeft dat eenvoudigweg `freebsd-update` heet. Dit gereedschap biedt twee gescheiden functies. Ten eerste voorziet het in het toepassen van binaire beveiligings- en errata-updates op het basissysteem van FreeBSD zonder de eis om te bouwen en te installeren. Ten tweede ondersteunt het gereedschap kleine en grote uitgave-upgrades. [NOTE] ==== Binaire updates zijn beschikbaar voor alle architecturen en uitgaveaankondigingen dienen gelezen te worden aangezien deze belangrijke informatie over de gewenste uitgave kunnen bevatten. De aankondigingen kunnen op de volgende koppelin bekeken worden: http://www.FreeBSD.org/releases/[http://www.FreeBSD.org/releases/]. ==== Als er een `crontab` bestaat die de mogelijkheden van `freebsd-update` gebruikt, moet het uitgeschakeld worden voordat aan de volgende operatie wordt begonnen. [[freebsdupdate-config-file]] === Het configuratiebestand Sommige gebruikers willen het standaard configuratiebestand optimaliseren, waardoor het proces beter gecontroleerd kan worden. De opties zijn goed gedocumenteerd, maar voor de volgenden is wat extra uitleg nodig: [.programlisting] .... # Componenten van het basissysteem die bijgewerkt moeten blijven Components src world kernel .... Deze parameter bepaalt welke delen van FreeBSD bijgewerkt blijven. Standaard wordt de broncode bijgewerkt, het hele basissysteem, en de kernel. Dezelfde componenten als tijdens de installatie zijn beschikbaar, het toevoegen van bijvoorbeeld `world/games` zou de spelpatches toepassen. Het gebruik van `src/bin` zou de broncode in [.filename]#src/bin# bijgewerkt houden. Het beste kan dit op de standaardwaarde blijven aangezien het veranderen hiervan om specifieke items te bevatten de gebruiker dwingt om alle items die bijgewerkt dienen te worden op te noemen. Dit kan rampzalige gevolgen hebben aangezien de broncode en de binairen asynchroon kunnen raken. [.programlisting] .... # Paden die beginnen met iets wat overeenkomt met een regel in een IgnorePaths # statement zullen genegeerd worden. IgnorePaths .... Voeg paden, zoals [.filename]#/bin# of [.filename]#/sbin# toe om deze specifieke mappen ongemoeid te laten tijdens het updateproces. Deze optie kan gebruikt worden om te voorkomen dat `freebsd-update` lokale wijzigingen overschrijft. [.programlisting] .... # Paden die beginnen met iets wat overeenkomt met een regel in een UpdateIfUnmodified # statement zullen alleen worden bijgewerkt als de inhoud van het bestand niet is # gewijzigd door de gebruiker (tenzij veranderingen zijn samengevoegd; zie beneden). UpdateIfUnmodified /etc/ /var/ /root/ /.cshrc /.profile .... Werk configuratiebestanden in de aangegeven mappen alleen bij als ze niet zijn gewijzigd. Alle veranderingen die door de gebruiker zijn gemaakt maken het automatisch bijwerken van deze bestanden ongeldig. Er is een andere optie, `KeepModifiedMetadata`, die `freebsd-update` instrueert om de veranderingen tijdens het samenvoegen te bewaren. [.programlisting] .... # Wanneer naar een nieuwe uitgave van FreeBSD wordt ge-upgraded, worden lokale veranderingen van bestanden die overeenkomen met MergeChanges # samengevoegd in de versie van de nieuwe uitgave. MergeChanges /etc/ /var/named/etc/ .... Lijst van mappen met instellingenbestanden waar `freebsd-update` moet proberen om in samen te voegen. Het proces van bestanden samenvoegen is een serie van man:diff[1]-patches die ongeveer gelijk is aan man:mergemaster[8] met minder opties, de samenvoegingen worden ofwel geaccepteerd, of openen een tekstverwerker, of zorgen ervoor dat `freebsd-update` afbreekt. Maak in geval van twijfel een reservekopie van [.filename]#/etc# en accepteer de samenvoegingen. In <> staat meer informatie over het commando `mergemaster`. [.programlisting] .... # Map waarin de gedownloade updates en tijdelijke bestanden # die door een FreeBSD Update worden gebruikt worden opgeslagen. # WorkDir /var/db/freebsd-update .... Dit is de map waarin alle patches en tijdelijke bestanden worden geplaatst. In het geval dat de gebruiker een versie-upgrade uitvoert, dient deze locatie tenminste een gigabyte aan vrije schijfruimte te hebben. [.programlisting] .... # Wanneer tussen uitgaven wordt ge-upgraded, dient de lijst van Componenten dan # strikt gelezen te worden (StrictComponents yes) of slechts als een lijst van componenten # die geïnstalleerd *kunnen* worden en waarvan FreeBSD Update uit dient te zoeken # welke daadwerkelijk zijn geïnstalleerd en die te upgraden (StrictComponents no)? # StrictComponents no .... Wanneer ingesteld op `yes`, zal `freebsd-update` aannemen dat de lijst `Components` compleet is en zal het niet proberen om wijzigingen buiten de lijst te maken. Effectief zal `freebsd-update` proberen om elk bestand bij te werken dat op de lijst `Components` staat. [[freebsdupdate-security-patches]] === Beveiligingspatches Beveiligingspatches staan op een verre machine en kunnen met het volgende commando gedownload en geïnstalleerd worden: [source,shell] .... # freebsd-update fetch # freebsd-update install .... Als er kernelpatches zijn toegepast moet het systeem opnieuw opgestart worden. Als alles goed is gegaan dient het systeem gepatcht te zijn en kan `freebsd-update` als een nachtelijke man:cron[8]-taak gedraaid worden. Een regel in [.filename]#/etc/crontab# zou genoeg moeten zijn om deze taak te volbrengen: [.programlisting] .... @daily root freebsd-update cron .... Deze regel verklaart dat eenmaal per dag het commando `freebsd-update` gedraaid zal worden. Op deze manier, door het argument `cron` te gebruiken, zal het gereedschap `freebsd-update` alleen kijken of er updates bestaan. Als er patches bestaan, zullen ze automatisch worden gedownload naar de plaatselijke schijf maar niet worden toegepast. Er zal een email aan de gebruiker `root` worden verstuurd zodat ze handmatig geïnstalleerd kunnen worden. Als er iets misging, heeft `freebsd-update` de mogelijkheid om de laatste verzamelingen veranderingen terug te draaien met het volgende commando: [source,shell] .... # freebsd-update rollback .... Eenmaal voltooid, dient het systeem herstart te worden als de kernel of enige kernelmodule is gewijzigd. Dit stelt FreeBSD in staat om de nieuwe binairen in het geheugen te laden. Het gereedschap `freebsd-update` kan alleen de kernel [.filename]#GENERIC# automatisch bijwerken. Als een eigen kernel wordt gebruikt, moet het herbouwd en geherinstalleerd worden nadat `freebsd-update` klaar is met het installeren de rest van de updates. `freebsd-update` zal echter de kernel [.filename]#GENERIC# in [.filename]#/boot/GENERIC# detecteren en bijwerken (als het bestaat), zelfs als het niet de huidige (draaiende) kernel van het systeem is. [NOTE] ==== Het is een goed idee om altijd een kopie van de kernel [.filename]#GENERIC# in [.filename]#/boot/GENERIC# te bewaren. Het kan van pas komen bij het vaststellen van een keur aan problemen, en bij het uitvoeren van versie-upgrades met `freebsd-update` zoals beschreven in <>. ==== Tenzij de standaardconfiguratie in [.filename]#/etc/freebsd-update.conf# is gewijzigd, zal `freebsd-update` de bijgewerkte kernelbronnen samen met de rest van de updates installeren. Het herbouwen en herinstalleren van uw nieuwe eigen kernel kan daarna op de gebruikelijke manier gedaan worden. [NOTE] ==== De updates die via `freebsd-update` verspreid worden hebben niet altijd betrekking op de kernel. Het is niet nodig om uw eigen kernel te herbouwen als de kernelbronnen niet zijn aangepast door het uitvoeren van `freebsd-update install`. `freebsd-update install` zal echter altijd het bestand [.filename]#/usr/src/sys/conf/newvers.sh# bijwerken. Het huidige patchniveau (zoals aangegeven door het `-p`-nummer gerapporteerd door `uname -r`) wordt uit dit bestand gehaald. Het herbouwen van uw eigen kernel, zelfs als er niets veranderd is, stelt man:uname[1] in staat om het huidige patchniveau van het systeem accuraat te rapporteren. Dit is in het bijzonder behulpzaam wanneer meerdere systemen onderhouden worden, aangezien hierdoor snel de geïnstalleerde updates op elk ervan kunnen worden nagegaan. ==== [[freebsdupdate-upgrade]] === Grote en kleine upgrades Dit proces ruimt oude objectbestanden en bibliotheken op waardoor de meeste applicaties van derde partijen kapot gaan. Het wordt aangeraden dat alle geïnstalleerde poorten ofwel verwijderd en geherinstalleerd worden of later ge-upgraded worden met het hulpmiddel package:ports-mgmt/portupgrade[]. De meeste gebruikers zullen willen proefdraaien met het volgende commando: [source,shell] .... # portupgrade -af .... Dit zorgt ervoor dat alles juist wordt geherinstalleerd. Merk op dat het instellen van de omgevingsvariabele `BATCH` op `yes` het antwoord `yes` zal geven op alle prompts tijdens dit proces, waardoor het niet nodig is om handmatig in het bouwproces in te grijpen. Als een eigen kernel wordt gebruikt, is het upgradeproces iets ingewikkelder. Een kopie van de kernel [.filename]#GENERIC# is nodig en dient in [.filename]#/boot/GENERIC# geplaatst te worden. Als de kernel [.filename]#GENERIC# niet reeds op het systeem aanwezig is, moet het met één van de volgende methoden verkregen worden: * Als er slechts eenmaal een eigen kernel is gebouwd, dan is de kernel in [.filename]#/boot/kernel.old# eigenlijk de [.filename]#GENERIC#. Hernoem deze map naar [.filename]#/boot/GENERIC#. * Aannemende dat fysieke toegang tot de machine mogelijk is, kan een kopie van de kernel [.filename]#GENERIC# van het CD-ROM-medium worden geïnstalleerd. Laad de installatieschijf en geef de volgende commando's: + [source,shell] .... # mount /cdrom # cd /cdrom/X.Y-RELEASE/kernels # ./install.sh GENERIC .... + Vervang [.filename]#X.Y-RELEASE# met de versie van de uitgave die u gebruikt. De kernel [.filename]#GENERIC# zal standaard in [.filename]#/boot/GENERIC# worden geïnstalleerd. * Als al het bovenstaande niet lukt, kan de kernel [.filename]#GENERIC# herbouwd en geherinstalleerd worden vanaf de broncode: + [source,shell] .... # cd /usr/src # env DESTDIR=/boot/GENERIC make kernel # mv /boot/GENERIC/boot/kernel/* /boot/GENERIC # rm -rf /boot/GENERIC/boot .... + Om deze kernel door `freebsd-update` als [.filename]#GENERIC# te laten herkennen, mag het configuratiebestand voor [.filename]#GENERIC# niet op enige wijze veranderd zijn. Het is ook aan te raden dat het zonder andere speciale opties wordt gebouwd (bij voorkeur met een leeg [.filename]#/etc/make.conf#). Opnieuw opstarten naar de kernel [.filename]#GENERIC# is in dit stadium niet nodig. Updates van grote en kleine versies kunnen worden uitgevoerd door een uitgaveversie als doel aan `freebsd-update` op te geven, het volgende commando zal bijvoorbeeld updaten naar FreeBSD 8.1: [source,shell] .... # freebsd-update -r 8.1-RELEASE upgrade .... Nadat het commando is ontvangen, zal `freebsd-update` het instellingenbestand en het huidige systeem evalueren in een poging om de benodigde informatie te verzamelen om het systeem te updaten. Een lijst op het scherm zal aangeven welke componenten zijn gedetecteerd en welke niet. Bijvoorbeeld: [source,shell] .... Looking up update.FreeBSD.org mirrors... 1 mirrors found. Fetching metadata signature for 8.0-RELEASE from update1.FreeBSD.org... done. Fetching metadata index... done. Inspecting system... done. The following components of FreeBSD seem to be installed: kernel/smp src/base src/bin src/contrib src/crypto src/etc src/games src/gnu src/include src/krb5 src/lib src/libexec src/release src/rescue src/sbin src/secure src/share src/sys src/tools src/ubin src/usbin world/base world/info world/lib32 world/manpages The following components of FreeBSD do not seem to be installed: kernel/generic world/catpages world/dict world/doc world/games world/proflibs Does this look reasonable (y/n)? y .... Nu zal `freebsd-update` proberen om alle bestanden die nodig zijn voor de upgrade te downloaden. In sommige gevallen kan de gebruiker worden gevraagd wat te installeren of hoe verder te gaan. Wanneer een eigen kernel wordt gebruikt, zal de bovenstaande stap een waarschuwing geven die lijkt op de volgende: [source,shell] .... WARNING: This system is running a "MIJNKERNEL" kernel, which is not a kernel configuration distributed as part of FreeBSD 8.0-RELEASE. This kernel will not be updated: you MUST update the kernel manually before running "/usr/sbin/freebsd-update install" .... Deze waarschuwing kan op dit moment veilig worden genegeerd. De bijgewerkte kernel [.filename]#GENERIC# zal als tussenliggende stap in het upgradeproces worden gebruikt. Nadat alle patches zijn gedownload naar het plaatselijke systeem zullen ze worden toegepast. Dit proces kan afhankelijk van de snelheid en werklast van de machine even duren. Hierna zullen instellingenbestanden worden samengevoegd - voor dit gedeelte van het proces is enige tussenkomst van de gebruiker nodig aangezien een bestand kan worden samengevoegd of omdat er een tekstverwerker op het scherm kan verschijnen om het bestand handmatig samen te voegen. Het resultaat van elke succesvolle samenvoeging zal aan de gebruiker worden getoond naarmate het proces verder gaat. Een mislukte of genegeerde samenvoegpoging zal het proces afbreken. Het is mogelijk voor gebruikers om een reservekopie van [.filename]#/etc# te maken en belangrijke bestanden, zoals [.filename]#master.passwd# of [.filename]#group#, later samen te voegen. [NOTE] ==== Het systeem is nog niet veranderd, al het patchen en samenvoegen gebeurt in een andere map. Wanneer alle patches succesvol zijn toegepast, alle instellingenbestanden zijn samengevoegd en het erop lijkt dat het proces soepel verloopt, dienen de veranderingen verzegeld te worden door de gebruiker. ==== Als dit proces eenmaal voltooid is, kan de upgrade aan de schijf toevertrouwd worden met het volgende commando. [source,shell] .... # freebsd-update install .... De kernel en kernelmodules zullen als eerste gepatcht worden. Nu moet de machine opnieuw opgestart worden. Als het systeem een eigen kernel draaide, gebruik dan het commando man:nextboot[8] om de kernel voor de volgende keer dat opgestart wordt in te stellen op [.filename]#/boot/GENERIC# (welke is bijgewerkt): [source,shell] .... # nextboot -k GENERIC .... [WARNING] ==== Voordat er met de kernel [.filename]#GENERIC# wordt opgestart, dient te worden gecontroleerd dat het alle stuurprogramma's bevat om uw systeem juist te laten opstarten (en met het netwerk te verbinden, als de machine die bijgewerkt wordt van afstand wordt benaderd). In het bijzonder, als de vorige kernel die draaide ingebouwde functionaliteit bevatte die normaalgesproken door kernelmodules wordt geleverd, zorg er dan voor dat deze modules tijdelijk in de kernel [.filename]#GENERIC# worden geladen door de faciliteit [.filename]#/boot/loader.conf# te gebruiken. U kunt er ook voor kiezen om niet-essentiële diensten, schijf- en netwerkkoppelingen, enzovoorts uit te zetten totdat het upgradeproces voltooid is. ==== De machine dient nu te worden herstart met de bijgewerkte kernel: [source,shell] .... # shutdown -r now .... Als het systeem weer actief is, moet `freebsd-update` nogmaals gestart worden. De toestand van het proces is opgeslagen en dus zal `freebsd-update` niet vooraan beginnen, maar zal het alle oude gedeelde bibliotheken en objectbestanden verwijderen. Geef het volgende commando om verder te gaan op dit punt: [source,shell] .... # freebsd-update install .... [NOTE] ==== Afhankelijk van het feit of er versienummers van bibliotheken zijn opgehoogd, kunnen er slechts twee in plaats van drie installatiefasen zijn. ==== Alle software van derde partijen dient nu opnieuw gebouwd en geïnstalleerd te worden. Dit is nodig omdat geïnstalleerde software van bibliotheken afhankelijk kan zijn die tijdens het upgradeproces zijn verwijderd. Het commando package:ports-mgmt/portupgrade[] kan gebruikt worden om dit proces te automatiseren. Dit proces kan met de volgende commando's gestart worden: [source,shell] .... # portupgrade -f ruby # rm /var/db/pkg/pkgdb.db # portupgrade -f ruby18-bdb # rm /var/db/pkg/pkgdb.db /usr/ports/INDEX-*.db # portupgrade -af .... Voltooi, nadat dit voltooid is, het upgradeproces met een laatste aanroep naar `freebsd-update`. Geef het volgende commando om alle losse eindjes in het upgradeproces samen te knopen: [source,shell] .... # freebsd-update install .... Als de kernel [.filename]#GENERIC# tijdelijk werd gebruikt, is dit het moment om een nieuwe eigen kernel op de gebruikelijke manier te bouwen en installeren. Start de machine opnieuw op in de nieuwe FreeBSD-versie. Het proces is voltooid. [[freebsdupdate-system-comparison]] === Het vergelijken van systeemtoestanden Het gereedschap `freebsd-update` kan gebruikt worden om de toestand van de geïnstalleerde versie van FreeBSD met een bekende goede kopie te vergelijken. Deze optie evalueert de huidige versie van systeemgereedschappen, bibliotheken, en instellingenbestanden. Geef het volgende commando om met de vergelijking te beginnen: [source,shell] .... # freebsd-update IDS >> uitvoerbestand.ids .... [WARNING] ==== Hoewel de commandonaam IDS is, is het in geen geval een vervanging voor een indringdetectiesysteem zoals package:security/snort[]. Aangezien `freebsd-update` gegevens op schijf opslaat, is de mogelijkheid om te knoeien duidelijk. Hoewel deze mogelijkheid verminderd kan worden door de instelling `kern.securelevel` te gebruiken en de gegevens van `freebsd-update` op een bestandssysteem dat alleen gelezen kan worden op te slaan wanneer deze niet gebruikt worden, zou een betere oplossing zijn om het systeem met een veilige schijf te vergelijken, zoals een DVD of een veilig opgeslagen externe USB-schijf. ==== Het systeem zal nu geïnspecteerd worden, en er zal een lijst van hun man:sha256[1]-hashwaarden, zowel de bekende waarde in de uitgave en de huidige geïnstalleerde waarde, afgebeeld worden. Hierom wordt de uitvoer naar het bestand [.filename]#uitvoerbestand.ids# gezonden. Het scrollt te snel voorbij om het met het oog te vergelijken, en het vult al snel de gehele consolebuffer op. Deze regels zijn ook extreem lang, maar het uitvoerformaat kan vrij eenvoudig geparsed worden. Geef, om bijvoorbeeld een lijst van alle bestanden te krijgen die verschillen van die in de uitgave, het volgende commando: [source,shell] .... # cat uitvoerbestand.ids | awk '{ print $1 }' | more /etc/master.passwd /etc/motd /etc/passwd /etc/pf.conf .... Deze uitvoer is afgekapt, er bestaan veel meer bestanden. Sommige van deze bestanden hebben natuurlijke veranderingen, het [.filename]#/etc/passwd# is gewijzigd omdat er gebruikers aan het systeem zijn toegevoegd. In sommige gevallen kunnen er andere bestanden zijn, zoals kernelmodules, die verschillen aangezien `freebsd-update` ze ge-updated kan hebben. Voeg, om bepaalde bestanden of mappen uit te sluiten, deze toe aan de optie `IDSIgnorePaths` in [.filename]#/etc/freebsd-update.conf#. Dit systeem kan gebruikt worden als deel van een uitgebreide upgrademethode, afgezien van de eerder besproken versie. [[updating-upgrading-portsnap]] == Portsnap: een updategereedschap voor de Portscollectie Het basissysteem van FreeBSD bevat ook een gereedschap om de Portscollectie bij te werken: het hulpmiddel man:portsnap[8]. Wanneer het wordt uitgevoerd, zal het een verbinding maken met een verre site, de veilige sleutel controleren, en een nieuwe kopie van de Portscollectie downloaden. De sleutel wordt gebruikt om de integriteit van alle gedownloade bestanden te controleren, om er zeker van te zijn dat ze niet tijdens het downloaden zijn gewijzigd. Geef het volgende commando om de nieuwste versie van de bestanden van de Portscollectie te downloaden: [source,shell] .... # portsnap fetch Looking up portsnap.FreeBSD.org mirrors... 9 mirrors found. Fetching snapshot tag from geodns-1.portsnap.freebsd.org... done. Fetching snapshot metadata... done. Updating from Tue May 22 02:12:15 CEST 2012 to Wed May 23 16:28:31 CEST 2012. Fetching 3 metadata patches.. done. Applying metadata patches... done. Fetching 3 metadata files... done. Fetching 90 patches.....10....20....30....40....50....60....70....80....90. done. Applying patches... done. Fetching 133 new ports or files... done. .... Dit voorbeeld laat zien dat man:portsnap[8] verscheidene patches heeft gevonden en deze met de huidige portsgegevens heeft gecontroleerd. Het geeft ook aan dat het gereedschap eerder is gedraaid, als het voor de eerste keer was gedraaid, had het simpelweg de collectie gedownload. Wanneer man:portsnap[8] succesvol een `fetch`-operatie afrondt, bestaan de Portscollectie en de vervolgpatches die de verificatie doorstaan hebben op het plaatselijke systeem. Gebruik de eerste keer dat `portsnap` wordt uitgevoerd `extract` om de gedownloade bestanden te installeren: [source,shell] .... # portsnap extract /usr/ports/.cvsignore /usr/ports/CHANGES /usr/ports/COPYRIGHT /usr/ports/GIDs /usr/ports/KNOBS /usr/ports/LEGAL /usr/ports/MOVED /usr/ports/Makefile /usr/ports/Mk/bsd.apache.mk /usr/ports/Mk/bsd.autotools.mk /usr/ports/Mk/bsd.cmake.mk ... .... Om een reeds geïnstalleerde Ports Collectie te updaten kan er gebruik worden gemaakt van het commando `portsnap update`: [source,shell] .... # portsnap update .... Het proces is nu compleet, en applicaties kunnen met de bijgewerkte Portscollectie worden geïnstalleerd of worden bijgewerkt. De bewerkingen `fetch` en `extract` of `update` kunnen achter elkaar uitgevoerd worden, zoals het volgende voorbeeld laat zien: [source,shell] .... # portsnap fetch update .... Dit commando zal de laatste versie van de Ports Collectie downloaden en de lokale versie bijwerken in de [.filename]#/usr/ports#. [[updating-upgrading-documentation]] == De documentatie bijwerken Naast het basissysteem en de Portscollectie is documentatie een integraal onderdeel van het besturingssysteem FreeBSD. Hoewel een actuele versie van de FreeBSD-documentatie altijd beschikbaar is op de http://www.freebsd.org/doc/[FreeBSD website], hebben sommige gebruikers een langzame of helemaal geen permanente netwerkverbinding. Gelukkig zijn er verschillende manieren om de documentatie die bij elke uitgave wordt geleverd bij te werken door een lokale kopie van de nieuwste FreeBSD-documentatie bij te houden. [[dsvn-doc]] === Subversion gebruiken om de documentatie bij te werken De bronnen van de FreeBSD-documentatie kunnen met Subversion worden bijgewerkt. Deze sectie beschrijft: * Hoe de documentatiegereedschappen, de gereedschappen die nodig zijn om de FreeBSD-documentatie vanuit de broncode te herbouwen, te installeren. * Hoe een kopie van de documentatiebronnen in [.filename]#/usr/doc# te downloaden door Subversion te gebruiken. * Hoe de FreeBSD-documentatie vanuit de broncode te herbouwen en onder [.filename]#/usr/shared/doc# te installeren. * Sommige bouwopties die door het bouwsysteem van de documentatie ondersteund worden, i.e., de opties die slechts enkele van de verschillende vertalingen van de documentatie bouwen of de opties die een specifiek uitvoerformaat selecteren. [[installing-documentation-toolchain]] === Subversion en de documentatiegereedschappen installeren Voor het herbouwen van de FreeBSD-documentatie vanuit de broncode is een aardig grote verzameling gereedschappen nodig. Deze gereedschappen zijn geen deel van het basissysteem van FreeBSD omdat ze een grote hoeveelheid schijfruimte nodig hebben en niet voor alle FreeBSD-gebruikers nuttig zijn; ze zijn alleen nuttig voor die gebruikers die actief nieuwe documentatie voor FreeBSD schrijven of regelmatig hun documentatie vanuit de broncode bijwerken. Alle benodigde gereedschappen zijn beschikbaar als deel van de Portscollectie. De port package:textproc/docproj[] is een meester-port die door het FreeBSD Documentatieproject is ontwikkeld om de installatie en toekomstige updates van deze gereedschappen makkelijker te maken. [NOTE] ==== Wanneer er geen PostScript(R)- of PDF-documentatie nodig is, kan men overwegen om in plaats hiervan de port package:textproc/docproj-nojadetex[] te installeren. Deze versie van de documentatiegereedschappen bevat alles behalve de typesetting-engine teTeX. teTeX is een erg grote verzameling van gereedschappen, dus kan het zinvol zijn om de installatie ervan achterwege te laten als PDF-uitvoer niet echt nodig is. ==== Subversion wordt geïnstalleerd met de port package:textproc/docproj[]. [[updating-documentation-sources]] === De documentatiebroncode bijwerken Het programma Subversion kan een schone kopie van de documentatiebroncode ophalen door het volgende te typen: [source,shell] .... # svn checkout svn://svn.FreeBSD.org/doc/head /usr/doc .... De initiële download van de documentatiebroncode kan een tijd duren. Laat het draaien totdat het voltooid is. Toekomstige updates van de documentatiebroncode kunnen opgehaald worden door het volgende commando te draaien: [source,shell] .... # svn update /usr/doc .... Nadat de broncode is uitgecheckt, wordt een alternatieve manier om de documentatie bij te werken ondersteund door [.filename]#Makefile# van de map [.filename]#/usr/doc# door het volgende te draaien: [source,shell] .... # cd /usr/doc # make update .... [[updating-documentation-options]] === Instelbare opties van de documentatiebroncode Het bijwerk- en bouwsysteem van de FreeBSD-documentatie ondersteunt enkele opties die het proces om de documentatie alleen gedeeltelijk bij te werken, of om specifieke vertalingen te bouwen, makkelijker maken. Deze opties kunnen of als systeemwijde opties in het bestand [.filename]#/etc/make.conf# worden ingesteld, of als opdrachtregelopties aan het hulpmiddel man:make[1] worden doorgegeven. De volgende opties zijn er enkelen van: `DOC_LANG`:: De lijst van te bouwen en te installeren talen en coderingen, bijvoorbeeld `en_US.ISO8859-1` voor alleen de Engelse documentatie. `FORMATS`:: Een enkel formaat of een lijst van uitvoerformaten die gebouwd moeten worden. Momenteel worden `html`, `html-split`, `txt`, `ps`, `pdf`, en `rtf` ondersteund. `DOCDIR`:: Waar de documentatie te installeren. Dit staat standaard op [.filename]#/usr/shared/doc#. Bekijk man:make.conf[5] voor meer make-variabelen die als systeemwijde opties in FreeBSD worden ondersteund. Voor meer make-variabelen die door het bouwsysteem van de FreeBSD-documentatie ondersteund worden, wordt naar het link:www.FreeBSD.org/books/fdp-primer[FreeBSD Documentation Project Primer for New Contributors] verwezen. [[updating-installed-documentation]] === De FreeBSD-documentatie vanuit de broncode installeren Wanneer er een actueel snapshot van de documentatiebroncode is opgehaald in [.filename]#/usr/doc#, is alles gereed om de geïnstalleerde documentatie bij te werken. Het volledig bijwerken van alle talen die in de Makefile-optie `DOC_LANG` zijn gedefinieerd kan worden gedaan door te typen: [source,shell] .... # cd /usr/doc # make install clean .... Als alleen het bijwerken van een specifieke taal gewenst is, dan kan man:make[1] worden aangeroepen in een taalspecifieke submap van [.filename]#/usr/doc#, i.e.: [source,shell] .... # cd /usr/doc/en_US.ISO8859-1 # make update install clean .... De te installeren uitvoerformaten kunnen worden gespecificeerd door de make-variabele `FORMATS` in te stellen, i.e.: [source,shell] .... # cd /usr/doc # make FORMATS='html html-split' install clean .... [[doc-ports]] === Documentatieports gebruiken In de vorige sectie werd er een methode voor het bijwerken van de FreeBSD-documentatie vanaf de broncode gepresenteerd. Het bijwerken gebaseerd op broncode is echter niet voor alle FreeBSD-systemen haalbaar of praktisch. Voor het bouwen van de documentatiebronnen zijn een redelijk grote verzameling van gereedschappen, de _documentatie gereedschapskist_, een bepaald niveau van bekendheid met Subversion en checkouts van broncode vanuit een reservoir nodig, en een aantal handmatige stappen om de uitgecheckte broncode te bouwen. In deze sectie wordt een alternatieve manier beschreven om de geïnstalleerde kopiën van de FreeBSD-documentatie bij te werken; een die de Ports Collectie gebruikt en het mogelijk maakt om: * Voorgebouwde versies van de documentatie te downloaden en te installeren, zonder iets lokaal te hoeven bouwen (op deze manier wordt de noodzaak voor een installatie van de gehele documentatie-gereedschapskist voorkomen). * De documentatiebronnen te bouwen en ze via het ports-raamwerk te bouwen (de stappen van het uitchecken en bouwen worden iets eenvoudiger gemaakt). Deze twee methoden om de FreeBSD-documentatie bij te werken worden ondersteund door een verzameling van _documentatie-ports_ die maandelijks door het {doceng} worden bijgewerkt. Deze zijn vermeld in de FreeBSD Ports Collectie onder de virtuele categorie http://www.freshports.org/docs/[docs]. [[doc-ports-install-make]] ==== Documentatie-ports bouwen en installeren De documentatie-ports gebruiken het bouwraamwerk van de ports om het bouwen van documentatie eenvoudiger te maken. Ze automatiseren het proces van het uitchecken van de broncode van de documentatie, het draaien van man:make[1] met de juiste omgevingsinstellingen en opdrachtregelopties, en ze maken de installatie of deïnstallatie van documentatie net zo eenvoudig als de installatie van elke andere FreeBSD-port of -pakket. [NOTE] ==== Als een extra eigenschap registreren de documentatie-ports, wanneer ze lokaal zijn gebouwd, een afhankelijkheid naar de ports van de _documentatie-gereedschapskist_, zodat de laatste ook automatisch is geïnstalleerd. ==== De organisatie van de documentatie-ports is als volgt: * Er is een "meester-port", package:misc/freebsd-doc-en[], waar de bestanden van de documentatie-ports gevonden kunnen worden. Het is de basis van alle documentatie-ports. Standaard bouwt het alleen de Engelstalige documentatie. * Er is een "alles-in-één port", package:misc/freebsd-doc-all[], en het bouwt en installeert alle documentatie in alle beschikbare talen. * Ten slotte is er een "slaaf-port" voor elke vertaling, bijvoorbeeld package:misc/freebsd-doc-hu[] voor de documenten in het Hongaars. Ze zijn allemaal afhankelijk van de meester-port en installeren de vertaalde documentatie van de respectievelijke taal. Gebruik de volgende commando's (als `root`) om een documentatieport vanaf de broncode te installeren: [source,shell] .... # cd /usr/ports/misc/freebsd-doc-en # make install clean .... Dit zal de Engelstalige documentatie in gesplitst HTML-formaat (hetzelfde als dat op http://www.FreeBSD.org[http://www.FreeBSD.org] wordt gebruikt) in de map [.filename]#/usr/local/shared/doc/freebsd# bouwen en installeren. [[doc-ports-options]] ===== Algemene knoppen en opties Er zijn vele opties om het standaardgedrag van de documentatie-ports aan te passen. Het volgende is slechts een korte lijst: `WITH_HTML`:: Staat bouwen van het HTML-formaat toe: een enkel HTML-bestand per document. De opgemaakte documentatie wordt naar gelang in een bestand genaamd [.filename]#article.html#, of [.filename]#book.html#, met afbeeldingen opgeslagen. `WITH_PDF`:: Staat bouwen van het Adobe(R) Portable Document Format toe, te gebruiken met Adobe(R) Acrobat Reader(R), Ghostscript, of andere PDF-lezers. De opgemaakte documentatie wordt naar gelang opgeslagen in een bestand genaamd [.filename]#article.pdf# of [.filename]#book.pdf# opgeslagen. `DOCBASE`:: Waar de documentatie te installeren. Standaard is dit [.filename]#/usr/local/shared/doc/freebsd#. + [NOTE] ==== Merk op dat de standaard doelmap afwijkt van de map die door de Subversion-methode wordt gebruikt. Dit komt omdat er een port wordt geïnstalleerd, en ports worden normaliter onder de map [.filename]#/usr/local# geïnstalleerd. Dit kan veranderd worden door de variabele `PREFIX` toe te voegen. ==== Hier is een kort voorbeeld over hoe de bovengenoemde variabelen te gebruiken om de Hongaarse documentatie in Portable Document Format te installeren: [source,shell] .... # cd /usr/ports/misc/freebsd-doc-hu # make -DWITH_PDF DOCBASE=share/doc/freebsd/hu install clean .... [[doc-ports-install-package]] ==== Documentatiepakketten gebruiken Voor het bouwen van de documentatie-ports vanaf broncode, zoals beschreven in de vorige sectie, is een lokale installatie van de documentatie-gereedschapskist en wat schijfruimte voor het bouwen van de ports nodig. Wanneer de bronnen voor het installeren van de documentatie-gereedschapskist niet aanwezig zijn, of wanneer het bouwen vanaf broncode te veel schijfruimte in beslag neemt, is het nog steeds mogelijk om de vooraf gebouwde versies van de documentatie-ports te installeren. Het {doceng} bereidt maandelijkse versies van de FreeBSD documentatiepakketten voor. Deze binaire pakketten kunnen met elk van de meegeleverde pakketgereedschappen, zoals man:pkg_add[1], man:pkg_delete[1], enzovoorts gebruikt worden. [NOTE] ==== Wanneer binaire pakketten worden gebruikt, zal de FreeBSD documentatie in _alle_ beschikbare formaten voor de gegeven taal geïnstalleerd worden. ==== Het volgende commando bijvoorbeeld zal het nieuwste vooraf gebouwde pakket van de Hongaarse documentatie installeren: [source,shell] .... # pkg_add -r hu-freebsd-doc .... [NOTE] ==== Pakketten hebben het volgende naamformaat welke afwijkt van de naam van de overeenkomstige port: `taal-freebsd-doc`. Hier is _taal_ het korte formaat van de taalcode, i.e., `hu` voor Hongaars, of `zh_cn` voor Vereenvoudigd Chinees. ==== [[doc-ports-update]] ==== Documentatieports bijwerken Voor het bijwerken van een eerder geïnstalleerde documentatieport is elk gereedschap voor het bijwerken van ports geschikt. Het volgende commando bijvoorbeeld werkt de geïnstalleerde Hongaarse documentatie bij via het gereedschap package:ports-mgmt/portupgrade[] door alleen pakketten te gebruiken: [source,shell] .... # portupgrade -PP hu-freebsd-doc .... [[current-stable]] == Een ontwikkelingstak volgen Er zijn twee ontwikkeltakken voor FreeBSD: FreeBSD-CURRENT en FreeBSD-STABLE. Deze sectie licht beiden toe en beschrijft hoe een systeem bijgewerkt te houden met elke tak. FreeBSD-CURRENT wordt eerst behandeld, daarna FreeBSD-STABLE. [[current]] === Bijblijven met FreeBSD Bedenk dat FreeBSD-CURRENT het "nieuwste van het nieuwste" is van FreeBSD ontwikkeling. Van FreeBSD-CURRENT gebruikers wordt verwacht dat ze veel technische kennis hebben en capabel zijn om zelfstandig lastige systeemproblemen op te lossen. Nieuwe gebruikers van FreeBSD kunnen het beste twee keer nadenken alvorens het te installeren. ==== Wat is FreeBSD-CURRENT? FreeBSD-CURRENT is de laatste werkende set broncode voor FreeBSD. Dit bevat werk in uitvoering, experimentele wijzigingen en overgangsmechanismes die mogelijk wel of niet meegenomen worden in de volgende officiële uitgave van het besturingssysteem. Alhoewel veel FreeBSD-ontwikkelaars de broncode van FreeBSD-CURRENT dagelijks compileren, zijn er periodes dat de broncode niet compileerbaar is. Deze problemen worden zo snel mogelijk gerepareerd, maar het is mogelijk dat FreeBSD-CURRENT een ramp veroorzaakt in plaats van dat het de gewenste functionaliteit levert. Dit ligt geheel aan het moment waarop de broncode is opgehaald. ==== Wie heeft FreeBSD-CURRENT nodig? FreeBSD-CURRENT is beschikbaar voor drie primaire aandachtsgroepen: . Leden van de FreeBSD-gemeenschap die actief werken aan een deel van de broncode voor wie "current" een echte eis is. . Leden van de FreeBSD-gemeenschap die actief testen en tijd hebben om problemen op te lossen om zeker te stellen dat FreeBSD-CURRENT zo gezond als mogelijk is. Er zijn ook mensen die actuele suggesties maken over wijzigingen en de algemene richting van FreeBSD en die patches opsturen om deze te implementeren. . Diegenen die alleen een oogje in het zeil willen houden of de huidige bronnen gebruiken ter referentie (bijvoorbeeld voor het _lezen_ en niet het draaien). Deze mensen geven ook regelmatig commentaar of dragen bij in de code. ==== Wat is FreeBSD-CURRENT _niet_? . Een snelle manier om pre-release versies te krijgen omdat bekend is dat er een aantal leuke nieuwe mogelijkheden in zitten en het leuk is deze als eerste te gebruiken. Het als eerste gebruiken van nieuwe mogelijkheden betekent ook de eerste zijn die nieuwe bugs ontdekt. . Een snelle manier om bugfixes te krijgen. Elke willekeurige versie van FreeBSD-CURRENT heeft waarschijnlijk net zoveel nieuwe bugs als dat er bugs opgelost zijn. . Op welke manier dan ook "officieel ondersteund". We doen onze best om mensen echt te helpen in één van de drie "legitieme" FreeBSD-CURRENT groepen maar er is simpelweg _niet genoeg tijd_ om technische ondersteuning te leveren. Dit is niet omdat we gemene en vervelende mensen zijn die anderen niet willen helpen (we zouden niet eens aan FreeBSD werken als we dat durfden). De ontwikkelaars kunnen simpelweg geen honderd berichten per dag beantwoorden _én_ aan FreeBSD werken. Bij de keuze tussen het verbeteren van FreeBSD en vragen beantwoorden over experimentele code, kiezen ontwikkelaars voor het eerste. ==== FreeBSD-CURRENT gebruiken . Neem een abonnement op de mailinglijsten {freebsd-current} en {svn-src-head}. Dit is niet alleen een goed idee, het is _essentieel_. Geen berichten ontvangen van de lijst _{freebsd-current}_ betekent geen commentaar zien dat mensen maken over de huidige staat van het systeem en dus waarschijnlijk struikelen over problemen die anderen al gevonden en opgelost hebben. Nog belangrijker is het missen van belangrijke informatie die kritisch kan zijn voor een systeem. + De lijst {svn-src-head} biedt de mogelijkheid de wijzigingsboodschap te zien voor elke wijziging die gemaakt wordt, samen met relevante informatie over mogelijke bijwerkingen. + -Ga om op deze lijsten of één van de andere beschikbare lijsten te abonneren naar {mailman-lists-url} en klik op de gewenste lijst. Instructies over de rest van de procedure zijn daar beschikbaar. Als u geïnteresseerd bent in het volgen van veranderingen voor de gehele broncodeboom, raden wij u aan een abonnement te nemen op de lijst {svn-src-all}. +Ga om op deze lijsten of één van de andere beschikbare lijsten te abonneren naar {mailing-lists-url} en klik op de gewenste lijst. Instructies over de rest van de procedure zijn daar beschikbaar. Als u geïnteresseerd bent in het volgen van veranderingen voor de gehele broncodeboom, raden wij u aan een abonnement te nemen op de lijst {svn-src-all}. . Haal de broncode van een FreeBSD crossref:mirrors[mirrors,mirrorsite]. Dit kan op de volgende twee manieren: .. Gebruik het programma crossref:mirrors[cvsup,cvsup] met de [.filename]#supfile# genaamd [.filename]#standard-supfile# uit [.filename]#/usr/shared/examples/cvsup#. Dit is de geadviseerde methode, omdat de gehele collectie in één keer wordt binnengehaald en daarna alleen hetgeen wat gewijzigd is. Veel mensen draaien `cvsup` vanuit de `cron` en houden daarmee hun broncode automatisch bijgewerkt. De voorbeeld [.filename]#supfile# dient aangepast te worden om crossref:mirrors[cvsup,cvsup] in te stellen voor uw omgeving. + [NOTE] ==== Het voorbeeld [.filename]#standard-supfile# is bedoeld om een specifieke beveiligingstak van FreeBSD te volgen, niet FreeBSD-CURRENT. U moet dit bestand bewerken en de volgende regel vervangen: [.programlisting] .... *default release=cvs tag=RELENG_X_Y .... door deze: [.programlisting] .... *default release=cvs tag=. .... Voor een gedetailleerde uitleg over bruikbare tags wordt naar de sectie crossref:mirrors[cvs-tags,CVS Tags] van het Handboek verwezen. ==== .. Gebruik de faciliteit CTM. Bij een "slechte verbinding", dure connecties of alleen e-mail toegang, is CTM een optie. Het werkt echter lastig en geeft mogelijk corrupte bestanden. Dit zorgt ervoor dat het zelden gebruikt wordt, dat de kans verhoogt dat het niet werkt voor redelijk lange periodes. Het advies is CVSup te gebruiken. . Als de broncode wordt opgehaald om te draaien en niet alleen om naar te kijken, haal dan _alles_ op van FreeBSD-CURRENT en niet alleen geselecteerde delen. De reden hiervoor is dat verschillende delen van de code afhangen van updates op andere plekken en het compileren van een onderdeel gegarandeerd problemen oplevert. + Voordat FreeBSD-CURRENT gecompileerd wordt is het raadzaam om de [.filename]#Makefile# in [.filename]#/usr/src# aandachtig te bekijken. Het is handig om de eerste keer op zijn minst <> als onderdeel van het updateproces. Via de {freebsd-current} en [.filename]#/usr/src/UPDATING# is het mogelijk op de hoogte te blijven van mogelijke wijzigingen in de opstartprocedures die soms nodig zijn tussen verschillende versies. . Wees actief! Ervaringen van FreeBSD-CURRENT-gebruikers zijn belangrijk, zeker als het gaat om suggesties voor verbeteringen of bugfixes. Suggesties met bijbehorende code worden enthousiast ontvangen! [[stable]] === FreeBSD stabiel houden ==== Wat is FreeBSD-STABLE? FreeBSD-STABLE is de ontwikkeltak waaruit grote releases gemaakt worden. Wijzigingen in deze tak gaan in een ander tempo en met de algemene aanname dat ze eerst in FreeBSD-CURRENT worden ingebracht ter test. Dit is _nog steeds_ een ontwikkeltak, echter dit betekent dat op elk gegeven moment de code voor FreeBSD-STABLE wel of niet geschikt is voor een speciaal doel. Het is simpelweg een andere ontwikkelomgeving en geen bron voor eindgebruikers. ==== Wie heeft FreeBSD-STABLE nodig? Bij interesse in het bijhouden van of bijdragen aan het FreeBSD-ontwikkelproces, speciaal als het gerelateerd is aan de volgende versie van FreeBSD, is het volgen van FreeBSD-STABLE het overwegen waard. Ondanks dat security fixes ook in de FreeBSD-STABLE-tak komen, hoeft dit _niet_ per se. In elke beveiligingswaarschuwing voor FreeBSD wordt uitgelegd uit hoe het probleem opgelost kan worden voor de release die het betreft. Het volgen van de volledige ontwikkeltak alleen om veiligheidsredenen levert ongetwijfeld ongewenste wijzigingen op. Ondanks het voornemen ervoor te zorgen dat de FreeBSD-STABLE-tak compileert en altijd draait, wordt dit niet gegarandeerd. Terwijl code ontwikkeld wordt in FreeBSD-CURRENT voordat die in FreeBSD-STABLE verwerkt wordt, draaien meer mensen FreeBSD-STABLE dan FreeBSD-CURRENT, dus het is onontkoombaar dat bugs en randgevallen soms in FreeBSD-STABLE gevonden worden die niet in FreeBSD-CURRENT bekend waren. Om deze redenen wordt _niet_ aangeraden FreeBSD-STABLE blindelings te volgen en het is extra belangrijk geen productieservers bij te werken naar FreeBSD-STABLE zonder de code te testen in een testomgeving. Als de mogelijkheden om dit te doen niet beschikbaar zijn, dan is het advies de meest recente release van FreeBSD te draaien en dan de binaire update methode te hanteren om bij te werken tussen verschillende releases. ==== FreeBSD-STABLE gebruiken . Neem een abonnement op de lijst {freebsd-stable}. Deze biedt informatie over onderdelen van de build die mogelijk verschijnen in FreeBSD-STABLE of eventuele andere kwesties die speciale aandacht vereisen. Ontwikkelaars kondigen in deze mailinglijst ook aan wanneer ze overwegen om een controversiële fix of aanpassing willen maken, waardoor de gebruikers een kans hebben om te reageren als ze goede redenen hebben tegen de voorgestelde wijziging. + Wordt lid van de relevante SVN-lijst voor de tak die u volgt. Als u bijvoorbeeld de tak 7-STABLE volgt, wordt u lid van de link:{svn-src-stable-7-url}[svn-src-stable-7] lijst. Dit stelt u in staat om het commit-log-bericht te bekijken voor elke verandering die is gemaakt, tezamen met relevante informatie over mogelijke bijwerkingen. + -Ga om te abonneren op deze lijsten, of één van de andere beschikbare lijsten naar {mailman-lists-url} en klik op de lijst waarop een abonnement gewenst is. Instructies over de rest van de procedure zijn daar beschikbaar. Als u geïnteresseerd bent in het volgen van veranderingen voor de gehele broncodeboom, raden wij u aan een abonnement te nemen op de {svn-src-all} lijst. +Ga om te abonneren op deze lijsten, of één van de andere beschikbare lijsten naar {mailing-lists-url} en klik op de lijst waarop een abonnement gewenst is. Instructies over de rest van de procedure zijn daar beschikbaar. Als u geïnteresseerd bent in het volgen van veranderingen voor de gehele broncodeboom, raden wij u aan een abonnement te nemen op de {svn-src-all} lijst. . Kijk op de webpagina link:https://www.FreeBSD.org/snapshots/[Snapshots] om een systeem te installeren van een maandelijkse snapshot van FreeBSD-STABLE. Het is ook mogelijk om de meest recente FreeBSD-STABLE release te installeren van de crossref:mirrors[mirrors,mirrorsites]. Volg de onderstaande instructies om een systeem bij te werken naar de meest recente FreeBSD-STABLE broncode. + Als al een vorige release van FreeBSD draait en bijgewerkt moet worden via de broncodes dan kan dat via de FreeBSD crossref:mirrors[mirrors,mirrorsites]. Dit kan op één van de twee volgende manieren: + .. Gebruik het programma crossref:mirrors[cvsup,cvsup] met de [.filename]#supfile# [.filename]#stable-supfile# uit de map [.filename]#/usr/shared/examples/cvsup#. Dit is de aanbevolen methode omdat het hiermee mogelijk is de volledige collectie te downloaden en daarna alleen hetgeen wat veranderd is. Veel mensen draaien `cvsup` vanuit de `cron` om de broncodes automatisch bij te werken. Het voorbeeld van de [.filename]#supfile# dient aangepast en ingesteld te worden voor de omgeving waarin het instellingenbestand gebruikt wordt. + .. Gebruik CTM als er geen snelle, goedkope verbinding is met internet. Dan is dit de methode om te gebruiken. + . Als er snelle on-demand toegang nodig is tot de broncode en bandbreedte is geen overweging, gebruik dan `cvsup` of `ftp`. Gebruik anders CTM. . Lees alvorens FreeBSD-STABLE te compileren goed de [.filename]#Makefile# in [.filename]#/usr/src#. Het is handig om de eerste keer op zijn minst <> als onderdeel van het updateproces. Via de {freebsd-stable} en [.filename]#/usr/src/UPDATING# is het mogelijk op de hoogte te blijven van mogelijke wijzigingen in de opstartprocedures die soms nodig zijn tussen verschillende releases. [[synching]] == Broncode synchroniseren Er zijn verschillende manieren om een internet (of e-mail) verbinding te gebruiken om bij te blijven met elk onderdeel van de FreeBSD projectbronnen of alle onderdelen, afhankelijk van het interessegebied. De primaire diensten zijn crossref:mirrors[anoncvs,Anonieme CVS] en crossref:mirrors[ctm,CTM]. [WARNING] ==== Ondanks dat het mogelijk is om alleen delen van de broncode bij te werken, is de enige ondersteunde methode de totale broncode bijwerken en zowel userland (alle programma's die in gebruikersruimte draaien, zoals programma's in [.filename]#/bin# en [.filename]#/sbin#) als de kernel opnieuw compileren. Als alleen delen van de broncode worden bijgewerkt, alleen de kernel of alleen het userland, resulteert dat vaak in problemen. Deze problemen kunnen verschillen van compileerfouten tot kernel panics of corruptie van gegevens. ==== Anonieme CVS en CVSup gebruiken het _pull_ model om broncode bij te werken. In het geval van CVSup start de gebruiker (of een `cron` script) het programma `cvsup` waarbij het communiceert met een `cvsupd` server om bestanden bij te werken. De ontvangen updates zijn op de minuut nauwkeurig en ze komen alleen wanneer dat is ingesteld. Updates kunnen eenvoudig beperkt worden tot specifieke bestanden of mappen uit een interessegebied. Updates worden automatisch gegenereerd door een server, aan de hand van wat is ingesteld. Anonieme CVS is veel eenvoudiger dan CVSup omdat dat alleen een uitbreiding is van CVS die de mogelijkheid biedt om wijzigingen direct van een CVS repository op afstand te halen. CVSup kan dit veel efficiënter doen, maar anonieme CVS is makkelijker in het gebruik. CTM aan de andere kant maakt geen vergelijking tussen de aanwezige bronnen en die op de master server. In plaats daarvan wordt een script uitgevoerd dat wijzigingen in bestanden ziet sinds de vorige keer dat is bijgewerkt en die meerdere keren per dag worden uitgevoerd op de master CTM machine. Elke ontdekte wijziging wordt gecomprimeerd, krijgt een volgnummer toegekend en wordt gecodeerd voor verzending via e-mail (in leesbare ASCII). Deze "CTM delta's" kunnen dan aangeleverd worden aan man:ctm_rmail[1] die ze automatisch decodeert, controleert en toepast in de gebruikerskopie van de bronnen. Dit proces is veel efficiënter dan CVSup en claimt minder systeembronnen omdat het model _push_ in plaats van _pull_ is. Er zijn andere nadelen. Als per ongeluk een deel van het archief wordt verwijderd, kan CVSup dat detecteren en het beschadigde deel repareren. CTM doet dit niet en als een deel van de broncode wordt verwijderd (en er geen back-up is), dan moet er opnieuw begonnen worden (vanaf de meest recente CVS "base delta" en moet alles opnieuw opgebouwd worden met CTM. Met Anonymous CVS kan simpelweg het slechte deel verwijderd worden alvorens weer te synchroniseren. [[makeworld]] == De "wereld" opnieuw bouwen Zodra de lokale broncode gesynchroniseerd is met een bepaalde versie van FreeBSD (FreeBSD-STABLE, FreeBSD-CURRENT, enzovoort) kan de broncode gebruikt worden om een systeem te herbouwen. [WARNING] .Maak een back-up ==== Het kan niet vaak genoeg verteld worden hoe belangrijk het is om een back-up te maken van een systeem _vóór_ deze taak uit te voeren. Ook al is het opnieuw bouwen van de wereld vrij simpel (als deze instructies gevolgd worden), er worden ongetwijfeld ooit fouten gemaakt, misschien zelfs in de broncode, die het onmogelijk maken om een systeem op te starten. Wees ervan verzekerd dat er een back-up gemaakt is en dat er een reparatiediskette of cd-rom bij de hand is. Deze wordt waarschijnlijk nooit gebruikt maar "better safe than sorry". ==== [WARNING] .Abonneer op de juiste mailinglijsten ==== De FreeBSD-STABLE en FreeBSD-CURRENT takken zijn van nature _in ontwikkeling_. Mensen die bijdragen aan FreeBSD zijn menselijk en foutjes ontstaan regelmatig. Soms zijn deze foutjes onschadelijk, ze geven dan hooguit een nieuwe diagnostische waarschuwing weer. Maar de wijziging kan ook catastrofaal zijn en ervoor zorgen dat een systeem niet meer opstart of bestandssystemen vernietigt (of erger). Als problemen zoals deze voorkomen wordt er een "heads up" naar de juiste mailinglijst gestuurd, waarin uitgelegd wordt wat het probleem is en welke systemen het raakt. Er wordt een "all clear" bericht gestuurd als het probleem is opgelost. FreeBSD-STABLE of FreeBSD-CURRENT volgen zonder de {freebsd-stable} of {freebsd-current} te volgen is vragen om problemen. ==== [WARNING] .Gebruik geen `make world` ==== Veel oudere documentatie raadt aan om `make world` te gebruiken. In dat geval worden er belangrijke stappen overgeslagen en gebruik het commando alleen als er voldoende kennis over aanwezig is. In bijna alle omstandigheden is `make world` verkeerd en de procedure die hier beschreven is hoort in plaats daarvan gebruikt te worden. ==== [[canonical-build]] === De universele wijze om een systeem bij te werken Om uw systeem bij te werken, dient u [.filename]#/usr/src/UPDATING# te controleren op eventuele pre-buildworld stappen die nodig zijn voor uw versie van de broncode en daarna de procedure te gebruiken die hier beschreven staat. Deze bijwerkstappen nemen aan dat u nu een oude versie van FreeBSD gebruikt, die uit een oude compiler, een oude kernel, een oude wereld en oude instellingenbestanden bestaat. Onder "wereld" worden de binairen, bibliotheken, en programmeerbestanden van het kernsysteem verstaan. De compiler is deel van "wereld", maar heeft enkele speciale aandachtspunten. We nemen ook aan dat u reeds de broncode van een nieuwer systeem heeft verkregen. Bekijk, als de bronnen op een bepaald systeem ook oud zijn, <> voor uitgebreide hulp over het synchroniseren ervan naar een nieuwere versie. Het bijwerken van het systeem vanaf de broncode is wat subtieler dan het op het eerste gezicht lijkt, en de ontwikkelaars van FreeBSD vonden het in de loop der jaren nodig om de aangeraden methode redelijk drastisch te veranderen met het aan het licht komen van nieuwe soorten onontwijkbare afhankelijkheden. De rest van deze sectie beschrijft de rationale achter de huidige aanbevolen bijwerkmethode. Elke succesvolle bijwerkmethode krijgt te maken met de volgende punten: * Het kan voorkomen dat de oude compiler de nieuwe kernel niet kan compileren. (Oude compilers bevatten soms bugs.) De nieuwe kernel dient dus met de nieuwe compiler gebouwd te worden. In het bijzonder moet de nieuwe compiler gebouwd worden voordat de nieuwe kernel gebouwd wordt. Dit betekent niet per se dat de nieuwe compiler _geïnstalleerd_ moet worden voordat de nieuwe kernel gebouwd wordt. * De nieuwe wereld kan afhankelijk zijn van mogelijkheden van de nieuwe kernel. Dus moet de nieuwe kernel worden geïnstalleerd voordat de nieuwe wereld wordt geïnstalleerd. De eerste twee gevallen zijn de basis voor de methode `buildworld`, `buildkernel`, `installkernel`, `installworld` die we in de volgende paragrafen beschrijven. Dit is geen uitputtende lijst van alle redenen waarom het huidige aanbevolen bijwerkproces de voorkeur verdient. Wat minder voor de hand liggende redenen worden hieronder genoemd: * Het kan zijn dat de oude wereld niet correct draait op de nieuwe kernel, dus moet de nieuwe wereld onmiddellijk na het installeren van de nieuwe kernel geïnstalleerd worden. * Sommige instellingen moeten veranderd worden voordat de nieuwe wereld wordt geïnstalleerd, maar anderen kunnen de oude wereld kapot maken. Vandaar dat over het algemeen twee verschillende bijwerkstappen voor de instellingen nodig zijn. * Voor het grootste gedeelte houdt het bijwerkproces zich alleen bezig met het vervangen of toevoegen van bestanden; bestaande oude bestanden worden niet verwijderd. Dit kan in sommige gevallen problemen geven. Als een gevolg zal de bijwerkprocedure soms aangeven dat bepaalde bestanden tijdens bepaalde stappen handmatig verwijderd dienen te worden. Dit kan in de toekomst eventueel geautomatiseerd worden. Deze zorgen hebben tot het volgende aanbevolen bijwerkproces geleid. Merk op dat het gedetailleerde proces voor bepaalde updates aanvullende stappen nodig kan hebben, maar dit kernproces zou de komende tijd ongewijzigd moeten blijven: . `make buildworld` + Dit compileert eerst de nieuwe compiler en enkele aanverwante gereedschappen, daarna wordt de nieuwe compiler gebruikt om de rest van de nieuwe wereld te compileren. Het resultaat komt in [.filename]#/usr/obj# te staan. . `make buildkernel` + In tegenstelling tot de oude aanpak, die man:config[8] en man:make[1] gebruikt, gebruikt dit de _nieuwe_ compiler die in [.filename]#/usr/obj# verblijft. Dit beschermt u tegen mismatches tussen de compiler en de kernel. . `make installkernel` + Plaatst de nieuwe kernel en kernelmodules op de schijf, waardoor het mogelijk wordt om met de nieuw bijgewerkte kernel op te starten. . Start opnieuw op in enkele-gebruikersmodus. + De enkele-gebruikersmodus minimaliseert problemen met het bijwerken van software die al draait. Het minimaliseert ook problemen die opduiken door een oude wereld op een nieuwe kernel te draaien. . `mergemaster -p` + Dit voert wat initiële updates aan instellingenbestanden uit ter voorbereiding op de nieuwe wereld. Het kan bijvoorbeeld nieuwe gebruikersgroepen aan het systeem, of nieuwe gebruikersnamen aan de wachtwoorddatabase toevoegen. Dit is vaak nodig wanneer er nieuwe groepen of speciale accounts voor systeemgebruikers zijn toegevoegd sinds de laatste keer bijwerken, zodat de stap `installworld` zonder problemen de nieuw geïnstalleerde namen van systeemgebruikers of systeemgroepen kan gebruiken. . `make installworld` + Kopieert de wereld van [.filename]#/usr/obj#. U heeft nu een nieuwe kernel en een nieuwe wereld op schijf staan. . `mergemaster` + Nu kunt u de overgebleven instellingenbestanden bijwerken, aangezien u een nieuwe wereld op schijf heeft staan. . Start opnieuw op. + Een volledige nieuwe start van de machine is nodig om de nieuwe kernel en de nieuwe wereld met nieuwe instellingenbestanden te laden. Merk op dat als u van de ene uitgave van dezelfde tak van FreeBSD bijwerkt naar een recentere uitgave van dezelfde tak, i.e. van 7.0 naar 7.1, dat deze procedure dan niet absoluut nodig is, aangezien het onwaarschijnlijk is dat u serieuze problemen krijgt met de compiler, kernel, gebruikersland en instellingenbestanden. De oudere aanpak met `make world` gevolgd door het bouwen en installeren van een nieuwe kernel kan voor kleine updates goed genoeg zijn. Maar mensen die deze procedure niet volgen tijdens het bijwerken tussen grote uitgaven kunnen wat problemen verwachten. Het is ook goed om op te merken dat veel upgrades (i.e. 4._X_ naar 5.0) wat specifieke aanvullende stappen nodig hebben (bijvoorbeeld het hernoemen of verwijderen van specifieke bestanden voorafgaand aan installworld). Lees het bestand [.filename]#/usr/src/UPDATING# zorgvuldig, met name het einde, waar het huidig aangeraden bijwerkproces expliciet wordt beschreven. Deze procedure is in de loop der tijd veranderd aangezien de ontwikkelaars zagen dat het onmogelijk was om bepaalde mismatch-problemen volledig te voorkomen. Hopelijk blijft de huidige procedure voor een lange tijd stabiel. Samengevat is de huidige aanbevolen manier om FreeBSD vanaf broncode bij te werken: [source,shell] .... # cd /usr/src # make buildworld # make buildkernel # make installkernel # shutdown -r now .... [NOTE] ==== Er zijn een aantal zeldzame gevallen waarin `mergemaster -p` nog een keer moet draaien voor de stap met `buildworld`. Deze staan beschreven in [.filename]#UPDATING#. In het algemeen kan deze stap echter zonder risico worden overgeslagen als er niet tussen een of meer hoofdversies wordt bijgewerkt. ==== Nadat `installkernel` succesvol is afgerond, dient er in single-user modus opgestart te worden (met `boot -s` vanaf de loaderprompt). Draai dan: [source,shell] .... # mount -u / # mount -a -t ufs # adjkerntz -i # mergemaster -p # cd /usr/src # make installworld # mergemaster # reboot .... .Lees verdere uitleg [WARNING] ==== De hierboven beschreven volgorde is alleen een korte samenvatting. Ook de volgende secties lezen geeft een beter beeld van elke stap, met name als er een op maat gemaakte kernelinstelling wordt gebruikt. ==== [[src-updating]] === [.filename]#/usr/src/UPDATING# lezen Lees voor verder te gaan [.filename]#/usr/src/UPDATING# (of het gelijknamige bestand waar de kopie van de broncode ook staat). Dit bestand kan belangrijke informatie bevatten over mogelijke problemen of specificeert de volgorde waarin bepaalde commando's gestart moeten worden. Als [.filename]#UPDATING# tegenstrijdig is met wat hier wordt beschreven, heeft [.filename]#UPDATING# voorrang. [IMPORTANT] ==== [.filename]#UPDATING# lezen is geen acceptabele vervanging voor het abonneren op de correcte mailinglijst zoals eerder beschreven. De twee vullen elkaar aan en zijn niet exclusief. ==== [[make-conf]] === [.filename]#/etc/make.conf# controleren Controleer [.filename]#/usr/shared/examples/etc/make.conf# en [.filename]#/etc/make.conf#. Het eerste bestand bevat standaard definities, waarvan de meeste uitgecommentarieerd zijn. Om hiervan gebruik te maken als het systeem opnieuw opgebouwd wordt vanuit de broncode, moeten ze toegevoegd worden aan [.filename]#/etc/make.conf#. Bedenk dat alles wat toegevoegd wordt aan [.filename]#/etc/make.conf# ook gebruikt wordt bij elk `make` commando. Het is dus verstandig om daar redelijke waardes in te vullen voor een systeem. Een typische gebruiker wil waarschijnlijk de regel `NO_PROFILE` uit [.filename]#/usr/shared/examples/etc/make.conf# kopiëren naar [.filename]#/etc/make.conf# en het commentaar verwijderen. Bekijk de andere definities, zoals `NOPORTDOCS` en bepaal of deze relevant zijn. [[updating-etc]] === [.filename]#/etc# bijwerken De map [.filename]#/etc# bevat een groot deel van de systeeminstellingen en scripts die gestart worden tijdens de systeemstart. Sommige van deze scripts verschillen van versie tot versie in FreeBSD. Sommige van de instellingenbestanden worden dagelijks gebruikt voor het draaien van een systeem. In het bijzonder [.filename]#/etc/group#. Er zijn gevallen geweest waarbij het installatiegedeelte van `make installworld` een aantal gebruikersnamen of groepen verwachtte. Als er een upgrade wordt uitgevoerd is het waarschijnlijk dat deze gebruikers of groepen niet bestaan. Dit levert problemen op bij upgraden. In sommige gevallen controleert `make buildworld` of deze gebruikers of groepen bestaan. Een voorbeeld hiervan is het toevoegen van de gebruiker `smmsp`. Gebruikers hadden een falend installatieproces toen man:mtree[8] probeerde om [.filename]#/var/spool/clientmqueue# te creëren. man:mergemaster[8] kan in voorbereidende modus gedraaid worden als de optie `-p` wordt meegegeven. Dan worden alleen de bestanden vergeleken die essentieel zijn voor het succes van `buildworld` of `installworld`: [TIP] ==== In "paranoide beheerdersmodus" kan er gecontroleerd worden welke bestanden op een systeem eigendom zijn van de groep die wordt hernoemd of verwijderd: [source,shell] .... # find / -group GID -print .... Dit commando toont alle bestanden die eigendom zijn van de groep _GID_ (een groepsnaam of een numeriek groeps-ID). ==== [[makeworld-singleuser]] === Systeem naar single-user modus brengen Het kan zijn dat een systeem in single-user modus gecompileerd moet worden. Buiten het duidelijke voordeel dat de operatie iets sneller verloopt, is het voordeel dat bij een herinstallatie van een systeem een aantal belangrijke systeembestanden waaronder binaire systeembestanden, bibliotheken, include bestanden, enzovoort, worden aangepast, iets wat op een actief systeem vragen om problemen is (zeker als er actieve gebruikers op een systeem aanwezig zijn). Een andere methode is het systeem compileren in multi-user modus en daarna naar single-user modus gaan voor de installatie. Bij deze methode moeten de volgende stappen gevolgd worden. Het overschakelen naar single-user modus kan uitgesteld worden tot en met `installkernel` of `installworld`. Een supergebruiker kan als volgt een draaiend systeem naar single-user modus overgeschakelen: [source,shell] .... # shutdown now .... Als alternatief kan tijdens het opstarten de optie `single user` worden gekozen. Het systeem start dan in single-user modus. Op de shell prompt moet dan worden ingegeven: [source,shell] .... # fsck -p # mount -u / # mount -a -t ufs # swapon -a .... Hierdoor worden de bestandssystemen gecontroleerd, [.filename]#/# met lees en schrijf rechten opnieuw gemount, worden alle andere UFS bestandssystemen die in [.filename]#/etc/fstab# staan gemount en wordt swap ingeschakeld. [NOTE] ==== Als de CMOS-klok ingesteld is naar de lokale tijd en niet naar GMT (dit is waar als het resultaat van man:date[1] niet de correcte tijd en zone weergeeft), dan is het misschien handig om het volgende commando te starten: [source,shell] .... # adjkerntz -i .... Dit zorgt ervoor dat de lokale tijdzoneinstellingen correct ingesteld worden. Zonder deze instelling kunnen er later problemen ontstaan. ==== [[cleaning-usr-obj]] === [.filename]#/usr/obj# verwijderen Als delen van een systeem opnieuw gebouwd worden, worden ze standaard geplaatst in mappen onder [.filename]#/usr/obj#. Deze mappen schaduwen de mappen onder [.filename]#/usr/src#. Het proces `make buildworld` kan versneld worden en problemen met afhankelijkheden kunnen voorkomen worden als deze map wordt verwijderd. Sommige bestanden onder [.filename]#/usr/obj# hebben mogelijk de optie "niet aanpassen" ingesteld (zie man:chflags[1]) die eerst verwijderd moet worden: [source,shell] .... # cd /usr/obj # chflags -R noschg * # rm -rf * .... [[updating-upgrading-recompilebase]] === Broncode van het basissysteem hercompileren ==== Uitvoer bewaren Het is een goed idee om de uitvoer van man:make[1] te bewaren in een ander bestand. Als er iets misgaat is er een kopie van de foutmelding aanwezig. Hoewel dit misschien niet helpt in de diagnose van wat er fout is gegaan, kan het anderen helpen als het probleem wordt aangegeven in een FreeBSD mailinglijst. De makkelijkste manier om dit te doen is door het commando man:script[1] te gebruiken, met een parameter die de naam specificeert waar de uitvoer naartoe moet. Dit moet direct gedaan worden vóór het herbouwen van de wereld, zodat het proces klaar is moet `exit` worden ingegeven: [source,shell] .... # script /var/tmp/mw.out Script started, output file is /var/tmp/mw.out # make TARGET … compile, compile, compile … # exit Script done, … .... Bewaar de uitvoer in deze stap _niet_ in [.filename]#/tmp#. Deze map wordt mogelijk opgeschoond tijdens de volgende herstart. Een betere plaats om dit bestand te bewaren is de map [.filename]#/var/tmp# (zoals in het vorige voorbeeld) of in de thuismap van `root`. [[make-buildworld]] ==== Basissysteem compileren Ga naar de map [.filename]#/usr/src#, tenzij de broncode ergens anders staat, in welk geval naar die map gegaan moet worden: [source,shell] .... # cd /usr/src .... Om de wereld opnieuw te bouwen moet het commando man:make[1] gebruikt worden. Dit commando leest zijn instructies uit het bestand [.filename]#Makefile#, dat beschrijft hoe de programma's die samen FreeBSD vormen moeten worden gebouwd, in welke volgorde ze gebouwd moeten worden, enzovoort. Het algemene formaat van de commandoregel die gebruikt moet worden is als volgt: [source,shell] .... # make -x -DVARIABELE doel .... In dit voorbeeld is de optie `-_x_` een optie die wordt meegegeven aan man:make[1]. In de hulppagina voor man:make[1] staat een voorbeeld van de opties die meegegeven kunnen worden. `-D_VARIABELE_` geeft een variabele door aan [.filename]#Makefile#. Het gedrag van [.filename]#Makefile# wordt beïnvloed door deze variabele. Dit zijn dezelfde variabelen die ingesteld worden in [.filename]#/etc/make.conf#. Deze optie biedt een alternatief om deze opties in te stellen. [source,shell] .... # make -DNO_PROFILE doel .... Het bovenstaande commando is een andere manier om aan te geven dat geprofileerde bibliotheken niet gebouwd moeten worden en correspondeert met de onderstaande regel in [.filename]#/etc/make.conf#: [.programlisting] .... NO_PROFILE= true # Avoid compiling profiled libraries .... _doel_ geeft man:make[1] aan wat er gedaan moet worden. Elke [.filename]#Makefile# definieert een aantal van verschillende doelen en het gekozen doel bepaalt wat er gebeurt. Sommige doelen staan vermeld in het bestand [.filename]#Makefile#, maar zijn niet geschikt om direct te starten. Integendeel, deze worden gebruikt door het bouwproces om de benodigde stappen onder te verdelen. In veel gevallen hoeven er geen parameters te worden meegegeven aan man:make[1] en dus ziet de commando regel er als volgt uit: [source,shell] .... # make doel .... Waar _doel_ een van de vele bouw opties is. De eerste target moet echter altijd `buildworld` zijn. Zoals de namen impliceren bouwt `buildworld` een compleet nieuwe boom onder [.filename]#/usr/obj# en `installworld`, een andere target, installeert deze boom op de huidige machine. Het hebben van verschillende opties is handig om twee redenen. Als eerste biedt het de mogelijkheid om de bouw veilig te doen met de wetenschap dat geen enkel draaiend onderdeel van een systeem geraakt wordt. De bouw is "zelf ondersteunend". Hierdoor kan veilig in multi-user modus `buildworld` gedraaid worden. Het wordt echter nog steeds aangeraden om `installworld` in single-user modus te starten. Ten tweede geeft het de mogelijkheid om NFS-mounts te gebruiken om meerdere machines in het netwerk bij te werken. Als er drie machines zijn, `A`, `B` en `C`, die bijgewerkt moeten worden, dan kunnen `make buildworld` en `make installworld` gedraaid worden op `A` waarna `B` en `C` een NFS-mount kunnen opzetten naar [.filename]#/usr/src# en [.filename]#/usr/obj# op machine `A` waarna `make installworld` gedraaid kan worden op `B` en `C` om de resultaten de installeren. Alhoewel het doel `world` nog wel bestaat wordt het gebruik ervan sterk _afgeraden_. Voer het volgende commando uit: [source,shell] .... # make buildworld .... Het is mogelijk om de optie `-j` mee te geven aan `make`, wat resulteert in meerdere processen die tegelijkertijd draaien. Dit heeft het meeste effect op machines met meerdere processoren. Echter, omdat het compilatieproces meer IO-gericht is dan processorgericht, kan het ook nuttig zijn op systemen met één processor. Start als volgt op een systeem met één processor: [source,shell] .... # make -j4 buildworld .... man:make[1] draait dan maximaal 4 processen tegelijkertijd. In het algemeen blijkt uit de mailinglijsten dat dit de beste resultaten geeft. Als er meerdere processoren in een systeem zitten en gebruik gemaakt wordt van een SMP kernel, probeer dan waardes tussen de 6 en 10 en bekijk hoe het systeem reageert. ==== Doorlooptijd Veel factoren bepalen de doorlooptijd van het bouwen van een boom, maar redelijk recente machines doen er maar 1 tot 2 uur over om de FreeBSD-STABLE boom te bouwen. zonder extra trucjes. Een FreeBSD-CURRENT boom kan wat langer duren. [[new-kernel]] === Nieuwe kernel compileren en installeren Om volledig gebruik te maken van het nieuwe systeem moet de kernel opnieuw gecompileerd worden. Dit is bijna altijd nodig omdat sommige geheugenstructuren mogelijkerwijs veranderd zijn en programma's als man:ps[1] en man:top[1] niet werken totdat de kernel en de broncode dezelfde versie hebben. De simpelste en makkelijkste manier om dit te doen is om een kernel te maken die gebaseerd is op [.filename]#GENERIC#. Ondanks dat [.filename]#GENERIC# mogelijk niet alle benodigde apparaten heeft voor een systeem, hoort het alles te bevatten dat nodig is om een systeem te starten in single-user modus. Dit is een goede test op de correcte werking van een nieuw systeem. Na het opstarten van [.filename]#GENERIC# en een systeemcontrole kan erna een nieuwe kernel gebouwd worden gebaseerd op een aangepast kernelinstellingenbestand. Op FreeBSD is het belangrijk om de <> voordat een nieuwe kernel gebouwd wordt. [NOTE] ==== Als een aangepaste kernel gemaakt moet worden en er reeds een instellingenbestand aanwezig is, gebruik dan `KERNCONF=MYKERNEL` als volgt: [source,shell] .... # cd /usr/src # make buildkernel KERNCONF=MYKERNEL # make installkernel KERNCONF=MYKERNEL .... ==== Let op dat als `kern.securelevel` een waarde hoger dan 1 heeft _of_ `noschg` of gelijksoortige opties geplaatst zijn op het binaire kernelbestand, is het misschien nodig om terug te gaan naar single-user modus om `installkernel` uit te voeren. In andere gevallen moet het mogelijk zijn om deze commando's zonder problemen uit te voeren in multi-user modus. Zie man:init[8] voor meer informatie over `kern.securelevel` en man:chflags[1] voor informatie over diverse bestandsopties. [[new-kernel-singleuser]] === Opnieuw opstarten in single-user modus Start met de instructies in <> in single-user modus op om te testen of de nieuwe kernel werkt. [[post-installworld-updates]] === Nieuwe binaire systeembestanden installeren Na het draaien van `make buildworld` kan nu `installworld` gebruikt worden om de nieuwe binaire systeembestanden te installeren. Voer de volgende commando's uit: [source,shell] .... # cd /usr/src # make installworld .... [NOTE] ==== Als er variabelen gespecificeerd zijn op de commandoregel van `make buildworld` moeten dezelfde variabelen gebruikt worden op de commandoregel van `make installworld`. Dit is niet per se waar voor opties zoals `-j`, die nooit gebruikt mogen worden met `installworld`. Als bijvoorbeeld het volgende commando is uitgevoerd: [source,shell] .... # make -DNO_PROFILE buildworld .... Dan moet het resultaat geïnstalleerd worden met: [source,shell] .... # make -DNO_PROFILE installworld .... Anders wordt geprobeerd geprofileerde bibliotheken te installeren die niet gebouwd zijn tijdens de fase `make buildworld`. ==== [[make-installworld]] === Bestanden bijwerken die niet bijgewerkt zijn door `make installworld` Het herbouwen van de wereld werkt bepaalde mappen niet bij (in het bijzonder [.filename]#/etc#, [.filename]#/var# en [.filename]#/usr#) met nieuwe of gewijzigde instellingenbestanden. De simpelste manier om deze bestanden bij te werken is door man:mergemaster[8] te gebruiken, maar het is ook mogelijk dit handmatig te doen. Welke manier er ook gekozen wordt, zorg er altijd voor dat een back-up van [.filename]#/etc# beschikbaar is voor het geval er iets misgaat. [[mergemaster]] ==== `mergemaster` Het hulpprogramma man:mergemaster[8] is een Bourne script dat helpt bij het bepalen van de verschillen tussen de instellingenbestanden in [.filename]#/etc# en de instellingenbestanden in de broncodeboom [.filename]#/usr/src/etc#. Deze methode wordt aangeraden om instellingenbestanden van een systeem bijgewerkt te houden met de bestanden die in de broncodeboom staan. Het programma wordt gestart met `mergemaster` op de commandoregel en geeft dan resultaten weer. `mergemaster` bouwt dan een tijdelijke root omgeving vanaf [.filename]#/# en vult deze met diverse instellingenbestanden voor een systeem. Deze bestanden worden vergeleken met de bestanden die geïnstalleerd zijn op een systeem. Op dit punt worden de bestanden getoond die verschillen in het man:diff[1]-formaat, met een `+` voor toegevoegde of gewijzigde regels en een `-` voor regels die verwijderd of vervangen zijn. In de hulppagina voor man:diff[1] staat meer informatie over de syntaxis van man:diff[1] en hoe bestandsverschillen getoond worden. man:mergemaster[8] toont dan elk bestand dat verschilt en op dit moment is er de mogelijkheid om of het nieuwe bestand te verwijderen (ofwel het tijdelijke bestand), het tijdelijke bestand te installeren zonder enige wijzigingen, het verwerken van het oude bestand in het nieuwe bestand of de resultaten van man:diff[1] nogmaals te tonen. Als gekozen wordt om het tijdelijke bestand te verwijderen, geeft dit man:mergemaster[8] aan dat het huidige bestand niet gewijzigd dient te worden en de nieuwe versie verwijderd kan worden. Deze optie wordt niet aangeraden, behalve als er geen reden is om het huidige bestand aan te passen. Op ieder moment kunnen hulpteksten getoond worden door kbd:[?] in te geven op de prompt van man:mergemaster[8]. Als een bestand wordt overgeslagen, dan wordt het weer getoond als alle overige bestanden verwerkt zijn. Bij de keuze om het ongewijzigde tijdelijke bestand te installeren wordt het huidige bestand vervangen door het nieuwe. Voor de meeste ongewijzigde bestanden is dit de beste optie. Als ervoor gekozen wordt om de wijzigingen te verwerken wordt er een tekstverwerker gestart die de inhoud van beide bestanden toont. De verschillen kunnen verwerkt worden terwijl beide bestanden naast elkaar op het scherm staan. Hier kunnen delen gekozen worden die gezamenlijk een nieuw bestand opleveren. Als de bestanden zij aan zij vergeleken worden, wordt met de toets kbd:[l] de inhoud links geselecteerd en met de toets kbd:[r] de inhoud rechts geselecteerd. Het eindresultaat bestaat uit delen van beide bestanden die erna geinstalleerd kunnen worden. Deze optie wordt voornamelijk gebruikt voor bestanden die gewijzigd zijn door de beheerder. Als ervoor gekozen wordt om de man:diff[1] resultaten nog een keer te tonen, worden dezelfde verschillen getoond zoals man:mergemaster[8] deed voordat een optie gevraagd werd. Zodra man:mergemaster[8] klaar is met de systeembestanden worden er andere opties getoond. man:mergemaster[8] kan vragen of het wachtwoordbestand opnieuw gebouwd moet worden. Als laatste wordt een optie getoond om alle overgebleven tijdelijke bestanden te verwijderen. ==== Handmatig bijwerken Bij handmatig bijwerken kunnen de bestanden van [.filename]#/usr/src/etc# niet zomaar naar [.filename]#/etc# gekopieerd worden om een werkend systeem te krijgen. Sommige van deze bestanden moeten eerst "geïnstalleerd" worden. Dit omdat de map [.filename]#/usr/src/etc#_geen_ kopie is van [.filename]#/etc#. Daarnaast staan er in [.filename]#/etc# bestanden die niet in [.filename]#/usr/src/etc# staan. Als man:mergemaster[8] gebruikt wordt (zoals aangeraden), kan doorgegaan worden met het <>. De simpelste manier om met de hand bij te werken, is de bestanden in een nieuwe map installeren en daarna naar verschillen tussen de bestanden te zoeken. [WARNING] .Back-up maken van [.filename]#/etc# ==== Ondanks dat, in theorie, niets in deze map automatisch wordt aangepast, is het altijd beter om daar zeker van te zijn. Dus kopieer de bestaande [.filename]#/etc# naar een veilige locatie. Zoals bijvoorbeeld met het volgende commando: [source,shell] .... # cp -Rp /etc /etc.old .... `-R` maakt een recursieve kopie, `-p` bewaart tijden, eigenaarschap, enzovoorts op bestanden. ==== Er moet een dummyset van mappen gemaakt worden om de nieuwe [.filename]#/etc# en andere bestanden in te installeren. [.filename]#/var/tmp/root# is een redelijke keuze en er zijn hier een aantal benodigde submappen aanwezig: [source,shell] .... # mkdir /var/tmp/root # cd /usr/src/etc # make DESTDIR=/var/tmp/root distrib-dirs distribution .... Dit maakt de benodigde mappenstructuur en installeert de bestanden. Een groot deel van de submappen die gemaakt zijn in [.filename]#/var/tmp/root# zijn leeg en moeten verwijderd worden. De simpelste manier om dit te doen is: [source,shell] .... # cd /var/tmp/root # find -d . -type d | xargs rmdir 2>/dev/null .... Dit verwijderd alle lege mappen. De standaardfout wordt omgeleid naar [.filename]#/dev/null# om waarschuwingen te voorkomen over mappen die niet leeg zijn. [.filename]#/var/tmp/root# bevat nu alle bestanden die geplaatst zouden moeten worden op de juiste locaties in [.filename]#/#. Er moet nu in de bestanden gekeken worden om te bepalen of deze verschillen met de huidige betanden. Let op dat sommige van de bestanden die geïnstalleerd zijn in [.filename]#/var/tmp/root# beginnen met een ".". Op het moment van schrijven hebben alleen shell opstartscripts in [.filename]#/var/tmp/root# en [.filename]#/var/tmp/root/root# dit, maar er kunnen ook andere zijn. Zorg ervoor dat `ls -a` gebruikt wordt om deze bestanden te zien. De simpelste manier om twee bestanden te vergelijken is man:diff[1] gebruiken: [source,shell] .... # diff /etc/shells /var/tmp/root/etc/shells .... Dit toont de verschillen tussen de huidige [.filename]#/etc/shells# en de nieuwe [.filename]#/var/tmp/root/etc/shells#. Gebruik dit om te bepalen of de wijzigingen gemigreerd moeten worden of dat het oude bestand gekopieërd moet worden. [TIP] .Voeg aan de naam van de nieuwe rootmap ([.filename]#/var/tmp/root#) een tijdsindicatie toe zodat makkelijk verschillen tussen versies bepaald kunnen worden ==== Als de wereld regelmatig wordt herbouwd moeten bestanden in [.filename]#/etc# ook regelmatig bijgewerkt moeten worden, wat een vervelend werkje kan zijn. Dit proces kan versneld worden door een kopie te bewaren van de bestanden die gemigreerd zijn naar [.filename]#/etc#. De volgende procedure geeft een idee over hoe dit gedaan kan worden. [.procedure] ====== . Maak de wereld zoals normaal. Als [.filename]#/etc# en de andere mappen bijgewerkt moeten worden, geef dan de doelmap een naam gebaseerd op de huidige datum. Op 14 februari 1998 wordt dat als volgt gedaan: + [source,shell] .... # mkdir /var/tmp/root-19980214 # cd /usr/src/etc # make DESTDIR=/var/tmp/root-19980214 \ distrib-dirs distribution .... + . Migreer de wijzigingen van deze map zoals hierboven beschreven. + Verwijder de map [.filename]#/var/tmp/root-19980214#_niet_ na afronden. . Als de laatste versie van de broncode gedownload en opnieuw gemaakt is, volg stap 1. Dit geeft een nieuwe map die wellicht [.filename]#/var/tmp/root-19980221# heet (als er een week zit tussen het bijwerken). . De verschillen die gemaakt zijn in de tussenliggende week kunnen nu getoond worden door met man:diff[1] een recursieve diff te maken tussen de twee mappen: + [source,shell] .... # cd /var/tmp # diff -r root-19980214 root-19980221 .... + Vaak is dit een kleinere set aan verschillen dan tussen [.filename]#/var/tmp/root-19980221/etc# en [.filename]#/etc#. Omdat de set verschillen kleiner is, is het makkelijker om deze te migreren naar de map [.filename]#/etc#. . De oudste van de twee [.filename]#/var/tmp/root-*#-mappen kan nu verwijderd worden: + [source,shell] .... # rm -rf /var/tmp/root-19980214 .... + . Herhaal dit proces elke keer als er wijzigingen gemigreerd moeten worden naar [.filename]#/etc#. ====== Met man:date[1] kan het maken van de mappen geautomatiseerd worden: [source,shell] .... # mkdir /var/tmp/root-`date "+%Y%m%d"` .... ==== [[updating-upgrading-rebooting]] === Herstarten Dit was het. Na een controle of alles op de juiste plaats staat kan het systeem herstart worden. Dan kan met een simpele man:shutdown[8]: [source,shell] .... # shutdown -r now .... === Klaar Het FreeBSD systeem is nu succesvol bijgewerkt. Gefeliciteerd! Als er dingen misgingen is het makkelijk om een deel van het systeem opnieuw te bouwen. Als bijvoorbeeld per ongeluk [.filename]#/etc/magic# verwijderd is als onderdeel van de upgrade of door het samenvoegen van [.filename]#/etc#, dan werkt man:file[1] niet meer. Dat kan als volgt opgelost worden: [source,shell] .... # cd /usr/src/usr.bin/file # make all install .... [[updating-questions]] === Vragen ==== Moet de wereld opnieuw gemaakt worden voor elke wijziging? Op deze vraag bestaat geen eenvoudig antwoord, omdat dit afhangt van de aard van de wijziging. Als bijvoorbeeld net CVSup is gedraaid en de onderstaande bestanden zijn bijgewerkt, dan is het waarschijnlijk niet de moeite waard om de volledige wereld te herbouwen: [source,shell] .... src/games/cribbage/instr.c src/games/sail/pl_main.c src/release/sysinstall/config.c src/release/sysinstall/media.c src/shared/mk/bsd.port.mk .... Dan is het handiger om naar de juiste submappen te gaan, daar `make all install` uit te voeren en dat is het zo'n beetje. Maar als er iets wezenlijks is veranderd, bijvoorbeeld [.filename]#src/lib/libc/stdlib#, dan dient ofwel de wereld herbouwd te worden of tenminste die delen die statisch gelinkt zijn (en ook al het andere dat statisch gelinkt is en onderdeel is van een systeem). Uiteindelijk beslist een beheerder zelf. Misschien vindt die het prettig iedere twee weken de wereld te herbouwen terwijl de wijzigingen in die twee weken binnenkomen. Een andere beheerder herbouwt alleen die onderdelen die veranderd zijn en vertrouwt erop dat hij alle afhankelijkheden in de gaten heeft. Natuurlijk hangt het ook af van de keuze hoe vaak het wenselijk is bij te werken en of FreeBSD-STABLE of FreeBSD-CURRENT wordt bijgehouden. ==== Het compileren gaat fout met veel meldingen van signal 11signal 11 (of andere signalnummers). Wat is er aan de hand? Dit wijst meestal op hardwareproblemen. Het (her)bouwen van de wereld is een prima manier om een stresstest op hardware uit te voeren en hierdoor komen vaak geheugenproblemen bovendrijven. Die resulteren vaak in een compiler die op mysterieuze wijze overlijdt na het ontvangen van vreemde signalen. Dit probleem is nog duidelijker als na het herstarten van de make het proces opnieuw stopt op een ander punt. Hier biedt niets anders uitkomst dan componenten in een systeem wisselen om uit te zoeken welk component er faalt. ==== Kan /usr/obj verwijderd worden na afloop? Het korte antwoord is ja. [.filename]#/usr/obj# bevat alle objectbestanden die tijdens het compileren zijn gemaakt. Normaliter is een van de eerste stappen in het `make buildworld` proces deze map verwijderen en een verse start maken. In dit geval heeft het behouden van [.filename]#/usr/obj# na het afronden weinig zin en geeft het ook nogal wat extra vrije schijfruimte (ongeveer 2 GB). Als er veel kennis aanwezig is bij een beheerder, dan kan `make buildworld` aangegeven worden deze stap over te slaan. Hierdoor draaien volgende builds veel sneller, omdat veel broncode niet opnieuw gecompileerd hoeft te worden. De andere kant van de medaille is dat er subtiele afhankelijkheidsproblemen kunnen ontstaan, waardoor een build op bijzondere wijze kan falen. Hierdoor onstaat regelmatig ruis op FreeBSD mailinglijsten als er iemand klaagt dat zijn build faalt, terwijl hij zich niet realiseert dat dit komt doordat hij zijn updateproces niet volgens het boekje heeft uitgevoerd. ==== Kunnen onderbroken builds gecontinueerd worden? Dit hangt af van hoever een systeem was voordat een probleem gevonden werd. _Normaal gesproken_ (en dit is geen vaste regel) maakt het proces `make buildworld` nieuwe kopieën van essentiele hulpprogramma's (zoals man:gcc[1] en man:make[1]) en de systeembibliotheken. Deze hulpprogramma's en bibliotheken worden daarna geïnstalleerd. De nieuwe hulpprogramma's en bibliotheken worden daarna gebruikt om zichzelf opnieuw op te bouwen en wederom te installeren. Het complete systeem (nu met gewone programma's zoals man:ls[1] en man:grep[1]) wordt daarna opnieuw gebouwd met de nieuwe systeembestanden. Als een systeem in de laatste fase zit (wat uit de uitvoer blijkt) kan dit redelijk veilig gedaan worden: [source,shell] .... … fix the problem … # cd /usr/src # make -DNO_CLEAN all .... Dit maakt het werk van de vorige `make buildworld` niet ongedaan. Als het onderstaande bericht in de uitvoer van `make buildworld` staat, dan is het redelijk veilig om het te doen: [source,shell] .... -------------------------------------------------------------- Building everything.. -------------------------------------------------------------- .... Als dat bericht er niet is, of er is onzekerheid over, dan is het altijd beter om de build opnieuw te starten vanaf het begin. ==== Kan kan de wereld bouwen versneld worden? * Draai in single-user modus; * Zet de mappen [.filename]#/usr/src# en [.filename]#/usr/obj# op aparte bestandssystemen die op aparte schijven staan. Hang deze schijven als mogelijk aan aparte schijfcontrollers; * Nog beter, verspreid de bestandssystemen over meerdere schijven via het apparaat man:ccd[4] (concatenated disk driver); * Zet profiling uit (voeg "NO_PROFILE=true" toe aan [.filename]#/etc/make.conf#). Het is zeer waarschijnlijk niet nodig; * Geef de optie `-j__n__` mee aan man:make[1] om meerdere processen parallel te laten lopen. Dit helpt in de meeste gevallen, onafhankelijk of er gewerkt wordt op een systeem met één of meerdere processoren; * Het bestandssysteem dat [.filename]#/usr/src# bevat, kan (opnieuw) gemount worden met de optie `noatime`. Dit voorkomt dat het bestandssysteem de toegangsmomenten registreert. Deze informatie is waarschijnlijk toch niet nodig. + [source,shell] .... # mount -u -o noatime /usr/src .... + [WARNING] ==== In dit voorbeeld wordt aangenomen dat [.filename]#/usr/src# op zijn eigen bestandssysteem staat. Als dit niet het geval is (bijvoorbeeld als het onderdeel is van [.filename]#/usr#), dan moet het mountpunt voor dat bestandssysteem gebruikt moeten worden en niet [.filename]#/usr/src#; ==== * Het bestandssysteem dat [.filename]#/usr/obj# gevat kan (opnieuw) worden gemount met de optie `async`. Dit zorgt ervoor dat schrijfacties naar een schijf asynchroon plaatsvinden. In andere woorden: de schrijfactie wordt direct uitgevoerd en de gegevens worden later naar de schijf geschreven. Dit stelt het systeem in staat om data geclusterd weg te schrijven, wat een grote prestatieverbetering kan opleveren. + [WARNING] ==== Houd er rekening mee dat deze optie het bestandssysteem kwetsbaarder maakt. Met deze optie is er een vergrote kans dat, indien er een stroomstoring optreed, het bestandssysteem in een niet meer te herstellen staat komt als de machine herstart. Als op dit bestandssysteem alleen [.filename]#/usr/obj# staat, is dit geen probleem. Als er andere belangrijke gegevens op hetzelfde bestandssysteem staan, zorg er dan voor dat er verse back-ups zijn voordat deze optie aangezet wordt. ==== + [source,shell] .... # mount -u -o async /usr/obj .... + [WARNING] ==== Zorg ervoor, zoals al eerder is aangegeven, dat als [.filename]#/usr/obj# niet op een eigen bestandssysteem staat, het juiste mountpunt wordt gebruikt. ==== ==== Wat te doen als er iets mis gaat? Zorg ervoor dat het systeem geen rommel meer bevat van eerdere builds. Het volgende helpt daarbij: [source,shell] .... # chflags -R noschg /usr/obj/usr # rm -rf /usr/obj/usr # cd /usr/src # make cleandir # make cleandir .... Inderdaad, `make cleandir` moet twee keer gedraaid worden. Herstart daarna het complete proces vanaf `make buildworld`. Als er nog steeds problemen zijn, stuur dan de foutmelding en de uitvoer van `uname -a` naar de {freebsd-questions}. Wees bereid aanvullende vragen over het systeem te beantwoorden! [[make-delete-old]] == Het verwijderen van overbodige bestanden, directories en bibliotheken Als onderdeel van de FreeBSD ontwikkel levenscyclus kan het van tijd tot tijd gebeuren dat bestanden en de inhoud ervan overbodig worden. Dit kan komen doordat de functionaliteit ergens anders geïmplementeerd is, het versienummer van de bibliotheek veranderd is of hij is totaal van het systeem verdwenen. Dit is inclusief oude bestanden, bibliotheken en directories welke verwijderd moeten worden bij het updaten van het systeem. Het voordeel voor de gebruiker is dat het systeem niet vervuild wordt met oude bestanden die onnodig ruimte innemen op het opslag (en back-up) systeem. Ook is het zo dat als de oude bibliotheek een beveiligings of stabiliteits probleem had, er moet worden geupdate naar de nieuwere bibliotheek om het systeem veilig te houden en te voorkomen dat er crashes komen door de oude implementatie van de bibliotheek. De bestanden, directories en bibliotheken welke als overbodig worden gezien zijn beschreven in [.filename]#/usr/src/ObsoleteFiles.inc#. De volgende instructies zullen helpen om deze verouderde bestanden te verwijderen tijdens het systeem upgrade proces. Er wordt aangenomen dat de stappen gevolgd worden zoals uitgelegd in <>. Na het `make installworld` commando en het daarop volgende `mergemaster` commando succesvol uitgevoerd zijn kan er op de volgende manier gecontroleerd worden voor verouderde bestanden en bibliotheken: [source,shell] .... # cd /usr/src # make check-old .... Als er verouderde bestanden gevonden worden kunnen deze verwijderd worden door het volgende commando: [source,shell] .... # make delete-old .... [TIP] ==== Zie het [.filename]#/usr/src/Makefile# bestand voor meer interessante targets. ==== Er wordt een prompt getoond voordat elk verouderd bestand wordt verwijderd. Deze prompt kan worden overgeslagen en het systeem deze bestanden automatisch laten verwijderen door gebruik te maken van de `BATCH_DELETE_OLD_FILES` make variabele als volgt: [source,shell] .... # make -DBATCH_DELETE_OLD_FILES delete-old .... Dit kan ook worden gedaan door deze commando's door `yes` te pipen als volgt: [source,shell] .... # yes|make delete-old .... .Waarschuwing [WARNING] ==== Het verwijderen van verouderde bestanden zal applicaties stuk maken die nog gebruik maken van de overbodige bestanden. Dit is zeker waar voor oude bibliotheken. In de meeste gevallen moeten de programma's, ports of bibliotheken opnieuw gecompileerd worden voordat `make delete-old-libs` wordt uitgevoerd. ==== Gereedschappen om gedeelde bibliotheek afhankelijkheden te controleren zijn beschikbaar in de Ports Collectie in package:sysutils/libchk[] of package:sysutils/bsdadminscripts[]. Overbodige gedeelde bibliotheken kunnen conflicteren met nieuwere bibliotheken welke berichten zoals deze kunnen veroorzaken: [source,shell] .... /usr/bin/ld: warning: libz.so.4, needed by /usr/local/lib/libtiff.so, may conflict with libz.so.5 /usr/bin/ld: warning: librpcsvc.so.4, needed by /usr/local/lib/libXext.so, may conflict with librpcsvc.so.5 .... Om deze problemen op te lossen moet bepaald worden welke port deze bibliotheek heeft geïnstalleerd: [source,shell] .... # pkg_info -W /usr/local/lib/libtiff.so /usr/local/lib/libtiff.so was installed by package tiff-3.9.4 # pkg_info -W /usr/local/lib/libXext.so /usr/local/lib/libXext.so was installed by package libXext-1.1.1,1 .... Deïnstalleer, herbouw en herinstalleer de port. De package:ports-mgmt/portmaster[] en package:ports-mgmt/portupgrade[] gereedschappen kunnen gebruikt worden om deze processen te automatiseren. Nadat zeker is dat alle ports opnieuw gebouwd zijn, en de oude bibliotheken niet meer gebruikt worden, kunnen deze verwijderd worden met het volgende commando: [source,shell] .... # make delete-old-libs .... [[small-lan]] == Meerdere machines bijwerken Als er meerdere machines zijn die dezelfde broncode bijhouden, lijkt het downloaden van alle broncode en alles overal opnieuw bouwen zonde van de bronnen: harde schijfruimte, netwerk bandbreedte, en processorbelasting. Dit klopt en de oplossing is om alles op één machine te doen terwijl de overige machines het uitgevoerde werk benaderen via NFS. Nu wordt een methode beschreven waarmee dit gedaan kan worden. [[small-lan-preliminaries]] === Benodigdheden Als eerste moet er een groep van machines gekozen worden die dezelfde set aan binaire bestanden zal draaien, hier een _bouwgroep_. Elke machine kan een eigen afwijkende kernel hebben maar moet dezelfde binaire gebruikersbestanden draaien. Uit die groep moet een machine gekozen worden die de _bouwmachine_ wordt. Dit wordt de machine waar de wereld en kernel op gebouwd worden. In het meest ideale geval is dit een snelle machine die genoeg processorkracht vrij heeft om `make buildworld` en `make buildkernel` te draaien. Er moet ook een machine gekozen worden die de _testmachine_ wordt waarop alle bijgewerkte software wordt test voordat die in productie wordt genomen. Dit _moet_ een machine zijn die voor langere tijd down mag zijn. Dit kan de bouwmachine zijn maar dat hoeft niet per se. Alle machines in deze bouwgroep moeten ingesteld worden om [.filename]#/usr/obj# en [.filename]#/usr/src# vanaf dezelfde machine te mounten op hetzelfde punt. In het meest ideale geval zijn dit twee verschillende schijven op de bouwmachine, maar ze kunnen ook door middel van NFS op die machine gemount zijn. Als er meerdere bouwgroepen zijn, dan moet [.filename]#/usr/src# op één bouwmachine staan en door middel van NFS gemount worden op de overige machines. Zorg er als laatste voor dat [.filename]#/etc/make.conf# en [.filename]#/etc/src.conf# op alle machines in de bouwgroep het eens zijn met de bouwmachine. Dat betekent dat de bouwmachine alle delen van het basissysteem moet bouwen die elke machine in de bouwgroep installeert. Ook heeft elke bouwmachine zijn kernelnaam ingesteld met `KERNCONF` in [.filename]#/etc/make.conf# en de bouwmachine moet ze allemaal hebben in `KERNCONF`, zijn eigen kernel eerst. De bouwmachine moet de instellingenbestanden voor elke machine in [.filename]#/usr/src/sys/arch/conf# hebben als deze machine de kernels voor de overige machines gaat bouwen. [[small-lan-base-system]] === Basissysteem Nu kan één systeem alles bouwen. Bouw de kernel en wereld zoals beschreven in <> op de bouwmachine, maar installeer niets. Zodra de bouw klaar is, moet op de testmachine de kernel geïnstalleerd en getest worden. Als deze machine [.filename]#/usr/src# en [.filename]#/usr/obj# mount via NFS, moet na een herstart in single-user modus het netwerk ingeschakeld worden zodat de mounts opnieuw gemaakt kunnen worden. De makkelijkste manier om dit te doen is om te starten in multi-user modus en daar `shutdown now` starten om in single-user modus te komen. Eenmaal daar aangekomen kunnen de nieuwe kernel en de wereld geïnstalleerd worden en kan daarna normaal `mergemaster` gestart worden. Zodra dit klaar is, kan de machine opnieuw gestart worden om naar multi-user modus terug te keren. Nadat zeker is dat alles op de testmachine correct werkt, kan dezelfde procedure gebruikt worden om de nieuwe software op elke machine te installeren in de bouwgroep. [[small-lan-ports]] === Ports Dezelfde ideeën kunnen gebruikt worden voor de ports. De eerste kritieke stap is om [.filename]#/usr/ports# te mounten op alle machines in de bouwgroep. Daarna kan [.filename]#/etc/make.conf# correct ingesteld worden om de distfiles te delen. De variabele `DISTDIR` moet wijzen naar een gedeelde map waarin geschreven kan worden door de gebruiker waar `root` naar wijst in de NFS mounts. Op elke machine moet `WRKDIRPREFIX` naar een lokale bouwmap wijzen. Als er pakketten gebouwd en gedistribueerd worden moet `PACKAGES` naar een map wijzen gelijkvormig aan de instelling voor `DISTDIR`. diff --git a/documentation/content/nl/books/handbook/eresources/_index.adoc b/documentation/content/nl/books/handbook/eresources/_index.adoc index 8d40f019db..2ea4039a47 100644 --- a/documentation/content/nl/books/handbook/eresources/_index.adoc +++ b/documentation/content/nl/books/handbook/eresources/_index.adoc @@ -1,1095 +1,1095 @@ --- title: Bijlage C. Bronnen op Internet part: Deel V. Appendix prev: books/handbook/bibliography next: books/handbook/pgpkeys --- [appendix] [[eresources]] = Bronnen op Internet :doctype: book :icons: font :sectnums: :sectnumlevels: 6 :source-highlighter: rouge :experimental: :skip-front-matter: :toc-title: Inhoudsopgave :table-caption: Tabel :figure-caption: Afbeelding :example-caption: Voorbeeld :xrefstyle: basic :relfileprefix: ../ :outfilesuffix: :sectnumoffset: C include::shared/mirrors.adoc[] include::shared/authors.adoc[] include::shared/releases.adoc[] include::shared/nl/mailing-lists.adoc[] include::shared/nl/teams.adoc[] include::shared/nl/urls.adoc[] Door de snelle ontwikkeling van FreeBSD zijn gedrukte media niet zo praktisch om de laatste ontwikkelingen te volgen. Elektronische bronnen zijn de beste, en vaak de enige, om op de hoogte te blijven van de laatste ontwikkelingen. Omdat FreeBSD draait op de inzet van vrijwilligers, is de gebruikersgemeenschap vaak een soort "technische ondersteuningsgroep", die heeft ontdekt dat email, webfora, en USENET de meeste effectieve manieren zijn om de gebruikersgemeenschap te bereiken. Hieronder staan de meest belangrijke contactmogelijkheden met de FreeBSD gebruikersgemeenschap beschreven. Mochten er andere bronnen zijn die hier niet beschreven zijn, laat die dan weten aan de {freebsd-doc}, zodat ze hier ook beschreven kunnen worden. [[eresources-mail]] == Mailinglijsten De mailinglijsten zijn de meest directe manier om vragen te stellen aan of een technische discussie te beginnen met een geconcentreerd FreeBSD-publiek. Er is een grote verscheidenheid aan lijsten met betrekking tot verschillende FreeBSD-onderwerpen. Door uw vragen aan de meest geschikte mailinglijst te stellen bent u ongetwijfeld verzekerd van een sneller en accurater antwoord. De doelstellingen van de verschillende lijsten staan onderaan dit document. _Lees alstublieft de doelstellingen alvorens lid te worden of mail te sturen_. De meeste leden ontvangen tegenwoordig vaak honderden FreeBSD-gerelateerde berichten per dag, en door de doelstellingen en gebruiksregels op te stellen wordt gestreefd om zo min mogelijk ruis op de lijn te krijgen. Door de voorgaande adviezen te negeren zouden de mailinglijsten op termijn falen als een effectief communicatiemedium over het project. [NOTE] ==== _Als u wilt testen of u naar de FreeBSD lijsten email kunt versturen, stuur dan een bericht naar {freebsd-test}._ Stuur alstublieft geen testberichten naar andere lijsten. ==== Bij twijfel over naar welke lijst te posten, kan de pagina link:{freebsd-questions-article}[Hoe de beste resultaten uit de FreeBSD-vragen mailinglijst te halen] wellicht helpen. Alvorens naar enige lijst te posten, is het verstandig te leren hoe de mailinglijsten het beste gebruikt kunnen worden. Hoe bijvoorbeeld zich vaak herhalende discussies voorkomen kunnen worden door het document link:{mailing-list-faq}[Veel Gestelde Mailinglijstvragen] (FAQ) te lezen. Voor alle mailinglijsten worden archieven bijgehouden die doorzocht kunnen worden op de link:https://www.FreeBSD.org/search/[FreeBSD World Wide Web server]. De met sleutelwoorden te doorzoeken archieven bieden een voortreffelijke methode om antwoorden te vinden op vaak gestelde vragen en horen geraadpleegd te worden voordat er vragen op een lijst worden gesteld. Merk op dat dit ook betekent dat berichten die naar de mailinglijsten van FreeBSD worden verzonden tot in de oneindigheid worden gearchiveerd. Overweeg, wanneer het beschermen van privacy belangrijk is, om een tweede emailadres dat weggegooid kan worden te gebruiken en om alleen publieke informatie te posten. [[eresources-summary]] === Lijstsamenvatting _Algemene lijsten:_ De volgende zijn algemene lijsten waarop vrijelijk (en aangemoedigd) geabonneerd kan worden: [.informaltable] [cols="1,1", frame="none", options="header"] |=== | Lijst | Doel |link:{freebsd-advocacy-url}[freebsd-advocacy] |FreeBSD Evangelisatie |{freebsd-announce} |Belangrijke gebeurtenissen en projectdoelen (gemodereerd) |link:{freebsd-arch-url}[freebsd-arch] |Architectuur en ontwerp discussies |link:{freebsd-bugbusters-url}[freebsd-bugbusters] |Discussie over het onderhoud van de FreeBSD probleemrapportendatabase en aanverwante zaken |link:{freebsd-bugs-url}[freebsd-bugs] |Bugbeschrijvingen |link:{freebsd-chat-url}[freebsd-chat] |Niet-technische onderwerpen met betrekking tot de FreeBSD-gemeenschap |link:{freebsd-chromium-url}[freebsd-chromium] |FreeBSD specifieke Chromium problemen |{freebsd-current} |Discussie over het gebruik van FreeBSD-CURRENT |link:{freebsd-isp-url}[freebsd-isp] |Zaken voor Internet Service Providers die FreeBSD gebruiken |link:{freebsd-jobs-url}[freebsd-jobs] |Werk en mogelijkheden voor het geven van advies met betrekking tot FreeBSD |link:{freebsd-questions-url}[freebsd-questions] |Gebruikersvragen en technische ondersteuning |{freebsd-security-notifications} |Beveiligingswaarschuwingen (gemodereerd) |{freebsd-stable} |Discussies over het gebruik van FreeBSD-STABLE |{freebsd-test} |Hier kunnen testberichten heengestuurd worden in plaats van naar de eigenlijke lijsten |=== _Technische lijsten:_ De volgende lijsten zijn voor technische discussie. Het is van belang de doelstellingen te lezen alvorens lid te worden of mail te sturen omdat de richlijnen voor het gebruik en de inhoud erg strikt zijn. [.informaltable] [cols="1,1", frame="none", options="header"] |=== | Lijst | Doel |{freebsd-acpi} |Ontwikkeling van ACPI en energiebeheer |link:{freebsd-afs-url}[freebsd-afs] |Porten van AFS naar FreeBSD |link:{freebsd-aic7xxx-url}[freebsd-aic7xxx] |Ontwikkeling van stuurprogramma's voor de Adaptec(R) AIC 7xxx |link:{freebsd-amd64-url}[freebsd-amd64] |Porten van FreeBSD naar AMD64-systemen (gemodereerd) |link:{freebsd-apache-url}[freebsd-apache] |Discussie over ports met betrekking tot Apache |link:{freebsd-arm-url}[freebsd-arm] |Porten van FreeBSD naar ARM(R)-processors |link:{freebsd-atm-url}[freebsd-atm] |Het gebruik van ATM-netwerken met FreeBSD |link:{freebsd-bluetooth-url}[freebsd-bluetooth] |Bluetooth(R) technologie gebruiken in FreeBSD |link:{freebsd-cluster-url}[freebsd-cluster] |FreeBSD gebruiken in een geclusterde omgeving |link:{freebsd-cvsweb-url}[freebsd-cvsweb] |CVSweb onderhoud |link:{freebsd-database-url}[freebsd-database] |Discussie over het gebruik en de ontwikkeling van databases met FreeBSD |link:{freebsd-desktop-url}[freebsd-desktop] |FreeBSD gebruiken op en verbeteren voor bureaubladen |link:{freebsd-doc-url}[freebsd-doc] |Het maken van FreeBSD-gerelateerde documenten |link:{freebsd-drivers-url}[freebsd-drivers] |Apparaatstuurprogramma's schrijven voor FreeBSD |link:{freebsd-dtrace-url}[freebsd-dtrace] |DTrace op FreeBSD gebruiken en ontwikkelen |link:{freebsd-eclipse-url}[freebsd-eclipse] |Gebruikers van Eclipse IDE, hulpprogramma's, cliëntapplicaties en ports |link:{freebsd-eol-url}[freebsd-eol] |Ondersteuning voor FreeBSD-gerelateerde software welke niet langer ondersteund worden door het FreeBSD-project. |link:{freebsd-embedded-url}[freebsd-embedded] |FreeBSD gebruiken in embedded applicaties. |link:{freebsd-emulation-url}[freebsd-emulation] |Emulatie van andere systemen zoals Linux(R), MS-DOS(R), en Windows(R) |link:{freebsd-firewire-url}[freebsd-firewire] |FreeBSD FireWire(R) (iLink, IEEE 1394) technische discussie |link:{freebsd-fs-url}[freebsd-fs] |Bestandssystemen |link:{freebsd-gecko-url}[freebsd-gecko] |Discussies over de Gecko Rendering Engine |link:{freebsd-geom-url}[freebsd-geom] |GEOM-specifieke discussies en implementaties |link:{freebsd-gnome-url}[freebsd-gnome] |Porten van GNOME en GNOME applicaties |link:{freebsd-hackers-url}[freebsd-hackers] |Algemene technische discussies |link:{freebsd-hardware-url}[freebsd-hardware] |Algemene discussies over hardware voor het draaien van FreeBSD |link:{freebsd-i18n-url}[freebsd-i18n] |FreeBSD Internationalisatie |link:{freebsd-ia32-url}[freebsd-ia32] |FreeBSD op het IA-32 (Intel(R) x86) platform |link:{freebsd-ia64-url}[freebsd-ia64] |Porten van FreeBSD naar Intel(R)'s IA64 systemen |link:{freebsd-infiniband-url}[freebsd-infiniband] |Infiniband op FreeBSD |link:{freebsd-ipfw-url}[freebsd-ipfw] |Technische discussie over het herontwerp van de IP-firewallcode |link:{freebsd-isdn-url}[freebsd-isdn] |ISDN-ontwikkelaars |link:{freebsd-jail-url}[freebsd-jail] |Discussies over de man:jail[8]-faciliteiten. |link:{freebsd-java-url}[freebsd-java] |Java(TM) ontwikkelaars en mensen die JDK(TM)s porten naar FreeBSD |link:{freebsd-kde-url}[freebsd-kde] |Porten van KDE en KDE applicaties |link:{freebsd-lfs-url}[freebsd-lfs] |Porten van LFS naar FreeBSD |link:{freebsd-mips-url}[freebsd-mips] |Porten van FreeBSD naar MIPS(R) |link:{freebsd-mobile-url}[freebsd-mobile] |Discussie over mobiel computeren |link:{freebsd-mono-url}[freebsd-mono] |Mono en C# applicaties op FreeBSD |link:{freebsd-mozilla-url}[freebsd-mozilla] |Porten van Mozilla naar FreeBSD |{freebsd-multimedia} |Multimedia-applicaties |link:{freebsd-new-bus-url}[freebsd-new-bus] |Technische discussies over busarchitecturen |link:{freebsd-net-url}[freebsd-net] |Discussies over netwerken en TCP/IP-broncode |link:{freebsd-numerics-url}[freebsd-numerics] |Discussies over implementaties van hoge kwaliteit van functies in libm |link:{freebsd-office-url}[freebsd-office] |Kantoortoepassingen op FreeBSD |link:{freebsd-performance-url}[freebsd-performance] |Optimalisatie van prestaties voor installaties met hoge prestaties en/of load |link:{freebsd-perl-url}[freebsd-perl] |Onderhoud van een aantal ports met betrekking tot Perl |link:{freebsd-pf-url}[freebsd-pf] |Discussies en vragen voor het pakketfilter firewallsysteem |link:{freebsd-platforms-url}[freebsd-platforms] |Ports naar niet Intel(R)-architectuurplatformen |link:{freebsd-ports-url}[freebsd-ports] |Discussie over de Portscollectie |link:{freebsd-ports-announce-url}[freebsd-ports-announce] |Belangrijk nieuws en belangrijke instructies over de Portscollectie (gemodereerd) |link:{freebsd-ports-bugs-url}[freebsd-ports-bugs] |Discussie over bugs in ports en PR's |link:{freebsd-ppc-url}[freebsd-ppc] |Porten van FreeBSD naar de PowerPC(R) |link:{freebsd-proliant-url}[freebsd-proliant] |Technische discussie over FreeBSD op HP Proliant serverplatforms |link:{freebsd-python-url}[freebsd-python] |FreeBSD-specifieke zaken over Python |link:{freebsd-realtime-url}[freebsd-realtime] |Ontwikkeling van realtime-uitbreidingen voor FreeBSD |link:{freebsd-rc-url}[freebsd-rc] |Discussie over het [.filename]#rc.d#-systeem en de ontwikkeling daarvan |link:{freebsd-ruby-url}[freebsd-ruby] |FreeBSD-specifieke discussies over Ruby |link:{freebsd-scsi-url}[freebsd-scsi] |Het SCSI-subsysteem |{freebsd-security} |Beveiligingsonderwerpen betreffende FreeBSD |link:{freebsd-small-url}[freebsd-small] |FreeBSD gebruiken in embedded toepassingen, verouderd, gebruik in plaats hiervan link:{freebsd-embedded-url}[freebsd-embedded] |link:{freebsd-snapshots-url}[freebsd-snapshots] |Aankondigingen van ontwikkel-snapshots van FreeBSD |link:{freebsd-sparc64-url}[freebsd-sparc64] |Porten van FreeBSD naar op SPARC(R) gebaseerde systemen |link:{freebsd-standards-url}[freebsd-standards] |Volgen van de C99- en de POSIX(R) standaarden door FreeBSD |link:{freebsd-sysinstall-url}[freebsd-sysinstall] |Ontwikkeling van man:sysinstall[8] |link:{freebsd-tcltk-url}[freebsd-tcltk] |FreeBSD-specifieke discussies over Tcl/Tk |link:{freebsd-testing-url}[freebsd-testing] |Testen op FreeBSD |link:{freebsd-tex-url}[freebsd-tex] |TeX en haar toepassingen op FreeBSD overzetten |link:{freebsd-threads-url}[freebsd-threads] |Threading in FreeBSD |link:{freebsd-tilera-url}[freebsd-tilera] |FreeBSD porteren naar de Tilera CPU-familie |link:{freebsd-tokenring-url}[freebsd-tokenring] |Ondersteuning voor Token Ring in FreeBSD |link:{freebsd-toolchain-url}[freebsd-toolchain] |Onderhoud van de ingebouwde toolchain van FreeBSD |link:{freebsd-usb-url}[freebsd-usb] |Discussie over FreeBSD-ondersteuning voor USB |link:{freebsd-virtualization-url}[freebsd-virtualization] |Discussies over verscheidene virtualisatietechnieken ondersteund door FreeBSD |link:{freebsd-vuxml-url}[freebsd-vuxml] |Discussie over VuXML-infrastructuur |link:{freebsd-x11-url}[freebsd-x11] |Onderhoud en ondersteuning voor X11 op FreeBSD |link:{freebsd-xen-url}[freebsd-xen] |Discussies over het overbrengen van FreeBSD naar Xen(TM) - implementatie en gebruik |link:{freebsd-xfce-url}[freebsd-xfce] |Overbrengen en onderhouden van XFCE voor FreeBSD |link:{freebsd-zope-url}[freebsd-zope] |Zope voor FreeBSD - overbrengen en onderhouden |=== _Beperkte lijsten:_ De volgende lijsten zijn voor meer gespecialiseerd publiek en algemene gebruikers hebben er waarschijnlijk niets aan. Het is verstandig om eerst naam te maken in de technische lijsten alvorens lid te worden van een van de onderstaande beperkte lijsten, zodat de gebruiken op die lijst bekend zijn. [.informaltable] [cols="1,1", frame="none", options="header"] |=== | Lijst | Doel |link:{freebsd-hubs-url}[freebsd-hubs] |Mensen die mirrorsites draaien (infrastructurele ondersteuning) |link:{freebsd-user-groups-url}[freebsd-user-groups] |Gebruikersgroepcoördinatie |link:{freebsd-wip-status-url}[freebsd-wip-status] |FreeBSD Werk-In-Uitvoering status |link:{freebsd-wireless-url}[freebsd-wireless] |Discussies over de ontwikkeling van de 802.11-stack, gereedschappen en stuurprogramma's. |=== _Verkorte versie van lijsten (digest):_ Alle hierboven beschreven lijsten zijn beschikbaar in verkorte vorm. Na het lid worden van een lijst zijn de digest opties te wijzigen bij de accountopties. _SVN-lijsten:_ De volgende lijsten zijn voor mensen met interesse in het zien van logboekberichten voor wijzigingen in verschillende onderdelen van de broncodeboom. Het zijn _Alleen-lezen_-lijsten waar geen email heen gezonden hoort te worden. [.informaltable] [cols="1,1,1", frame="none", options="header"] |=== | Lijst | Broncodegebied | Broncodebeschrijving |link:{svn-doc-all-url}[svn-doc-all] |[.filename]#/usr/doc# |Alle wijzigingen aan het doc-Subversion-reservoir (behalve [.filename]#user#, [.filename]#projects# en [.filename]#translations#) |link:{svn-doc-head-url}[svn-doc-head] |[.filename]#/usr/doc# |Alle wijzigingen aan de tak "head" van het doc-Subversion-reservoir |link:{svn-doc-projects-url}[svn-doc-projects] |[.filename]#/usr/doc/projects# |Alle wijzigingen in het projects-gebied van het doc-Subversion-reservoir |link:{svn-doc-svnadmin-url}[svn-doc-svnadmin] |[.filename]#/usr/doc# |Alle wijzigingen aan de administratieve scripts, haken en andere configuratiegegevens van het doc-Subversion-reservoir |link:{svn-ports-all-url}[svn-ports-all] |[.filename]#/usr/ports# |Alle wijzigingen aan het ports-Subversion-reservoir |link:{svn-ports-head-url}[svn-ports-head] |[.filename]#/usr/ports# |Alle wijzigingen aan de tak "head" van het ports-Subversion-reservoir |link:{svn-ports-svnadmin-url}[svn-ports-svnadmin] |[.filename]#/usr/ports# |Alle wijzigingen aan de administratieve scripts, haken en andere configuratiegegevens van het ports-Subversion-reservoir |{svn-src-all} |[.filename]#/usr/src# |Alle wijzigingen in het src-Subversion-repository (behalve [.filename]#user# en [.filename]#projects#) |{svn-src-head} |[.filename]#/usr/src# |Alle wijzigingen aan de "head"-tak van het src-Subversion-repository (de tak FreeBSD-CURRENT) |link:{svn-src-projects-url}[svn-src-projects] |[.filename]#/usr/projects# |Alle wijzigingen aan het gebied [.filename]#projects# van het src-Subversion-repository |link:{svn-src-release-url}[svn-src-release] |[.filename]#/usr/src# |Alle veranderingen aan het gebied [.filename]#releases# van het src-Subversion-repository |link:{svn-src-releng-url}[svn-src-releng] |[.filename]#/usr/src# |Alle veranderingen aan de takken [.filename]#releng# van het src-Subversion-repository (de beveiligings- / uitgavetakken) |link:{svn-src-stable-url}[svn-src-stable] |[.filename]#/usr/src# |Alle veranderingen aan alle stable-takken van het src-Subversion-repository |link:{svn-src-stable-6-url}[svn-src-stable-6] |[.filename]#/usr/src# |Alle veranderingen aan de [.filename]#stable/6#-tak van het src-Subversion-repository |link:{svn-src-stable-7-url}[svn-src-stable-7] |[.filename]#/usr/src# |Alle veranderingen aan de [.filename]#stable/7#-tak van het src-Subversion-repository |link:{svn-src-stable-8-url}[svn-src-stable-8] |[.filename]#/usr/src# |Alle veranderingen aan de [.filename]#stable/8#-tak van het src-Subversion-repository |{svn-src-stable-9} |[.filename]#/usr/src# |Alle veranderingen aan de [.filename]#stable/9#-tak van het src-Subversion-repository |link:{svn-src-stable-other-url}[svn-src-stable-other] |[.filename]#/usr/src# |Alle veranderingen aan de oudere [.filename]#stable#-takken van het src-Subversion-repository |link:{svn-src-svnadmin-url}[svn-src-svnadmin] |[.filename]#/usr/src# |Alle veranderingen aan de administratieve scripts, haken, en andere configuratiegegevens van het src-Subversion-repository |link:{svn-src-user-url}[svn-src-user] |[.filename]#/usr/src# |Alle veranderingen aan het experimentele gebied [.filename]#user# van het src-Subversion-repository |link:{svn-src-vendor-url}[svn-src-vendor] |[.filename]#/usr/src# |Alle wijzigingen aan het verkoperswerkgebied van het src-Subversion-repository |=== [[eresources-subscribe]] === Hoe abonneren -Om te abonneren op een lijst kan geklikt worden op de naam van de lijst hierboven of kan op {mailman-lists-url} geklikt worden op de lijst waarin interesse bestaat. De pagina waarop de lijsten staan beschreven bevat alle informatie die nodig is om te abonneren. +Om te abonneren op een lijst kan geklikt worden op de naam van de lijst hierboven of kan op {mailing-lists-url} geklikt worden op de lijst waarin interesse bestaat. De pagina waarop de lijsten staan beschreven bevat alle informatie die nodig is om te abonneren. Om te posten op een lijst kan een email gestuurd worden naar mailto:lijstnaam@FreeBSD.org[lijstnaam@FreeBSD.org]. Daarna wordt die doorgestuurd aan leden van de lijst in de hele wereld. Om het abonnement op een lijst op te zeggen kan op de URL die onderaan iedere email van een lijst staat geklikt worden. Het is ook mogelijk om een email te sturen naar mailto:lijstnaam-unsubscribe@FreeBSD.org[lijstnaam-unsubscribe@FreeBSD.org] om een abonnement op te zeggen. Hierbij nogmaals het advies om discussies op de technische mailinglijsten technisch te houden. Als er alleen interesse bestaat in belangrijke mededelingen dan wordt aangeraden te abonnneren op {freebsd-announce}, waarop zelden verkeer voorkomt. [[eresources-charters]] === Lijstdoelstellingen _Alle_ FreeBSD-mailinglijsten hebben eigen regels waaraan voldaan dient te worden bij gebruik. Als daaraan niet wordt voldaan, resulteert dat in maximaal twee (2) schriftelijke waarschuwingen van de FreeBSD Postmaster mailto:postmaster@FreeBSD.org[postmaster@FreeBSD.org], waarna na de derde overtreding de poster verwijderd wordt van alle FreeBSD-mailinglijsten en alle toekomstige mail van het adres van de verzender wordt uitgefilterd. Helaas zijn deze regels nodig, omdat het Internet van vandaag de dag een onvriendelijke omgeving is en slechts weinigen zich bewust zijn van hoe fragiel sommige mechanismen zijn. Standaardregels: * Het onderwerp van iedere mail dient te voldoen aan de basisdoelstellingen van de lijst waarnaar wordt gepost. Als de lijst bijvoorbeeld over technische onderwerpen gaat, dan hoort een post ook over iets technisch te gaan. Ruis en flaming doen alleen af aan de waarde van een mailinglijst voor alle leden en dat wordt niet getolereerd. Voor vrije discussie dient de {freebsd-chat} gebruikt te worden die daar speciaal voor is ingesteld. * Bijdragen horen niet naar meer dan twee mailinglijsten verzonden te worden en alleen dan naar twee als het helder en duidelijk is dat daarvoor de noodzaak bestaat. Voor de meeste lijsten bestaat er al veel overlap in de leden en met uitzondering van de meer esoterische lijsten, zoals bijvoorbeeld "-stable & -scsi", is er eigenlijk slechts zelden aanleiding om naar meer dan een lijst te posten. Als een bericht zo is verzonden dat er meerdere mailinglijsten op de regel `Cc` staan, dan hoort de regel `Cc` weer ingekort te worden in een eventueel antwoord. _De verzender is verantwoordelijk voor zijn eigen kruisposten, wie ook een eerdere zender was._ * Persoonlijke aanvallen en profane taal (in de context van een geschil) zijn niet toegestaan. Dit geldt zowel voor gebruikers als ontwikkelaars. Grove schending van de netiquette, zoals kopiëren uit of het volledig doorsturen van persoonlijke email zonder dat daarvoor toestemming is gegeven, wordt niet op prijs gesteld. Er zijn hoe dan ook zeer weinig gevallen waarin zoiets dergelijks wel binnen de doelstelling van een lijst valt, waardoor dat soort emails op grond van de inhoud alleen al vaak reden zijn voor een waarschuwing (of ban). * Adverteren voor niet-FreeBSD-gerelateerde producten is streng verboden en heeft direct een ban tot gevolg als helder is dat de overtreder adverteert door middel van spam. _Individuele lijstdoelstellingen:_ {freebsd-acpi}:: _ACPI en energiebeheerontwikkeling_ link:{freebsd-afs-url}[freebsd-afs]:: _Andrew Bestandssysteem (Andrew File System)_ + Deze lijst is voor onderwerpen over het porten en gebruik van AFS van CMU/Transarc {freebsd-announce}:: _Belangrijke gebeurtenissen en projectdoelen_ + Dit is de mailinglijst voor hen die alleen interesse hebben in gelegenheidsmededelingen of belangrijke FreeBSD-gebeurtenissen. Hieronder vallen aankondigingen over snapshots en andere uitgaven. De lijst omvat ook aankondigingen over nieuwe mogelijkheden binnen FreeBSD. Er kunnen ook oproepen gedaan worden voor vrijwilligers, enzovoort. Deze lijst kent een laag volume en is volledig gemodereerd. link:{freebsd-arch-url}[freebsd-arch]:: _Discussie van architectuur en ontwerp_ + Deze lijst is bedoeld voor het bespreken van de FreeBSD-architectuur. Berichten zijn in het algemeen strikt technisch van aard. Voorbeelden van geschikte onderwerpen zijn: ** Hoe het buildsysteem bijgewerkt kan worden zodat meerdere aanpaste builds tegelijkertijd kunnen lopen. ** Wat moet er aan VPS aangepast worden om Heidemann-lagen te laten werken. ** Hoe kan de apparataatstuurprogramma interface aangepast worden zodat dezelfde stuurprogramma's netjes op vele bussen en architecturen gebruikt kunnen worden. ** Hoe een netwerkstuurprogramma geschreven kan worden. link:{freebsd-bluetooth-url}[freebsd-bluetooth]:: _Bluetooth(R) in FreeBSD_ + Dit is het forum waar gebruikers van Bluetooth(R) op FreeBSD samenkomen. Gespreksstof op het gebied van ontwerp, implementatiedetails, patches, probleemrapportages, statusrapportages, verzoeken voor nieuwe mogelijkheden en al het andere dat met Bluetooth(R) te maken heeft is geschikt materiaal. link:{freebsd-bugbusters-url}[freebsd-bugbusters]:: _Coördinatie afhandeling Problem Reports_ + Het doel van deze lijst is een platform zijn voor de coördinatie en discussie voor de Bugmeister, zijn Bugbusters en anderen die interesse hebben in de PR-database. Deze lijst is niet bedoeld voor discussies over specifieke bugs, patches of PR's. link:{freebsd-bugs-url}[freebsd-bugs]:: _Bug reports_ + Dit is de mailinglijst voor het rapporteren van bugs in FreeBSD. Waar mogelijk dienen bugs ingezonden te worden via man:send-pr[1] of via de link:https://www.FreeBSD.org/send-pr.html[Webinterface] daarvan. link:{freebsd-chat-url}[freebsd-chat]:: _Niet-technische onderwerpen met betrekking tot de FreeBSD-gemeenschap_ + Deze lijst bevat alle onderwerpen waar op andere lijsten geen ruimte voor is wat betreft niet-technische en sociale informatie. Er wordt gesproken over de moord op Van Gogh, of er in onderkast of kapitalen geschreven dient te worden, wie er te veel koffie drinkt, waar het beste bier vandaan komt, enzovoort. Belangrijke gebeurtenissen (zoals feestjes, bruiloften, geboorten, nieuwe banen, enzovoort) kunnen op de technische lijsten aangekondigd worden, maar antwoorden dienen naar deze -chat lijst te gaan. link:{freebsd-chromium-url}[freebsd-chromium]:: _FreeBSD specifieke Chromium problemen_ + Dit is een lijst voor het bespreken van Chromium ondersteuning voor FreeBSD. Dit is een technische lijst om de ontwikkelingen en installatie van Chromium te bespreken. {core-name}:: _FreeBSD Kernteam_ + Dit is een interne mailinglijst die wordt gebruikt door de kernleden. Er kunnen berichten naar gestuurd worden als een belangrijke FreeBSD-gerelateerde zaak arbitrage nodig heeft of een onderzoekende blik op hoog niveau nodig is. {freebsd-current}:: _Discussie over het gebruikt van FreeBSD-CURRENT_ + Dit is de mailinglijst voor gebruikers van FreeBSD-CURRENT. Er staan waarschuwingen op over nieuwe mogelijkheden in -CURRENT die impact hebben op gebruikers en instructies over de te nemen stappen om -CURRENT te blijven. Iedereen die "CURRENT" draait, zou zich moeten abonneren. Dit is een technische mailinglijst waarop strikt technische berichten worden verwacht. link:{freebsd-cvsweb-url}[freebsd-cvsweb]:: _FreeBSD CVSweb Project_ + Technische discussie over het gebruik, de ontwikkeling en het beheer van FreeBSD-CVSweb. link:{freebsd-desktop-url}[freebsd-desktop]:: _FreeBSD gebruiken op en verbeteren voor bureaubladen_ + Dit is een forum voor het bespreken van FreeBSD op desktops. Het is vooral een plaats voor porters en gebruikers van bureaubladomgevingen om zaken te bespreken en de ondersteuning van FreeBSD op het bureaublad te verbeteren. link:{freebsd-doc-url}[freebsd-doc]:: _Documentatieproject_ + Dit is de mailinglijst voor het bespreken van onderwerpen en projecten die te maken hebben met het maken van documentatie voor FreeBSD. De leden van deze mailinglijst worden samen "The FreeBSD Documentation Project" genoemd. Het is een open lijst waarop zonder problemen een abonnement genomen kan worden en bijdragen zeer op prijs worden gesteld! link:{freebsd-drivers-url}[freebsd-drivers]:: _Apparaatstuurprogramma's schrijven voor FreeBSD_ + Dit is een forum voor technische discussie met betrekking tot apparaatstuurprogramma's op FreeBSD. Het is vooral een plaats voor schrijvers van apparaatstuurprogramma's om vragen te stellen over hoe apparaatstuurprogramma's te schrijven met de API's in de kernel van FreeBSD. link:{freebsd-dtrace-url}[freebsd-dtrace]:: _DTrace op FreeBSD gebruiken en ontwikkelen_ + DTrace is een geïntegreerd component van FreeBSD dat een raamwerk biedt om de kernel en de gebruikersprogramma's tijdens het draaien te begrijpen. De mailinglijst is een gearchiveerde discussie voor ontwikkelaars van de code en voor de gebruikers ervan. link:{freebsd-eclipse-url}[freebsd-eclipse]:: _Gebruikers van Eclipse IDE, hulpprogramma's, cliëntapplicaties en ports_ + De doelstelling van deze lijst is wederzijdse ondersteuning bieden voor alles dat te maken heeft met het kiezen, installeren, gebruiken, ontwikkelen, en onderhouden van Eclipse IDE, hulpprogramma's en cliëntapplicaties op het FreeBSD-platform en te ondersteunen bij het porten van Eclipse IDE en plugins naar de FreeBSD-omgeving. + Het is ook de bedoeling om het uitwisselen van informatie tussen de Eclipse gemeenschap en de FreeBSD-gemeenschap te bevorderen zodat beiden ervan kunnen profiteren. + Hoewel deze lijst voornamelijk is gericht op de behoeften van gebruikers van Eclipse, wordt ook een forum geboden voor hen die FreeBSD-specifieke applicaties willen ontwikkelen met het Eclipse raamwerk. link:{freebsd-eol-url}[freebsd-eol]:: _Ondersteuning van FreeBSD gerelateerde software welke niet meer ondersteund wordt door het FreeBSD-project._ + Deze lijst is voor degenen die geïnteresseerd zijn in het leveren of gebruiken van ondersteuning voor FreeBSD-gerelateerde software voor welke het FreeBSD-project geen ondersteuning meer biedt (in de vorm van beveiligingsadviezen en patches). link:{freebsd-embedded-url}[freebsd-embedded]:: _FreeBSD gebruiken in embedded applicaties_ + Deze lijst heeft tot doel om te discussieren over FreeBSD in embedded systemen. Dit is een technische mailinglijst waarbij men alleen technische inhoud verwacht. Voor het belang van deze lijst definiëren we embedded systemen als computersystemen die geen desktop-systemen zijn en meestal slechts één doel hebben ten opzichte van gewone systemen. Voorbeelden bevatten onder andere: diverse soorten telefoonsets, netwerkapparatuur zoals routers, switches en PBX'en, op afstand bestuurbare meetapparatuur, PDA's, Point of Sale systemen etc. link:{freebsd-emulation-url}[freebsd-emulation]:: _Emulatie van andere systemen zoals Linux(R), MS-DOS(R) en Windows(R)_ + Dit is een forum voor technische discussie met betrekking tot het draaien van programma's op FreeBSD die zijn geschreven voor andere besturingssystemen. link:{freebsd-firewire-url}[freebsd-firewire]:: _FireWire(R) (iLink, IEEE 1394)_ + Dit is de mailinglijst voor het bespreken van het ontwerp en de implementatie van een FireWire(R) (ook wel IEEE 1394 of iLink) subsysteem voor FreeBSD. Relevante onderwerpen omvatten de standaarden, busapparaten en hun protocollen, adapter boards/kaarten/chipssets en de architectuur en implementatie van code voor een juiste ondersteuning. link:{freebsd-fs-url}[freebsd-fs]:: _Bestandssystemen_ + Discussie over FreeBSD-bestandssystemen. Dit is een technische mailinglijst waarop slechts strikt technische bijdragen worden verwacht. link:{freebsd-gecko-url}[freebsd-gecko]:: _Gecko Rendering Engine_ + Dit is een forum over Gecko applicaties die FreeBSD gebruiken. + De discussie concentreert zich op toepassingen van Gecko Ports, hun installatie, hun ontwikkeling en hun ondersteuning binnen FreeBSD. link:{freebsd-geom-url}[freebsd-geom]:: _GEOM_ + Discussie specifiek over GEOM en gerelateerde implementaties. Dit is een technische mailinglijst waarop slechts strikt technische bijdragen worden verwacht. link:{freebsd-gnome-url}[freebsd-gnome]:: _GNOME_ + Discussie over de bureaubladomgeving GNOME voor FreeBSD. Dit is een technische mailinglijst waarop slechts strikt technische bijdragen worden verwacht. link:{freebsd-infiniband-url}[freebsd-infiniband]:: _Infiniband op FreeBSD_ + Technische mailinglijst over Infiniband, OFED en OpenSM op FreeBSD. link:{freebsd-ipfw-url}[freebsd-ipfw]:: _IP Firewall_ + Dit is het forum voor technische bespreking van het herontwerp van de IP-firewallcode in FreeBSD. Dit is een technische mailinglijst waarop slechts strikt technische bijdragen worden verwacht. link:{freebsd-ia64-url}[freebsd-ia64]:: _Porten van FreeBSD naar IA64_ + Dit is een technische mailinglijst voor individuen die actief werken aan het porten van FreeBSD naar het platform IA-64 van Intel(R), om problemen op tafel te leggen of alternatieve oplossingen te bespreken. Geïnteresseerden die alleen de technische bespreking willen volgen zijn ook welkom. link:{freebsd-isdn-url}[freebsd-isdn]:: _ISDN-communicatie_ + Dit is de mailinglijst voor discussie over de ontwikkeling van ISDN-ondersteuning voor FreeBSD. link:{freebsd-java-url}[freebsd-java]:: _Java(TM) Ontwikkeling_ + Dit is de mailinglijst voor het bespreken van de ontwikkeling van significante Java(TM) applicaties voor FreeBSD en het porten en het beheer van JDK(TM)'s. [[eresources-charters-jobs]] link:{freebsd-jobs-url}[freebsd-jobs]:: _Banen in de aanbieding en gezocht_ + Dit is een forum voor vacatures en CV's specifiek gerelateerd aan FreeBSD, bijvoorbeeld als er FreeBSD-gerelateerd werk wordt gezocht of in de aanbieding is. Dit is _geen_ mailinglijst voor algemene werkonderwerpen omdat daarvoor al elders ruimte staat. + Ook deze lijst wordt net als alle andere `FreeBSD.org` mailinglijsten wereldwijd verspreid. Daarom dient duidelijk vermeld te worden om welke locatie het gaat en onder welke voorwaarden telewerken of bijdragen in huisvesting mogelijk zijn. + Email dient alleen open formaten te bevatten. Bij voorkeur platte tekst, maar standaard Portable Document Format (PDF), HTML, en een aantal andere, zijn acceptabel voor lezers. Gesloten formaten, zoals Microsoft(R) Word ([.filename]#.doc#), worden door de mailinglijstserver geweigerd. link:{freebsd-kde-url}[freebsd-kde]:: _KDE_ + Discussie over KDE op FreeBSD-systemen. Dit is een technische mailinglijst waarop slechts strikt technische bijdragen worden verwacht. link:{freebsd-hackers-url}[freebsd-hackers]:: _Technische discussies_ + Dit is een forum voor technische discussie met betrekking tot FreeBSD. Dit is de leidende technische mailinglijst die is bestemd voor mensen die actief aan FreeBSD werken om problemen aan het voetlicht te brengen of alternatieve oplossingen te bespreken. Geïnteresseerden die alleen de technische bespreking willen volgen zijn ook welkom. Dit is een technische mailinglijst waarop slechts strikt technische bijdragen worden verwacht. link:{freebsd-hardware-url}[freebsd-hardware]:: _Algemene discussie over FreeBSD-hardware_ + Algemene discussie over de typen hardware waar FreeBSD op draait en problemen en oplossingen over wat te kopen en wat vooral niet. link:{freebsd-hubs-url}[freebsd-hubs]:: _Mirrorsites_ + Aankondigingen en discussie voor beheerders van FreeBSD-mirrorsites. link:{freebsd-isp-url}[freebsd-isp]:: _Onderwerpen voor Internet Service Providers_ + Deze mailinglijst is voor het bespreken van relevante onderwerpen voor Internet Service Providers (ISP's) die FreeBSD gebruiken. Dit is een technische mailinglijst waarop slechts strikt technische bijdragen worden verwacht. link:{freebsd-mono-url}[freebsd-mono]:: _Mono en C# applicaties op FreeBSD_ + Dit is een lijst voor discussies met betrekking tot het Mono-ontwikkelraamwerk op FreeBSD. Dit is een technische mailinglijst. Het is bedoeld voor individuen die actief werken aan het overbrengen van Mono of C# applicaties naar FreeBSD, om problemen naar voren te brengen of alternatieve oplossingen te bespreken. Individuen die geïnteresseerd zijn in het volgen van de technische discussie zijn ook welkom. link:{freebsd-office-url}[freebsd-office]:: _Kantoortoepassingen op FreeBSD_ + De discussie richt zich op kantoortoepassingen, hun installatie, hun ontwikkeling en hun ondersteuning binnen FreeBSD. link:{freebsd-ops-announce-url}[freebsd-ops-announce]:: _Aankondigingen over de projectinfrastructuur_ + Deze mailinglijst is bedoeld voor mensen die geïnteresseerd zijn in veranderingen en zaken die te maken hebben met de infrastructuur van het FreeBSD.org project. + Deze gemodereerde lijst is strict voor aankondigingen: geen antwoorden, verzoeken, discussies of meningen. link:{freebsd-performance-url}[freebsd-performance]:: _Discussie over het optimaliseren of versnellen van FreeBSD_ + Deze mailinglijst is een platform voor hackers, beheerders en/of andere belanghebbenden om FreeBSD- en prestatiegerelateerde onderwerpen te bespreken. De onderwerpen die besproken kunnen worden omvatten FreeBSD-installaties met een hoge load, systemen met prestatieproblemen of systemen die tegen de limieten van FreeBSD aan zitten. Zij die willen meewerken om de prestaties van FreeBSD te verbeteren worden sterk aangemoedigd zich op deze lijst te abonneren. Deze lijst is bijzonder technisch en bijzonder geschikt voor ervaren FreeBSD-gebruikers, hackers en beheerders die FreeBSD snel, robuust, en schaalbaar willen houden. Deze lijst is geen vraag-en-antwoord lijst die dient als vervanging voor het lezen van documentatie, maar hier worden bijdragen geleverd of vragen gesteld over nog niet eerder beschreven prestatiegerelateerde onderwerpen. link:{freebsd-pf-url}[freebsd-pf]:: _Discussie en vragen over het pakketfilter firewallsysteem_ + Discussie over het pakketfilter (pf) firewallsysteem met betrekking tot FreeBSD. Technische discussie en gebruikersvragen zijn beiden welkom. Deze lijst is ook de plaats om het raamwerk ALTQ QoS te bespreken. link:{freebsd-pkg-url}[freebsd-pkg]:: _Discussies over binair pakketbeheer en pakketgereedschappen_ + Discussies over alle aspecten over het beheren van FreeBSD-systemen door middel van het gebruik van binaire pakketten om software te installeren, inclusief de gereedschappen en formaten van binaire pakketten, hun ontwikkeling en ondersteuning binnen FreeBSD, het beheer van pakketreservoirs en pakketten van derde partijen. + Merk op dat discussies over poorten die onjuiste pakketten genereren over het algemeen als problemen met poorten moet worden gezien en dus ongeschikt zijn voor deze lijst. link:{freebsd-platforms-url}[freebsd-platforms]:: _Porten van niet-Intel(R) platforms_ + Cross-platform FreeBSD-zaken, algemene discussie en voorstellen voor niet-Intel(R) FreeBSD ports. Dit is een technische mailinglijst waarop slechts strikt technische bijdragen worden verwacht. link:{freebsd-ports-url}[freebsd-ports]:: _Discussie over "ports"_ + Discussie over de "Portscollectie" ([.filename]#/usr/ports#) van FreeBSD, de Ports infrastructuur en algemene coördinatie aangaande ports. Dit is een technische mailinglijst waarop slechts strikt technische bijdragen worden verwacht. link:{freebsd-ports-announce-url}[freebsd-ports-announce]:: _Belangrijk nieuws en belangrijke instructies over FreeBSD "Portscollectie"_ + Belangrijk nieuws voor ontwikkelaars, porters en gebruikers van de "Portscollectie" ([.filename]#/usr/ports#), waaronder veranderingen aan de architectuur/infrastructuur, nieuwe mogelijkheden, kritische opwaardeerinstructies, en uitgave-informatie. Dit is een mailinglijst met een laag volume, bedoeld voor aankondigingen. link:{freebsd-ports-bugs-url}[freebsd-ports-bugs]:: _Discussie over "ports" bugs_ + Discussie over probleemrapportages voor de FreeBSD "Portscollectie" ([.filename]#/usr/ports#), voorgestelde ports of aanpassingen aan ports. Dit is een technische mailinglijst waarop slechts strikt technische bijdragen worden verwacht. link:{freebsd-proliant-url}[freebsd-proliant]:: _Technische discussie over FreeBSD op HP Proliant serverplatforms_ + Deze mailinglijst wordt gebruikt voor technische discussie over het gebruik van FreeBSD op HP ProLiant servers, inclusief het bespreken van ProLiant-specifieke stuurprogramma's, beheersoftware, gereedschappen voor instellingen en BIOS-updates. Dit is daaarom ook de uitgesproken plaats voor het bespreken van de modules hpasmd, hpasmcli, en hpacucli. link:{freebsd-python-url}[freebsd-python]:: _Python op FreeBSD_ + Dit is een lijst voor discussie gerelateerd aan het verbeteren van ondersteuning voor Python op FreeBSD. Dit is een technische mailinglijst voor mensen die aan het porten van Python, aanverwante modules en Zope-dingen naar FreeBSD werken. link:{freebsd-questions-url}[freebsd-questions]:: _Gebruikersvragen_ + Dit is de mailinglijst voor vragen over FreeBSD. Er horen geen "how to" vragen op de technische mailinglijsten thuis, tenzij een vraag erg technisch van aard is. link:{freebsd-ruby-url}[freebsd-ruby]:: _FreeBSD-specifieke discussies over Ruby_ + Dit is een lijst voor discussies gerelateerd aan de Ruby-ondersteuning op FreeBSD. Dit is een technische mailinglijst. Het is bedoeld voor individuen die aan Ruby-ports, bibliotheken van derde partijen, en raamwerken werken. + Individuen die geïnteresseerd zijn in de technische discussie zijn ook welkom. link:{freebsd-scsi-url}[freebsd-scsi]:: _SCSI-subsysteem_ + Dit is de mailinglijst voor mensen die aan het SCSI-subsysteem voor FreeBSD werken. Dit is een technische mailinglijst waarop slechts strikt technische bijdragen worden verwacht. {freebsd-security}:: _Beveiligingsonderwerpen_ + FreeBSD-computerbeveiligingsonderwerpen (DES, Kerberos, bekende beveiligingsgaten, oplossingen, enzovoort). Dit is een technische mailinglijst waarop slechts strikt technische bijdragen worden verwacht. Dit is zeker geen vraag-en-antwoord lijst, maar bijdragen voor de FAQ (zowel _vraag_ als _antwoord_) zijn welkom. {freebsd-security-notifications}:: _Beveiligingswaarschuwingen_ + Waarschuwingen voor FreeBSD beveiligingsproblemen en oplossingen. Dit is geen discussielijst. De discussielijst is {freebsd-security}. link:{freebsd-small-url}[freebsd-small]:: _FreeBSD gebruiken in embedded toepassingen_ + Op deze lijst worden onderwerpen gerelateerd aan ongebruikelijk kleine en embedded FreeBSD-installaties besproken. Dit is een technische mailinglijst waarop slechts strikt technische bijdragen worden verwacht. + Deze lijst is vervangen door link:{freebsd-embedded-url}[freebsd-embedded] link:{freebsd-snapshots-url}[freebsd-snapshots]:: _Aankondigingen van ontwikkel-snapshots van FreeBSD_ + Deze lijst houdt u op de hoogte over de beschikbaarheid van nieuwe ontwikkel-snapshots voor de takken head/ en stable/ van FreeBSD. {freebsd-stable}:: _Discussie over het gebruik van FreeBSD-STABLE_ + Dit is de mailinglijst voor gebruikers van FreeBSD-STABLE. Er worden ook waarschuwingen op gepost over nieuwe opties in -STABLE die invloed op de systemen van gebruikers kunnen hebben en instructies over de te nemen stappen om -STABLE te blijven. Iedereen die "STABLE" draait hoort zich op deze lijst te abonneren. Dit is een technische mailinglijst waarop slechts strikt technische bijdragen worden verwacht. link:{freebsd-standards-url}[freebsd-standards]:: _Conformeren C99 & POSIX_ + Dit is een forum voor technische bespreking gerelateerd aan het conformeren van FreeBSD aan de C99- en de POSIX-standaarden. link:{freebsd-testing-url}[freebsd-testing]:: _Testen op FreeBSD_ + Technische mailinglijst voor discussies over testen op FreeBSD, inclusief ATF/Kyua, infrastructuren voor testbuilds, het testen van ports naar FreeBSD van andere besturingssystemen (NetBSD, ...), enzovoorts. link:{freebsd-tex-url}[freebsd-tex]:: _TeX en haar toepassingen op FreeBSD overzetten_ + Dit is een technische mailinglijst voor discussies over TeX en haar toepassingen op FreeBSD. Het is bedoeld voor degenen die actief werken aan het overzetten van TeX op FreeBSD, om problemen te bespreken of alternatieve oplossingen aan te dragen. Personen die geïnteresseerd zijn in het volgen van de technische discussie zijn ook welkom. link:{freebsd-toolchain-url}[freebsd-toolchain]:: _Onderhoud van de ingebouwde toolchain van FreeBSD_ + Dit is de mailinglijst bedoeld voor discussies over het onderhoud van de toolchain die met FreeBSD wordt geleverd. Dit zou de toestand van Clang en GCC kunnen omvatten, maar ook software als assemblers, linkers en debuggers. link:{freebsd-usb-url}[freebsd-usb]:: _Discussie over FreeBSD ondersteuning voor USB_ + Dit is de mailinglijst voor technische bespreking van onderwerpen gerelateerd aan FreeBSD ondersteuning voor USB. link:{freebsd-user-groups-url}[freebsd-user-groups]:: _Gebruikersgroep Coördinatie Lijst_ + Dit is de mailinglijst voor coördinatoren voor alle lokale gebruikersgroepen, zodat ze met elkaar en een lid van het Kernteam zaken kunnen bespreken. Deze lijst hoort beperkt te blijven tot een overzicht van overleggen en de coördinatie van projecten waarbij meerdere gebruikersgroepen betrokken zijn. link:{freebsd-virtualization-url}[freebsd-virtualization]:: _Discussies over verscheidene virtualisatietechnieken ondersteund door FreeBSD_ + Een lijst om de verscheidene virtualisatietechnieken die door FreeBSD worden ondersteund te bespreken. Aan de ene kant zal de nadruk liggen op de implementatie van de basale functionaliteit alsook op het toevoegen van nieuwe mogelijkheden. Aan de andere kant zullen gebruikers een forum hebben om om hulp te vragen bij problemen of om hun usecases te bespreken. link:{freebsd-wip-status-url}[freebsd-wip-status]:: _FreeBSD Werk-In-Uitvoering status_ + Deze mailinglijst kan gebruikt worden om de schepping en voortgang van uw FreeBSD-gerelateerd werk aan te kondigen. Berichten zullen gemodereerd worden. Het wordt gesuggereerd om het bericht "Aan:" een FreeBSD-mailinglijst dat het onderwerp beter dekt te sturen en deze lijst alleen te "BCC:"-en. Op deze manier kan uw werk-in-uitvoering ook op de onderwerpslijst worden bediscussieerd, aangezien discussies op deze lijst niet zijn toegestaan. + Kijk in de archieven voor voorbeelden van geschikte berichten. + Een redactioneel overzicht van de berichten aan deze lijst kan om de paar maanden naar de FreeBSD-website gezonden worden als deel van de Status Reports . Meer voorbeelden en oude rapportages zijn daar ook te vinden. link:{freebsd-wireless-url}[freebsd-wireless]:: _Discussies over de 802.11-stack, de ontwikkeling van gereedschappen voor stuurprogramma's_ + De FreeBSD-wireless lijst richt zich op de 802.11-stack (sys/net80211) en de ontwikkeling van stuurprogramma's en gereedschappen. Dit omvat bugs, nieuwe eigenschappen en onderhoud. link:{freebsd-xen-url}[freebsd-xen]:: _Discussies over het porteren van FreeBSD naar Xen(TM) - implementatie en gebruik_ + Een lijst die zich richt op de FreeBSD Xen(TM) port. De verwachte hoeveelheid verkeer is laag genoeg zodat het voor zowel technische discussies over de implementatie- en ontwerpdetails als voor zaken over administratief gebruik bedoeld is. link:{freebsd-xfce-url}[freebsd-xfce]:: _XFCE_ + Dit is een forum voor discussies gerelateerd aan de XFCE-omgeving voor FreeBSD. Dit is een technische mailinglijst. Het is bedoeld voor degenen die actief werken aan het porten van XFCE naar FreeBSD, om problemen naar voren te brengen of alternatieve oplossingen te bespreken. Personen die geïnteresseerd zijn in het volgen van de technische discussie zijn ook welkom. link:{freebsd-zope-url}[freebsd-zope]:: _Zope_ + Dit is een forum voor discussies die verwant zijn aan het brengen van de Zope-omgeving naar FreeBSD. Dit is een technische mailinglijst. Het is bedoeld voor individuen die actief werken aan het overbrengen van Zope naar FreeBSD, om problemen aan te dragen of alternatieve oplossingen te bespreken. Individuen die geïnteresseerd zijn in het volgen van de technische discussie zijn ook welkom. [[eresources-mailfiltering]] === Filters op de mailinglijsten De FreeBSD-mailinglijsten worden op verschillende manieren gefilterd om het doorsturen van spam, virussen, en andere ongewenste email te beperken. De hieronder beschreven filteracties bevatten niet alle genomen acties voor de beveiliging van de mailinglijsten. Er is een beperkt aantal typen bijlagen toegestaan op de mailinglijsten. Alle bijlagen met een MIME-inhoudtype dat niet in de onderstaande lijst staat worden verwijderd voordat de mail wordt doorgestuurd naar de mailinglijsten. * application/octet-stream * application/pdf * application/pgp-signature * application/x-pkcs7-signature * message/rfc822 * multipart/alternative * multipart/related * multipart/signed * text/html * text/plain * text/x-diff * text/x-patch [NOTE] ==== Sommige mailinglijsten staan wellicht bijlagen toe met andere MIME-inhoudtypen, maar de bovenstaande lijst zal gelden voor de meeste mailinglijsten. ==== Als een email zowel een HTML- als een platte tekstversie bevat, dan wordt de HTML-versie verwijderd. Als een mail alleen een HTML-versie bevat, dan wordt die omgezet naar platte tekst. [[eresources-news]] == Usenet-nieuwsgroepen Naast de twee specifieke FreeBSD-nieuwsgroepen zijn er nog vele andere waarin FreeBSD wordt besproken of die anderszins relevant zijn voor gebruikers van FreeBSD. === Specifieke BSD nieuwsgroepen * link:news:comp.unix.bsd.freebsd.announce[comp.unix.bsd.freebsd.announce] * link:news:comp.unix.bsd.freebsd.misc[comp.unix.bsd.freebsd.misc] * link:news:de.comp.os.unix.bsd[de.comp.os.unix.bsd] (Duits) * link:news:fr.comp.os.bsd[fr.comp.os.bsd] (Frans) * link:news:it.comp.os.freebsd[it.comp.os.freebsd] (Italiaans) === Overige interessante UNIX(R)-nieuwsgroepen * link:news:comp.unix[comp.unix] * link:news:comp.unix.questions[comp.unix.questions] * link:news:comp.unix.admin[comp.unix.admin] * link:news:comp.unix.programmer[comp.unix.programmer] * link:news:comp.unix.shell[comp.unix.shell] * link:news:comp.unix.user-friendly[comp.unix.user-friendly] * link:news:comp.security.unix[comp.security.unix] * link:news:comp.sources.unix[comp.sources.unix] * link:news:comp.unix.advocacy[comp.unix.advocacy] * link:news:comp.unix.misc[comp.unix.misc] * link:news:comp.unix.bsd[comp.unix.bsd] === X Window systeem * link:news:comp.windows.x.i386unix[comp.windows.x.i386unix] * link:news:comp.windows.x[comp.windows.x] * link:news:comp.windows.x.apps[comp.windows.x.apps] * link:news:comp.windows.x.announce[comp.windows.x.announce] * link:news:comp.windows.x.intrinsics[comp.windows.x.intrinsics] * link:news:comp.windows.x.motif[comp.windows.x.motif] * link:news:comp.windows.x.pex[comp.windows.x.pex] * link:news:comp.emulators.ms-windows.wine[comp.emulators.ms-windows.wine] [[eresources-web]] == World wide webservers [[eresources-web-social]] === Fora, blogs, en sociale netwerken * http://forums.freebsd.org/[The FreeBSD Forums] bieden een webgebaseerd discussieforum voor vragen en technische discussies over FreeBSD. * http://planet.freebsdish.org/[Planet FreeBSD] biedt een samengestelde feed van tientallen blogs geschreven door FreeBSD-ontwikkelaars. Vele ontwikkelaars gebruiken dit om korte notities te posten over waaraan ze werken, nieuwe patches, en ander werk in uitvoering. * Het http://www.youtube.com/bsdconferences[BSDConferences YouTube Channel] biedt een verzameling van video's van hoge kwaliteit van wereldwijde BSD-conferenties. Dit is een prima manier om presentaties van hoofdontwikkelaars over nieuw werk in FreeBSD te zien. [[eresources-web-mirrors]] === Officiële spiegels <>, <>, <>, <>, <>, <>, <>, <>, <>, <>, <>, <>, <>, <>, <>, <>, <>, <>, <>, <>, <>, <>, <>, <>, <>. (as of UTC) [[central-mirrors]] *{central}* * {central-www} [[armenia-mirrors]] *{mirrors-armenia}* * {mirrors-armenia-www-httpv6} (IPv6) [[australia-mirrors]] *{mirrors-australia}* * {mirrors-australia-www-http} * {mirrors-australia-www2-http} [[austria-mirrors]] *{mirrors-austria}* * {mirrors-armenia-www-httpv6} (IPv6) [[czech-republic-mirrors]] *{mirrors-czech}* * {mirrors-czech-www-httpv6} (IPv6) [[denmark-mirrors]] *{mirrors-denmark}* * {mirrors-denmark-www-httpv6} (IPv6) [[finland-mirrors]] *{mirrors-finland}* * {mirrors-finland-www-http} [[france-mirrors]] *{mirrors-france}* * {mirrors-france-www-http} [[germany-mirrors]] *{mirrors-germany}* * {mirrors-germany-www-http} [[hong-kong-mirrors]] *{mirrors-hongkong}* * {mirrors-hongkong-www} [[ireland-mirrors]] *{mirrors-ireland}* * {mirrors-ireland-www} [[japan-mirrors]] *{mirrors-japan}* * {mirrors-japan-www-httpv6} (IPv6) [[latvia-mirrors]] *{mirrors-latvia}* * {mirrors-latvia-www} [[lithuania-mirrors]] *{mirrors-lithuania}* * {mirrors-lithuania-www} [[netherlands-mirrors]] *{mirrors-netherlands}* * {mirrors-netherlands-www} [[norway-mirrors]] *{mirrors-norway}* * {mirrors-norway-www} [[russia-mirrors]] *{mirrors-russia}* * {mirrors-russia-www-httpv6} (IPv6) [[slovenia-mirrors]] *{mirrors-slovenia}* * {mirrors-slovenia-www} [[south-africa-mirrors]] *{mirrors-south-africa}* * {mirrors-south-africa-www} [[spain-mirrors]] *{mirrors-spain}* * {mirrors-spain-www} * {mirrors-spain-www2} [[sweden-mirrors]] *{mirrors-sweden}* * {mirrors-sweden-www} [[switzerland-mirrors]] *{mirrors-switzerland}* * {mirrors-switzerland-www-httpv6} (IPv6) * {mirrors-switzerland-www2-httpv6} (IPv6) [[taiwan-mirrors]] *{mirrors-taiwan}* * {mirrors-taiwan-www} * {mirrors-taiwan-www2} * {mirrors-taiwan-www4} * {mirrors-taiwan-www5-httpv6} (IPv6) [[uk-mirrors]] *{mirrors-uk}* * {mirrors-uk-www} * {mirrors-uk-www3} [[usa-mirrors]] *{mirrors-us}* * {mirrors-us-www5-httpv6} (IPv6) [[eresources-email]] == Email-adressen De onderstaande gebruikersgroepen bieden FreeBSD-gerelateerde email-adressen aan voor hun leden. De aangegeven beheerders behouden zich het recht voor om een account te verwijderen als die op enigerlei wijze wordt misbruikt. [.informaltable] [cols="1,1,1,1", frame="none", options="header"] |=== | Domein | Faciliteiten | Gebruikersgroep | Beheerder |ukug.uk.FreeBSD.org |Alleen forwarden |mailto:ukfreebsd@uk.FreeBSD.org[ukfreebsd@uk.FreeBSD.org] |Lee Johnston mailto:lee@uk.FreeBSD.org[lee@uk.FreeBSD.org] |=== diff --git a/documentation/content/nl/books/handbook/jails/_index.adoc b/documentation/content/nl/books/handbook/jails/_index.adoc index 0ce5e0e0db..9296e90a12 100644 --- a/documentation/content/nl/books/handbook/jails/_index.adoc +++ b/documentation/content/nl/books/handbook/jails/_index.adoc @@ -1,543 +1,543 @@ --- title: Hoofdstuk 16. Jails part: Deel III. Systeembeheer prev: books/handbook/security next: books/handbook/mac --- [[jails]] = Jails :doctype: book :toc: macro :toclevels: 1 :icons: font :sectnums: :sectnumlevels: 6 :source-highlighter: rouge :experimental: :skip-front-matter: :toc-title: Inhoudsopgave :table-caption: Tabel :figure-caption: Afbeelding :example-caption: Voorbeeld :xrefstyle: basic :relfileprefix: ../ :outfilesuffix: :sectnumoffset: 16 ifeval::["{backend}" == "html5"] :imagesdir: ../../../images/books/handbook/jails/ endif::[] ifeval::["{backend}" == "pdf"] :imagesdir: ../../../../static/images/books/handbook/jails/ endif::[] ifeval::["{backend}" == "epub3"] :imagesdir: ../../../../static/images/books/handbook/jails/ endif::[] include::shared/authors.adoc[] include::shared/releases.adoc[] include::shared/nl/mailing-lists.adoc[] include::shared/nl/teams.adoc[] include::shared/nl/urls.adoc[] toc::[] [[jails-synopsis]] == Overzicht Dit hoofdstuk levert een uitleg van wat FreeBSD jails zijn en hoe ze gebruikt kunnen worden. Jails, soms ook wel bekend als een verbeterde vervanging van _chroot omgevingen_, zijn een erg krachtige tool voor systeem beheerders, maar het standaard gedrag kan ook interessant zijn voor gevorderde gebruikers. [IMPORTANT] ==== Jails zijn een krachtig gereedschap, maar zijn geen zilveren kogel qua beveiliging. Hoewel het belangrijk is om op te merken dat het onmogelijk is voor een gevangen proces om zelf te ontsnappen, zijn er verschillende manieren waarop een ongeprivilegieerde gebruiker buiten een jail kan samenwerken met een geprivilegieerde gebruiker binnen de jail en daarmee verhoogde privileges kan krijgen in de gastheeromgeving. De meeste van deze aanvallen kunnen worden voorkomen door ervoor te zorgen dat de jail-root niet beschikbaar is voor ongeprivilegieerde gebruikers binnen de gastheeromgeving. Buiten dat geldt als algemene regel dat onvertrouwde gebruikers met geprivilegieerde toegang tot een jail geen toegang tot de gastheeromgeving moet worden gegeven. ==== Na het lezen van dit hoofdstuk weet de lezer: * Wat een jail is, en welk doel het kan dienen in een FreeBSD installatie. * Hoe men een jail opbouwt, start en stopt. * De basis over jail beheer, zowel van binnen in de jail, als van buitenaf. Andere bronnen met nuttige informatie over jails zijn: * De man:jail[8] handleiding. Hier kan de volledige referentie gevonden worden van het `jail` commando - de administratieve tool die in FreeBSD gebruikt kan worden om FreeBSD jails mee te beheren, te starten en te stoppen. -* De mailinglijsten en de archieven hiervan. De archieven van de {freebsd-questions} en andere mailing lijsten die gehost worden door de {mailman-lists} bevatten reeds een rijke bron van informatie over jails. Het zou altijd aantrekkelijk moeten zijn om informatie in de archieven te zoeken, of een nieuwe vraag stellen aan de link:{freebsd-questions-url}[freebsd-questions] mailinglijst. +* De mailinglijsten en de archieven hiervan. De archieven van de {freebsd-questions} en andere mailing lijsten die gehost worden door de {mailing-lists} bevatten reeds een rijke bron van informatie over jails. Het zou altijd aantrekkelijk moeten zijn om informatie in de archieven te zoeken, of een nieuwe vraag stellen aan de link:{freebsd-questions-url}[freebsd-questions] mailinglijst. [[jails-terms]] == Termen en begrippen van jails Om een beter begrip te geven over de onderdelen van FreeBSD die gerelateerd zijn aan jails, de werking ervan, en hoe ze omgaan met de rest van FreeBSD worden de volgende termen gebruikt in het hoofdstuk: man:chroot[8] (commando):: Hulpmiddel dat de systeemaanroep man:chroot[2] van FreeBSD gebruikt om de rootmap van een proces en alle afstammelingen te veranderen. man:chroot[2] (omgeving):: Een omgeving van processen die draaien in een "chroot". Dit is inclusief bronnen die gebruikt worden, zoals bijvoorbeeld het gedeelte van het bestandssysteem dat zichtbaar is, de gebruiker en groep ID's welke beschikbaar zijn, netwerkkaarten en andere IPC-mechanismes, etcetera. man:jail[8] (commando):: De systeem utility die het mogelijk maakt om processen binnenin een jail te starten. host (systeem, processen, gebruiker, etc.):: Het controlerende systeem van een jail omgeving. Het host systeem heeft toegang tot alle beschikbare hardware bronnen en kan processen controleren zowel buiten als binnenin een jail. Één van de belangrijkste verschillen van het host systeem met een jail zijn de limitaties die van toepassing zijn op super-gebruiker processen binnenin een jail, niet geforceerd worden voor processen in het host systeem. hosted (systeem, processen, gebruiker, etc.):: Een proces, gebruiker, of andere entiteit wiens toegang tot bronnen is gelimiteerd door een FreeBSD jail. [[jails-intro]] == Introductie Omdat systeem beheer een complexe en enorme taak is, zijn er vele sterke tools ontwikkeld om het leven van een systeem beheerder makkelijker te maken. Deze tools leveren meestal verbeteringen op de manier waarop systemen worden geïnstalleerd, geconfigureerd en onderhouden. Een deel van de taken waarvan verwacht wordt dat die uitgevoerd wordt door de systeem beheerder is het goed configureren van de beveiliging van een systeem, zodat het kan blijven doorgaan met het serveren van de taak, zonder dat er beveiligingsproblemen optreden. Één van de tools welke gebruikt kan worden om de beveiliging van een FreeBSD systeem te verbeteren zijn _jails_. Jails zijn geïntroduceerd in FreeBSD 4.X door {phk}, maar zijn grotendeels verbeterd in FreeBSD 5.X om ze nog sterker en krachtiger te maken. De ontwikkeling gaat nog steeds door met verbeteringen voor het gebruik, performance, betrouwbaarheid en beveiliging. [[jails-what]] === Wat is een jail BSD achtige systemen hebben sinds 4.2-BSD ondersteuning voor man:chroot[2]. De man:chroot[8] utility kan gebruikt worden om de root directory van een set processen te wijzigen waardoor een veilige omgeving wordt gecreeërd voor de rest van het systeem. Processen die gemaakt worden in een chroot omgeving kunnen bestanden en bronnen daarbuiten niet benaderen. Daardoor zou een compromitering van een dienst die in een chroot omgeving draait niet direct betekenen dat het hele systeem gecompromiteerd is. De man:chroot[8] utility is goed genoeg voor simpele taken, waarbij flexibiliteit en geavanceerde en complexe opties niet nodig zijn. Sinds het uitvinden van het chroot concept, zijn er vele mogelijkheden gevonden om hieruit te kunnen komen en alhoewel ze verbeterd zijn in moderne versies van FreeBSD, werd het duidelijk dat man:chroot[2] niet de meest ideale oplossing was voor het beveiligen van diensten. Er moest een nieuw subsysteem ontwikkeld worden. Dit is één van de redenen waarom jails zijn ontwikkeld. Jails zijn een verbeterd concept van de man:chroot[2] omgeving, in verschillende opzichten. In een traditionele man:chroot[2] omgeving worden processen alleen gelimiteerd in het deel van het bestandssysteem die ze kunnen benaderen. De rest van de systeem bronnen (zoals de set van systeem gebruikers, de draaiende processen of het netwerk subsysteem) worden gedeeld door het chrooted proces en de processen op het host systeem. Jails breiden dit model uit door het niet alleen virtualizeren van de toegang tot het bestandssysteem maar ook tot de set van gebruikers, het netwerk subsysteem van de FreeBSD kernel en een aantal andere delen. Een meer complete set van gespecificeerde controle mogelijkheden die beschikbaar zijn voor het personaliseren van de toegang tot een jail omgeving wordt beschreven in <>. Een jail heeft vier kenmerken: * Een eigen directory structuur - het startpunt van waaruit een jail benaderd wordt. Zodra men in de jail zit, mogen processen niet buiten deze directory structuur komen. Traditionele problemen die man:chroot[2]'s ontwerp getart hebben, hebben geen invloed op FreeBSD jails. * Een hostname - de hostnaam die gebruikt wordt in de jail. Jails worden met name gebruikt voor het hosten van netwerk diensten, daardoor kan het de systeembeheerder heel erg helpen als er beschrijvende hostnames worden gekozen. * Een IP adres - deze wordt gekoppeld aan de jail en kan op geen enkele manier worden gewijzigd tijdens het leven van de jail. Het IP adres van een jail is meestal een alias op een reeds bestaande netwerk interface, maar dit is niet noodzakelijk. * Een commando - het padnaam van een uitvoerbaar bestand in de jail. Deze is relatief aan de rootdirectory van de jail omgeving en verschilt per situatie, afhankelijk van het type van de specifieke jail omgeving. Buiten deze kenmerken, kunnen jails hun eigen set aan gebruikers en `root` gebruiker hebben. Uiteraard zijn de mogelijkheden van de `root` gebruiker beperkt tot de jail omgeving en, vanuit het host systeem gezien, is de `root` gebruiker geen super-gebruiker. Daarnaast is het de `root` gebruiker in een jail omgeving niet toegestaan om kritieke operaties uit te voeren op het systeem buiten de gedefinieerde jail omgeving. Meer informatie over de mogelijkheden en beperkingen van de `root` gebruiker kan gevonden worden in <>hieronder. [[jails-build]] == Creeëren en controleren van jails Sommige beheerders kiezen ervoor om jails op te delen in de volgende twee types: "complete" jails, welke een volledig FreeBSD systeem emuleert en "service" jails, gericht op één applicatie of dienst, mogelijkerwijs draaiende met privileges. Dit is alleen een conceptuele splitsing, de manier van het opbouwen van een jail wordt hierdoor niet veranderd. De man:jail[8] handleiding is heel duidelijk over de procedure voor het maken van een jail: [source,shell] .... # setenv D /here/is/the/jail # mkdir -p $D <.> # cd /usr/src # make buildworld <.> # make installworld DESTDIR=$D <.> # make distribution DESTDIR=$D <.> # mount -t devfs devfs $D/dev <.> .... <.> Het selecteren van een locatie voor een jail is het beste beginpunt. Hier zal de jail fysiek te vinden zijn binnen het bestandssysteem van het host systeem. Een goede keuze kan [.filename]#/usr/jailjailnaam# zijn, waar _jailnaam_ de naam is van de jail. Het [.filename]#/usr# bestandssysteem heeft meestal genoeg ruimte voor het jail bestandssysteem, wat voor een "complete" jail betekend dat het eigenlijk een replica is van elk bestand dat standaard aanwezig is binnen het FreeBSD basissysteem. <.> Als u uw userland al heeft herbouwd met `make world` of `make buildworld`, dan kunt u deze stap overslaan en uw bestaande userland in de nieuwe jail installeren. <.> Dit commando zal de gekozen fysieke directory vullen met de benodigde binaire bestanden, bibliotheken, handleidingen, etc. <.> Het `distribution` doel voor make installeert elk benodigd configuratie bestand. In simpelere termen, het installeert alle installeerbare bestanden in [.filename]#/usr/src/etc# naar de [.filename]#/etc# directory van de jail omgeving: [.filename]#$D/etc#. <.> Het koppelen van het man:devfs[8] bestandssysteem is niet vereist in een jail. Aan de andere kant, vrijwel elke applicatie heeft toegang nodig tot minstens één apparaat, afhankelijk van het doel van het programma. Het is erg belangrijk om toegang tot apparaten te controleren binnenin een jail, omdat incorrecte instellingen een aanvaller de mogelijkheid kunnen geven om vervelende dingen in de jail te doen. De controle over man:devfs[8] wordt gedaan door middel van rulesets, welke beschreven worden in de man:devfs[8] en man:devfs.conf[5] handleidingen. Zodra een jail is geïnstalleerd, kan het opgestart worden door de man:jail[8] applicatie. De man:jail[8] applicatie heeft vier benodigde argumenten welke beschreven worden in <>. Er kunnen ook andere argumenten gebruikt worden, om bijvoorbeeld de jail te starten met de instellingen van een specifieke gebruiker. Het `_commando_` argument hangt af van het type jail, voor een _virtueel systeem_ is [.filename]#/etc/rc# een goede keuze, omdat het de reguliere opstart procedure nabootst van een FreeBSD systeem. Voor een _dienst_ jail is het geheel afhankelijk van de dienst of applicatie die in de jail gaat draaien. Jails worden over het algemeen gestart tegelijkertijd met de rest van het systeem. Het FreeBSD [.filename]#rc# mechanisme levert een makkelijke manier om dat te doen: [.procedure] ==== . Een lijst van jails die opgestart moeten worden tijdens het opstarten van het systeem, moeten worden toegevoegd aan het man:rc.conf[5] bestand: + [.programlisting] .... jail_enable="YES" # Stel dit in op NO om te voorkomen dat er jails gestart worden jail_list="www" # Door spaties gescheiden lijst van jails .... + [NOTE] ====== De jail namen in `jail_list` mogen alleen alfanumerieke karakters bevatten. ====== + . Voor elke jail die gespecificeerd is in `jail_list` moet een groep van man:rc.conf[5] instellingen worden toegevoegd: + [.programlisting] .... jail_www_rootdir="/usr/jail/www" # de hoofd directory van de jail jail_www_hostname="www.example.org" # de hostnaam van de jail jail_www_ip="192.168.0.10" # het IP adres van de jail jail_www_devfs_enable="YES" # moet devfs wel of niet gekoppeld worden in de jail jail_www_devfs_ruleset="www_ruleset" # welke devfs ruleset gebruikt moet worden voor de jail .... + De standaard opstart variabelen in man:rc.conf[5] gebruiken het [.filename]#/etc/rc# bestand om de jail op te starten, wat er vanuit gaat dat de jail een compleet virtueel systeem is. Voor service jails moet het standaard opstart commando worden gewijzigd door het aanpassen van de `jail__jailname__exec_start` optie. + [NOTE] ====== Voor een complete lijst van beschikbare opties, zie de man:rc.conf[5] handleiding. ====== ==== man:service[8] kan worden gebruikt om jails handmatig te starten en te stoppen, mits er een overeenkomstige verzameling regels bestaat in [.filename]#/etc/rc.conf#. [source,shell] .... # service jail start www # service jail stop www .... Er is op dit moment geen nette methode om een jail te stoppen. Dit komt omdat de benodigde applicaties die een nette afsluiting verzorgen, niet beschikbaar zijn in een jail. De beste manier om een jail af te sluiten is door het volgende commando van binnenin de jail uit te voeren of door middel van het man:jexec[8] commando: [source,shell] .... # sh /etc/rc.shutdown .... Meer informatie hierover kan gevonden worden in de man:jail[8] handleiding. [[jails-tuning]] == Optimaliseren en administratie Er zijn meerdere opties beschikbaar die ingesteld kunnen worden voor elke jail, en er zijn meerdere mogelijkheden om een FreeBSD host systeem te combineren met jails om een betere scheiding tussen systeem en applicaties te verkrijgen. Deze sectie leert: * Een aantal opties zijn beschikbaar voor het optimaliseren van het gedrag en beveiligings beperkingen die geïmplementeerd worden in een jail. * Een aantal "high-level" applicaties die gebruikt worden voor het beheren van jails, welke beschikbaar zijn via de FreeBSD Ports Collectie en kunnen gebruikt worden om een complete jail-gebaseerde oplossing te creeëren. [[jails-tuning-utilities]] === Systeem applicaties voor het optimaliseren van jails onder FreeBSD Het goed kunnen optimaliseren van een jail configuratie wordt veelal gedaan door het instellen van man:sysctl[8] variabelen. Er bestaat een speciale subtak van sysctl voor het organiseren van alle relevante opties: de `security.jail.*` hierarchie binnen de FreeBSD kernel. Hieronder staat een lijst van de belangrijkste jail-gerelateerde sysctl variabelen, met informatie over de standaard waarden. De benaming zou zelf beschrijvend moeten zijn, maar voor meer informatie kunnen de man:jail[8] en man:sysctl[8] handleidingen geraadpleegd worden. * `security.jail.set_hostname_allowed: 1` * `security.jail.socket_unixiproute_only: 1` * `security.jail.sysvipc_allowed: 1` * `security.jail.enforce_statfs: 2` * `security.jail.allow_raw_sockets: 0` * `security.jail.chflags_allowed: 0` * `security.jail.jailed: 0` Deze variabelen kunnen door de systeem beheerder gebruikt worden op het _host systeem_ om limitaties toe te voegen of te verwijderen, welke standaard opgedwongen worden aan de `root` gebruiker. Let op, een aantal beperkingen kan niet worden aangepast. De `root` gebruiker mag geen bestandssystemen koppelen of ontkoppelen binnenin een man:jail[8]. De `root` gebruiker mag ook geen man:devfs[8] rulesets laden of ontladen, firewall rules plaatsen of andere taken uitvoeren die vereisen dat de in-kernel data wordt aangepast, zoals het aanpassen van de `securelevel` variabele in de kernel. Het basis systeem van FreeBSD bevat een basis set van applicaties voor het inzien van de actieve jails, en voor het uitvoeren van administratieve commando's in een jail. De man:jls[8] en man:jexec[8] commando's zijn onderdeel van het basis systeem en kunnen gebruikt worden voor het uitvoeren van de volgende simpele taken: * Het printen van een lijst van actieve jails met het corresponderende jail ID (JID), IP adres, de hostnaam en het pad. * Het koppelen met een actieve jail vanuit het host systeem, en voor het uitvoeren van administratieve taken in de jail zelf. Dit is bijzonder handig wanneer de `root` gebruiker een jail netjes wilt afsluiten. Het man:jexec[8] commando kan ook gebruikt worden om een shell te starten in een jail om daarmee administratieve taken uit te voeren; bijvoorbeeld met: + [source,shell] .... # jexec 1 tcsh .... [[jails-tuning-admintools]] === Administratieve applicaties op hoog niveau in de FreeBSD Ports Collection. Tussen de vele software van derde partijen voor jail beheer, is één van de meest complete en bruikbare paketten: package:sysutils/jailutils[]. Dit is een set van kleine applicaties, die bijdragen aan man:jail[8] beheer. Kijk op de web pagina voor meer informatie. [[jails-application]] == Toepassing van jails [[jails-service-jails]] === Dienst jails Deze sectie is gebaseerd op een idee van {simon} op http://simon.nitro.dk/service-jails.html[http://simon.nitro.dk/service-jails.html], en een geupdate artikel door Ken Tom mailto:locals@gmail.com[locals@gmail.com]. Deze sectie illusteert hoe een FreeBSD systeem opgezet kan worden met een extra laag beveiliging door gebruik te maken van man:jail[8]. Er wordt vanuit gegaan dat het betrokken systeem minstens RELENG_6_0 draait en dat de informatie eerder in dit hoofdstuk goed begrepen is. [[jails-service-jails-design]] ==== Ontwerp Één van de grootste problemen met jails is het beheer van het upgrade proces. Dit is meestal een probleem omdat elke jail vanaf het begin af aan moet worden opgebouwd wanneer er geupdate wordt. Meestal is dit voor een enkele jail geen probleem, omdat het update proces redelijk simpel is, maar het kan een vervelende tijdrovende klus zijn als er meerdere jails zijn. [WARNING] ==== Deze opstelling vereist uitgebreide kennis en ervaring van FreeBSD en zijn mogelijkheden. Als onderstaande stappen te lastig lijken te zijn, wordt aangeraden om een simpeler systeem te bekijken zoals package:sysutils/ezjail[], welke een simpele manier geeft voor het beheren van FreeBSD jails en niet zo complex is als deze opstelling. ==== Het idee werd geopperd om zulke problemen zoveel als mogelijk te voorkomen door zoveel als mogelijk te delen tussen de verschillende jails op een zo veilig mogelijke manier - door gebruik te maken van alleen-lezen man:mount_nullfs[8] koppelingen, zodat het upgraden simpeler wordt en het inzetten van jails voor enkele diensten interessanter wordt. Daarnaast geeft het een simpele manier om nieuwe jails toe te voegen of te verwijderen en om deze te upgraden. [NOTE] ==== Voorbeelden binnen deze context zijn: een HTTP server, een DNS server, een SMTP server enzovoorts. ==== De doelen van de opstelling zoals beschreven in dit hoofdstuk zijn: * Het creeëren van een simpele en makkelijk te begrijpen jail structuur. Dit impliceert dat er _niet_ elke keer een volledige installworld gedraaid hoeft te worden voor elke jail. * Het makkelijk maken van het aanmaken en verwijderen van jails. * Het makkelijk maken van het updaten en upgraden van bestaande jails. * Het mogelijk maken van het draaien van een eigen gemaakte FreeBSD tak. * Paranoia zijn over beveiliging, zoveel mogelijk beperken, om de kans op inbraak zo klein mogelijk te maken. * Het zoveel mogelijk besparen van ruimte en inodes. Zoals reeds besproken is dit ontwerp sterk afhankelijk van het hebben van een "master-template", welke alleen-lezen (beter bekend als nullfs) gekoppeld is binnen elke jail, en een beschrijfbaar apparaat per jail. Een apparaat kan hierin zijn een aparte fysieke schijf, een partitie, of een door vnodes ondersteunde man:md[4] apparaat. In dit voorbeeld wordt gebruik gemaakt van lezen-schrijven nullfs koppelpunten. Het gebruikte bestandssysteem wordt beschreven door de volgende lijst: * Elke jail zal gekopeld worden onder de [.filename]#/home/j# directory. * [.filename]#/home/j/mroot# is de template voor elke jail en tevens de alleen-lezen partitie voor elke jail. * Voor elke jail zal een lege directory structuur gemaakt worden, welke valt onder de [.filename]#/home/j# directory. * Elke jail heeft een [.filename]#/s# directory, welke gekoppeld zal worden aan het beschrijfbare gedeelte van het systeem. * Elke jail zal zijn eigen beschrijfbaar systeem hebben welke gebaseerd is op [.filename]#/home/j/skel#. * Elke jail ruimte (het beschrijfbare gedeelte van de jail), wordt gecreeërd in de [.filename]#/home/js# directory. [NOTE] ==== De voorbeelden gaan er vanuit dat de jails geplaatst worden in [.filename]#/home# partitie. Dit kan uiteraard aangepast worden, maar dan moeten de voorbeelden hieronder ook worden aangepast naar de plek die gebruikt zal worden. ==== [[jails-service-jails-template]] ==== De template creeëren Deze sectie leert welke stappen er genomen moeten worden om de master-template te maken. Deze zal het alleen-lezen gedeelte vormen van de jails. Het is altijd een goed idee om ervoor te zorgen dat het FreeBSD systeem de laatst beschikbare -RELEASE versie draait. Zie het corresponderende hoofdstuk in het crossref:cutting-edge[makeworld,Handboek] om te lezen hoe dit gedaan wordt. In het geval dat het de moeite niet is om te updaten, zal een buildworld nodig zijn voordat er verder gegaan kan worden. Daarnaast is het package:sysutils/cpdup[] pakket benodigd. Er wordt gebruik gemaakt van deman:portsnap[8] applicatie om de FreeBSD Ports Collectie te downloaden. Het handbook met het crossref:portsnap[portsnap,hoofdstuk] over Portsnap, is een aanrader voor nieuwe gebruikers. [.procedure] ==== . Als eerste moet er een directory structuur gecreeërd worden voor het alleen-lezen bestandssysteem, welke de FreeBSD binaries zal bevatten voor de jails. Daarna wordt het alleen-lezen bestandssysteem geïnstalleerd vanuit de FreeBSD broncode directory in de jail template: + [source,shell] .... # mkdir /home/j /home/j/mroot # cd /usr/src # make installworld DESTDIR=/home/j/mroot .... + . Hierna moet de FreeBSD Ports Collectie worden voorbereid, evenals de FreeBSD broncode directory, wat voor mergemaster vereist is: + [source,shell] .... # cd /home/j/mroot # mkdir usr/ports # portsnap -p /home/j/mroot/usr/ports fetch extract # cpdup /usr/src /home/j/mroot/usr/src .... + . Nu moet er een "skelet" gecreeërd worden voor het bechrijfbare gedeelte van het systeem: + [source,shell] .... # mkdir /home/j/skel /home/j/skel/home /home/j/skel/usr-X11R6 /home/j/skel/distfiles # mv etc /home/j/skel # mv usr/local /home/j/skel/usr-local # mv tmp /home/j/skel # mv var /home/j/skel # mv root /home/j/skel .... + . De mergemaster applictie moet gebruikt worden om de ontbrekende configuratie bestanden te installeren. Erna moeten alle overtollige directories die gecreeërd zijn door mergemaster verwijderd worden: + [source,shell] .... # mergemaster -t /home/j/skel/var/tmp/temproot -D /home/j/skel -i # cd /home/j/skel # rm -R bin boot lib libexec mnt proc rescue sbin sys usr dev .... + . Nu moet er een symbolische link gemaakt worden tussen het beschrijfbare bestandssysteem en het alleen-lezen bestandssysteem, zorg ervoor dat de links gemaakt worden in de juiste [.filename]#/s# directory. Als hier echte directories worden gemaakt of de directories worden op de verkeerde plak aangemaakt zal dit resulteren in een mislukte installatie: + [source,shell] .... # cd /home/j/mroot # mkdir s # ln -s s/etc etc # ln -s s/home home # ln -s s/root root # ln -s ../s/usr-local usr/local # ln -s ../s/usr-X11R6 usr/X11R6 # ln -s ../../s/distfiles usr/ports/distfiles # ln -s s/tmp tmp # ln -s s/var var .... + . Als laatste stap moet er een generieke [.filename]#/home/j/skel/etc/make.conf# gemaakt worden met de volgende inhoud: + [.programlisting] .... WRKDIRPREFIX?= /s/portbuild .... + Door het gebruik van `WRKDIRPREFIX` op deze manier, is het mogelijk om per jail FreeBSD ports te compileren. Onthoud dat de ports directory onderdeel is van het alleen-lezen bestandssysteem. Het eigen pad voor `WRKDIRPREFIX` maakt het mogelijk dat port builds gedaan worden op het beschrijfbare gedeelte van elke jail. ==== [[jails-service-jails-creating]] ==== Jails creeëren Nu we een complete FreeBSD template hebben, kunnen we de jails opzetten en configureren in [.filename]#/etc/rc.conf#. Dit voorbeeld demonstreert het creeëren van drie jails: "NS", "MAIL" en "WWW". [.procedure] ==== . Zet het volgende in [.filename]#/etc/fstab# zodat de alleen-lezen template voor de jails en de beschrijfbare partititie beschikbaar zijn in de respectievelijke jails: + [.programlisting] .... /home/j/mroot /home/j/ns nullfs ro 0 0 /home/j/mroot /home/j/mail nullfs ro 0 0 /home/j/mroot /home/j/www nullfs ro 0 0 /home/js/ns /home/j/ns/s nullfs rw 0 0 /home/js/mail /home/j/mail/s nullfs rw 0 0 /home/js/www /home/j/www/s nullfs rw 0 0 .... + [NOTE] ====== Partities die gemarkeerd zijn met een 0 als "passnummer" worden niet gecontroleerd door man:fsck[8] tijdens het opstarten, en partities met een "dumpnummer" van 0 worden niet geback-upped door man:dump[8]. Het is niet gewenst dat fsck de nullfs koppelingen controleert of dat dump een back-up maakt van de alleen-lezen nullfs koppelingen van de jails. Daarom worden ze gemarkeerd met "0 0" in de laatste twee kolommen van elke [.filename]#fstab# regel hierboven. ====== + . Configureer de jails in [.filename]#/etc/rc.conf#: + [.programlisting] .... jail_enable="YES" jail_set_hostname_allow="NO" jail_list="ns mail www" jail_ns_hostname="ns.example.org" jail_ns_ip="192.168.3.17" jail_ns_rootdir="/usr/home/j/ns" jail_ns_devfs_enable="YES" jail_mail_hostname="mail.example.org" jail_mail_ip="192.168.3.18" jail_mail_rootdir="/usr/home/j/mail" jail_mail_devfs_enable="YES" jail_www_hostname="www.example.org" jail_www_ip="62.123.43.14" jail_www_rootdir="/usr/home/j/www" jail_www_devfs_enable="YES" .... + [WARNING] ====== De reden dat de `jail__name__rootdir` variabele verwijst naar de [.filename]#/usr/home# directory in plaats van naar [.filename]#/home# komt doordat het fysieke pad van de [.filename]#/home# directory op een standaard FreeBSD installatie verwijst naar [.filename]#/usr/home#. De `jail__name__rootdir` variabele mag _niet_ ingesteld worden op een symbolische link, omdat dan de jail weigert te starten. Gebruik het man:realpath[1] programma om te zien welke waarde ingesteld moet worden voor deze variabele. Zie de FreeBSD-SA-07:11.jail waarschuwing voor meer informatie. ====== + . Creeër de benodigde koppelpunten voor het alleen-lezen bestandssysteem van elke jail: + [source,shell] .... # mkdir /home/j/ns /home/j/mail /home/j/www .... + . Installeer de beschrijfbare template in elke jail. Let op het gebruik van package:sysutils/cpdup[], wat helpt om een goede kopie te maken in elke directory: + [source,shell] .... # mkdir /home/js # cpdup /home/j/skel /home/js/ns # cpdup /home/j/skel /home/js/mail # cpdup /home/j/skel /home/js/www .... + . In deze fase zijn de jails gebouwd en voorbereid om op te starten. Koppel eerst de benodigde bestandssystemen voor elke jail, en start ze vervolgens door gebruik te maken van het rc-bestand voor de jail: + [source,shell] .... # mount -a # service jail start .... ==== De jails zouden nu gestart moeten zijn. Om te zien of ze correct gestart zijn, wordt het man:jls[8] programma gebruikt. Het resultaat hiervan ziet er ongeveer als volgend uit: [source,shell] .... # jls JID IP Address Hostname Path 3 192.168.3.17 ns.example.org /home/j/ns 2 192.168.3.18 mail.example.org /home/j/mail 1 62.123.43.14 www.example.org /home/j/www .... Op dit moment, zou het mogelijk moeten zijn om op elke jail aan te loggen, nieuwe gebruikers toe te voegen en het configureren van daemons. De `JID` kolom geeft het identificatie nummer voor elke gestarte jail. Gebruik het volgende commando om administratieve commando's uit te voeren in de jail met het `JID` 3: [source,shell] .... # jexec 3 tcsh .... [[jails-service-jails-upgrading]] ==== Upgraden Naarmate de tijd verstrijkt komt de noodzaak om het systeem te updaten naar een nieuwere versie van FreeBSD, danwel vanwege een veiligheids waarschuwing danwel vanwege nieuwe mogelijkheden die geïmplementeerd zijn en nuttig zijn voor de jails. Het ontwerp van deze opzet levert een makkelijke manier voor het upgraden van jails. Daarnaast minimaliseert het de "down-time", omdat de jails alleen in de allerlaatste minuut uitgeschakeld worden. Het geeft ook de mogelijkheid om terug te keren naar een oudere versie, voor het geval er problemen ontstaan. [.procedure] ==== . De eerste stap is het upgraden van het host systeem zelf, waarna een nieuwe alleen-lezen template gemaakt wordt in [.filename]#/home/j/mroot2#. + [source,shell] .... # mkdir /home/j/mroot2 # cd /usr/src # make installworld DESTDIR=/home/j/mroot2 # cd /home/j/mroot2 # cpdup /usr/src usr/src # mkdir s .... + Het `installworld` doel creeërt een aantal onnodige directories, welke verwijderd moeten worden: + [source,shell] .... # chflags -R 0 var # rm -R etc var root usr/local tmp .... + . Maak opnieuw de beschrijfbare symbolische linken voor het hoofd bestandssysteem: + [source,shell] .... # ln -s s/etc etc # ln -s s/root root # ln -s s/home home # ln -s ../s/usr-local usr/local # ln -s ../s/usr-X11R6 usr/X11R6 # ln -s s/tmp tmp # ln -s s/var var .... + . Dit is het juiste moment om de jails te stoppen: + [source,shell] .... # service jail stop .... + . Ontkoppel de originele bestandssystemen: + [source,shell] .... # umount /home/j/ns/s # umount /home/j/ns # umount /home/j/mail/s # umount /home/j/mail # umount /home/j/www/s # umount /home/j/www .... + [NOTE] ====== Het beschrijfbare gedeelte van de jail is gekoppeld aan het alleen-lezen gedeelte ([.filename]#/s#) en moet derhalve eerst ontkoppeld worden. ====== + . Verplaatst het oude alleen-lezen systeem en vervang het door de nieuwe systeem. Het oude systeem dient als reservekopie voor het geval er iets misgaat. De naam moet het zelfde zijn als bij de installatie van het nieuwe systeem. Verplaats de FreeBSD Ports Collectie naar het nieuwe bestandssysteem om ruimte en inodes te besparen: + [source,shell] .... # cd /home/j # mv mroot mroot.20060601 # mv mroot2 mroot # mv mroot.20060601/usr/ports mroot/usr .... + . Op dit moment is het alleen-lezen gedeelte klaar, de enig overgebleven taak is nu om alle bestandssystemen opnieuw te koppelen en om de jails weer op te starten: + [source,shell] .... # mount -a # service jail start .... ==== Gebruik het man:jls[8] programma om te zien of de jails correct zijn opgestart. Vergeet niet om in elke jail het mergemaster programma te starten. Ook moeten de configuratie bestanden en de rc.d scripts geupdate worden. diff --git a/documentation/content/nl/books/handbook/mirrors/_index.adoc b/documentation/content/nl/books/handbook/mirrors/_index.adoc index 27e6eced71..a2a72cedfa 100644 --- a/documentation/content/nl/books/handbook/mirrors/_index.adoc +++ b/documentation/content/nl/books/handbook/mirrors/_index.adoc @@ -1,1689 +1,1689 @@ --- title: Bijlage A. FreeBSD verkrijgen part: Deel V. Appendix prev: books/handbook/partv next: books/handbook/bibliography --- [appendix] [[mirrors]] = FreeBSD verkrijgen :doctype: book :icons: font :sectnums: :sectnumlevels: 6 :source-highlighter: rouge :experimental: :skip-front-matter: :toc-title: Inhoudsopgave :table-caption: Tabel :figure-caption: Afbeelding :example-caption: Voorbeeld :xrefstyle: basic :relfileprefix: ../ :outfilesuffix: :sectnumoffset: A include::shared/mirrors.adoc[] include::shared/authors.adoc[] include::shared/releases.adoc[] include::shared/nl/mailing-lists.adoc[] include::shared/nl/teams.adoc[] include::shared/nl/urls.adoc[] [[mirrors-cdrom]] == CD-ROM en DVD uitgevers === Winkelproducten in doos FreeBSD is beschikbaar in een doos (FreeBSD CD-ROMs, additionele software en gedrukte documentatie) bij verschillende verkopers: * Frys Electronics + WWW: http://www.frys.com/ === CD-ROMs en DVD's FreeBSD CD-ROMs en DVD's zijn te koop bij veel online winkels: * FreeBSD Mall, Inc. + 700 Harvest Park Ste F + Brentwood, CA 94513 + Verenigde Staten + Telefoon: +1 925 240-6652 + Fax: +1 925 674-0821 + E–mail: + WWW: http://www.freebsdmall.com/ * Dr. Hinner EDV + St. Augustinus-Str. 10 + D-81825 München + Duitsland + Telefoon: (089) 428 419 + WWW: http://www.hinner.de/linux/freebsd.html * JMC Software + Ierland + Telefoon: 353 1 6291282 + WWW: http://www.thelinuxmall.com * Linux Distro UK + 42 Wharfedale Road + Margate + CT9 2TB + Verenigd Koninkrijk + WWW: https://linux-distro.co.uk/ * The Linux Emporium + Hilliard House, Lester Way + Wallingford + OX10 9TA + Verenigd Koninkrijk + Telefoon: +44 1491 837010 + Fax: +44 1491 837016 + WWW: http://www.linuxemporium.co.uk/products/bsd/ * Linux+ DVD Magazine + Lewartowskiego 6 + Warsaw + 00-190 + Polen + Telefoon: +48 22 860 18 18 + E–mail: + WWW: http://www.lpmagazine.org/ * Linux System Labs Australia + 21 Ray Drive + Balwyn North + VIC - 3104 + Australië + Telefoon: +61 3 9857 5918 + Fax: +61 3 9857 8974 + WWW: http://www.lsl.com.au * LinuxCenter.Ru + Galernaya Street, 55 + Saint-Petersburg + 190000 + Rusland + Telefoon: +7-812-3125208 + E–mail: + WWW: http://linuxcenter.ru/shop/freebsd === Distributeurs Wederverkopers die FreeBSD 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: http://www.ingrammicro.com/ * Kudzu, LLC + 7375 Washington Ave. S. + Edina, MN 55439 + Verenigde Staten + Telefoon: +1 952 947-0822 + Fax: +1 952 947-0876 + E–mail: * LinuxCenter.Ru + Galernaya Street, 55 + Sint-Petersburg + 190000 + Rusland + Telefoon: +7-812-3125208 + E–mail: + WWW: http://linuxcenter.ru/freebsd [[mirrors-ftp]] == FTP sites De officiële broncode voor FreeBSD is beschikbaar via anoniem toegankelijke FTP in de hele wereld via vele mirrorsites. De site link:ftp://ftp.FreeBSD.org/pub/FreeBSD/[ftp://ftp.FreeBSD.org/pub/FreeBSD/] 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). FreeBSD is beschikbaar via de onderstaande anonieme FTP mirror sites. Bij het kiezen van anonieme FTP voor het verkrijgen van FreeBSD wordt aangeraden een site die dichtbij ligt te kiezen. De mirrorsites die in de lijst staan als "Primaire Mirrorsites" hebben meestal het complete FreeBSD 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. <>, <>, <>, <>, <>, <>, <>, <>, <>, <>, <>, <>, <>, <>, <>, <>, <>, <>, <>, <>, <>, <>, <>, <>, <>, <>, <>, <>, <>, <>, <>, <>, <>, <>. (as of UTC) [[central]] *{central}* {central-ftp} (ftp / ftpv6 / {central-http} / {central-httpv6}) [[primary]] *{mirrors-primary}* In case of problems, please contact the hostmaster `<{mirrors-primary-email}>` for this domain. * {mirrors-primary-ftp1} (ftp) * {mirrors-primary-ftp2} (ftp) * {mirrors-primary-ftp3} (ftp) * {mirrors-primary-ftp4} (ftp / ftpv6 / {mirrors-primary-ftp4-http} / {mirrors-primary-ftp4-httpv6}) * {mirrors-primary-ftp5} (ftp) * {mirrors-primary-ftp6} (ftp) * {mirrors-primary-ftp7} (ftp) * {mirrors-primary-ftp10} (ftp / ftpv6 / {mirrors-primary-ftp10-http} / {mirrors-primary-ftp10-httpv6}) * {mirrors-primary-ftp11} (ftp) * {mirrors-primary-ftp13} (ftp) * {mirrors-primary-ftp14} (ftp / {mirrors-primary-ftp14-http}) [[armenia]] *{mirrors-armenia}* In case of problems, please contact the hostmaster `<{mirrors-armenia-email}>` for this domain. * {mirrors-armenia-ftp} (ftp / {mirrors-armenia-ftp-http} / rsync) [[australia]] *{mirrors-australia}* In case of problems, please contact the hostmaster `<{mirrors-australia-email}>` for this domain. * {mirrors-australia-ftp} (ftp) * {mirrors-australia-ftp2} (ftp) * {mirrors-australia-ftp3} (ftp) [[austria]] *{mirrors-austria}* In case of problems, please contact the hostmaster `<{mirrors-austria-email}>` for this domain. * {mirrors-austria-ftp} (ftp / ftpv6 / {mirrors-austria-ftp-http} / {mirrors-austria-ftp-httpv6}) [[brazil]] *{mirrors-brazil}* In case of problems, please contact the hostmaster `<{mirrors-brazil-email}>` for this domain. * {mirrors-brazil-ftp2} (ftp / {mirrors-brazil-ftp2-http}) * {mirrors-brazil-ftp3} (ftp / rsync) * {mirrors-brazil-ftp4} (ftp) [[czech-republic]] *{mirrors-czech}* In case of problems, please contact the hostmaster `<{mirrors-czech-email}>` for this domain. * {mirrors-czech-ftp} (ftp / {mirrors-czech-ftpv6} / {mirrors-czech-ftp-http} / {mirrors-czech-ftp-httpv6} / rsync / rsyncv6) * {mirrors-czech-ftp2} (ftp / {mirrors-czech-ftp2-http}) [[denmark]] *{mirrors-denmark}* In case of problems, please contact the hostmaster `<{mirrors-denmark-email}>` for this domain. * {mirrors-denmark-ftp} (ftp / ftpv6 / {mirrors-denmark-ftp-http} / {mirrors-denmark-ftp-httpv6}) [[estonia]] *{mirrors-estonia}* In case of problems, please contact the hostmaster `<{mirrors-estonia-email}>` for this domain. * {mirrors-estonia-ftp} (ftp) [[finland]] *{mirrors-finland}* In case of problems, please contact the hostmaster `<{mirrors-finland-email}>` for this domain. * {mirrors-finland-ftp} (ftp) [[france]] *{mirrors-france}* In case of problems, please contact the hostmaster `<{mirrors-france-email}>` for this domain. * {mirrors-france-ftp} (ftp) * {mirrors-france-ftp1} (ftp / {mirrors-france-ftp1-http} / rsync) * {mirrors-france-ftp3} (ftp) * {mirrors-france-ftp5} (ftp) * {mirrors-france-ftp6} (ftp / rsync) * {mirrors-france-ftp7} (ftp) * {mirrors-france-ftp8} (ftp) [[germany]] *{mirrors-germany}* In case of problems, please contact the hostmaster `<{mirrors-germany-email}>` for this domain. * ftp://ftp.de.FreeBSD.org/pub/FreeBSD/ (ftp) * ftp://ftp1.de.FreeBSD.org/freebsd/ (ftp / http://www1.de.FreeBSD.org/freebsd/ / rsync://rsync3.de.FreeBSD.org/freebsd/) * ftp://ftp2.de.FreeBSD.org/pub/FreeBSD/ (ftp / http://ftp2.de.FreeBSD.org/pub/FreeBSD/ / rsync) * ftp://ftp4.de.FreeBSD.org/FreeBSD/ (ftp / http://ftp4.de.FreeBSD.org/pub/FreeBSD/) * ftp://ftp5.de.FreeBSD.org/pub/FreeBSD/ (ftp) * ftp://ftp7.de.FreeBSD.org/pub/FreeBSD/ (ftp / http://ftp7.de.FreeBSD.org/pub/FreeBSD/) * ftp://ftp8.de.FreeBSD.org/pub/FreeBSD/ (ftp) [[greece]] *{mirrors-greece}* In case of problems, please contact the hostmaster `<{mirrors-greece-email}>` for this domain. * {mirrors-greece-ftp} (ftp) * {mirrors-greece-ftp2} (ftp) [[hong-kong]] *{mirrors-hongkong}* {mirrors-hongkong-ftp} (ftp) [[ireland]] *{mirrors-ireland}* In case of problems, please contact the hostmaster `<{mirrors-ireland-email}>` for this domain. * {mirrors-ireland-ftp} (ftp / rsync) [[japan]] *{mirrors-japan}* In case of problems, please contact the hostmaster `<{mirrors-japan-email}>` for this domain. * {mirrors-japan-ftp} (ftp) * {mirrors-japan-ftp2} (ftp) * {mirrors-japan-ftp3} (ftp) * {mirrors-japan-ftp4} (ftp) * {mirrors-japan-ftp5} (ftp) * {mirrors-japan-ftp6} (ftp) * {mirrors-japan-ftp7} (ftp) * {mirrors-japan-ftp8} (ftp) * {mirrors-japan-ftp9} (ftp) [[korea]] *{mirrors-korea}* In case of problems, please contact the hostmaster `<{mirrors-korea-email}>` for this domain. * {mirrors-korea-ftp} (ftp / rsync) * {mirrors-korea-ftp2} (ftp / {mirrors-korea-ftp2-http}) [[latvia]] *{mirrors-latvia}* In case of problems, please contact the hostmaster `<{mirrors-latvia-email}>` for this domain. * {mirrors-latvia-ftp} (ftp / {mirrors-latvia-ftp-http}) [[lithuania]] *{mirrors-lithuania}* In case of problems, please contact the hostmaster `<{mirrors-lithuania-email}>` for this domain. * {mirrors-lithuania-ftp} (ftp / {mirrors-lithuania-ftp-http}) [[netherlands]] *{mirrors-netherlands}* In case of problems, please contact the hostmaster `<{mirrors-netherlands-email}>` for this domain. * {mirrors-netherlands-ftp} (ftp / {mirrors-netherlands-ftp-http} / rsync) * {mirrors-netherlands-ftp2} (ftp) [[new-zealand]] *{mirrors-new-zealand}* * {mirrors-new-zealand-ftp} (ftp / {mirrors-new-zealand-ftp-http}) [[norway]] *{mirrors-norway}* In case of problems, please contact the hostmaster `<{mirrors-norway-email}>` for this domain. * {mirrors-norway-ftp} (ftp / rsync) [[poland]] *{mirrors-poland}* In case of problems, please contact the hostmaster `<{mirrors-poland-email}>` for this domain. * {mirrors-poland-ftp} (ftp) * ftp2.pl.FreeBSD.org [[russia]] *{mirrors-russia}* In case of problems, please contact the hostmaster `<{mirrors-russia-email}>` for this domain. * {mirrors-russia-ftp} (ftp / {mirrors-russia-ftp-http} / rsync) * {mirrors-russia-ftp2} (ftp / {mirrors-russia-ftp2-http} / rsync) * {mirrors-russia-ftp5} (ftp / {mirrors-russia-ftp5-http} / rsync) * {mirrors-russia-ftp6} (ftp) [[saudi-arabia]] *{mirrors-saudi-arabia}* In case of problems, please contact the hostmaster `<{mirrors-saudi-arabia-email}>` for this domain. * {mirrors-saudi-arabia-ftp} (ftp) [[slovenia]] *{mirrors-slovenia}* In case of problems, please contact the hostmaster `<{mirrors-slovenia-email}>` for this domain. * {mirrors-slovenia-ftp} (ftp) [[south-africa]] *{mirrors-south-africa}* In case of problems, please contact the hostmaster `<{mirrors-south-africa-email}>` for this domain. * {mirrors-south-africa-ftp} (ftp) * {mirrors-south-africa-ftp2} (ftp) * {mirrors-south-africa-ftp4} (ftp) [[spain]] *{mirrors-spain}* In case of problems, please contact the hostmaster `<{mirrors-spain-email}>` for this domain. * {mirrors-spain-ftp} (ftp / {mirrors-spain-ftp-http}) * {mirrors-spain-ftp3} (ftp) [[sweden]] *{mirrors-sweden}* In case of problems, please contact the hostmaster `<{mirrors-sweden-email}>` for this domain. * {mirrors-sweden-ftp} (ftp) * {mirrors-sweden-ftp2} (ftp / {mirrors-sweden-ftp2-rsync}) * {mirrors-sweden-ftp3} (ftp) * {mirrors-sweden-ftp4} (ftp / {mirrors-sweden-ftp4v6} / {mirrors-sweden-ftp4-http} / {mirrors-sweden-ftp4-httpv6} / {mirrors-sweden-ftp4-rsync} / {mirrors-sweden-ftp4-rsyncv6}) * {mirrors-sweden-ftp6} (ftp / {mirrors-sweden-ftp6-http}) [[switzerland]] *{mirrors-switzerland}* In case of problems, please contact the hostmaster `<{mirrors-switzerland-email}>` for this domain. * {mirrors-switzerland-ftp} (ftp / {mirrors-switzerland-ftp-http}) [[taiwan]] *{mirrors-taiwan}* In case of problems, please contact the hostmaster `<{mirrors-taiwan-email}>` for this domain. * {mirrors-taiwan-ftp} (ftp / {mirrors-taiwan-ftpv6} / rsync / rsyncv6) * {mirrors-taiwan-ftp2} (ftp / {mirrors-taiwan-ftp2v6} / {mirrors-taiwan-ftp2-http} / {mirrors-taiwan-ftp2-httpv6} / rsync / rsyncv6) * {mirrors-taiwan-ftp4} (ftp) * {mirrors-taiwan-ftp5} (ftp) * {mirrors-taiwan-ftp6} (ftp / {mirrors-taiwan-ftp6v6} / rsync) * {mirrors-taiwan-ftp7} (ftp) * {mirrors-taiwan-ftp8} (ftp) * {mirrors-taiwan-ftp11} (ftp / {mirrors-taiwan-ftp11-http}) * {mirrors-taiwan-ftp12} (ftp) * {mirrors-taiwan-ftp13} (ftp) * {mirrors-taiwan-ftp14} (ftp) * {mirrors-taiwan-ftp15} (ftp) [[ukraine]] *{mirrors-ukraine}* * {mirrors-ukraine-ftp} (ftp / {mirrors-ukraine-ftp-http}) * {mirrors-ukraine-ftp6} (ftp / {mirrors-ukraine-ftp6-http} / {mirrors-ukraine-ftp6-rsync}) * {mirrors-ukraine-ftp7} (ftp) [[uk]] *{mirrors-uk}* In case of problems, please contact the hostmaster `<{mirrors-uk-email}>` for this domain. * {mirrors-uk-ftp} (ftp) * {mirrors-uk-ftp2} (ftp / {mirrors-uk-ftp2-rsync}) * {mirrors-uk-ftp3} (ftp) * {mirrors-uk-ftp4} (ftp) * {mirrors-uk-ftp5} (ftp) [[usa]] *{mirrors-us}* In case of problems, please contact the hostmaster `<{mirrors-us-email}>` for this domain. * {mirrors-us-ftp} (ftp) * {mirrors-us-ftp2} (ftp) * {mirrors-us-ftp3} (ftp) * {mirrors-us-ftp4} (ftp / ftpv6 / {mirrors-us-ftp4-http} / {mirrors-us-ftp4-httpv6}) * {mirrors-us-ftp5} (ftp) * {mirrors-us-ftp6} (ftp) * {mirrors-us-ftp8} (ftp) * {mirrors-us-ftp10} (ftp) * {mirrors-us-ftp11} (ftp) * {mirrors-us-ftp13} (ftp / {mirrors-us-ftp13-http} / rsync) * {mirrors-us-ftp14} (ftp / {mirrors-us-ftp14-http}) * {mirrors-us-ftp15} (ftp) [[mirrors-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/[http://torrents.freebsd.org:8080] De software voor de BitTorrent-cliënt is beschikbaar via de port package: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 <>. [[mirrors-svn]] == Subversion-sites Sinds juli 2012 gebruikt FreeBSD http://subversion.apache.org/[Subversion] als het primaire versiebeheersysteem om alle broncode van FreeBSD, de documentatie, en de Portscollectie op te slaan. [NOTE] ==== Subversion is hoofdzakelijk een gereedschap voor ontwikkelaars. De meeste gebruikers dienen crossref:cutting-edge[updating-upgrading-freebsdupdate,FreeBSD Update] te gebruiken om het basissysteem van FreeBSD bij te werken, en crossref:cutting-edge[updating-upgrading-portsnap,Portsnap] om de FreeBSD Portscollectie bij te werken. ==== Het spiegelsite-netwerk voor Subversion van FreeBSD 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 FreeBSD-depot wat benaderd moet worden. Er zijn drie verschillende depots, `base` voor de broncode van het basissysteem van FreeBSD, `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 FreeBSD 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/[http://svnweb.FreeBSD.org] om de Subversion-depots van FreeBSD met een webbrowser te bekijken. [.informaltable] [cols="1,1,1,1", options="header"] |=== | Naam | Protocollen | Locatie | SSL-vingerafdruk |`svn0.us-west.FreeBSD.org` |svn, http://svn0.us-west.FreeBSD.org/base/[http], https://svn0.us-west.FreeBSD.org/base/[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://svn0.us-east.FreeBSD.org/base/[http], https://svn0.us-east.FreeBSD.org/base/[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` |=== [[anoncvs]] == Anonieme CVS [[anoncvs-intro]] === Inleiding Anonieme CVS (of ook wel bekend als _anoncvs_) is een functie die beschikbaar is met de hulpprogramma's die bij FreeBSD zitten om te synchroniseren met een elders aanwezig CVS depot. Het staat gebruikers van FreeBSD onder andere toe om zonder bijzondere rechten alleen-lezen operaties uit te voeren op een van de officiële anoncvs servers van het FreeBSD 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. [NOTE] ==== Het commando `cvs login` slaat de wachtwoorden die voor aanmelden bij de CVS server op in een bestand met de naam [.filename]#.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 [.filename]#.cvspass# te maken en dan opnieuw aan te melden. ==== Hoewel de diensten <> 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 FreeBSD project te combineren, dan biedt alleen CVSup daar een oplossing voor. [[anoncvs-usage]] === 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 FreeBSD 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.) + [.programlisting] .... 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 (`-r`) en welke waarden zie zoal kan aannemen in het FreeBSD 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 `-D datum` 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/# tree uit te checken: [example] ==== [source,shell] .... % 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]): [example] ==== [source,shell] .... % setenv CVSROOT :pserver:anoncvs@anoncvs.tw.FreeBSD.org:/home/ncvs % cvs login Op de prompt, voer een willekeurig wachtwoord in “wachtwoord”. % cvs co ls .... ==== .SSH gebruiken om de [.filename]#src/# structuur uit te checken: [example] ==== [source,shell] .... % 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: [example] ==== [source,shell] .... % setenv CVSROOT :pserver:anoncvs@anoncvs.tw.FreeBSD.org:/home/ncvs % cvs login Op de prompt, voer een willekeurig wachtwoord in “wachtwoord”. % cvs co -rRELENG_8 ls .... ==== .Een lijst wijzigingen maken (als unified diffs) voor man:ls[1] [example] ==== [source,shell] .... % setenv CVSROOT :pserver:anoncvs@anoncvs.tw.FreeBSD.org:/home/ncvs % cvs login Op de prompt, voer een willekeurig wachtwoord in “wachtwoord”. % cvs rdiff -u -rRELENG_8_0_0_RELEASE -rRELENG_8_1_0_RELEASE ls .... ==== .Uitzoeken welke modulenamen gebruikt kunnen worden: [example] ==== [source,shell] .... % setenv CVSROOT :pserver:anoncvs@anoncvs.tw.FreeBSD.org:/home/ncvs % cvs login Op de prompt, voer een willekeurig wachtwoord in “wachtwoord”. % cvs co modules % more modules/modules .... ==== === Andere bronnen De volgende bronnen kunnen bijdragen aan een beter begrip van CVS: * http://users.csc.calpoly.edu/~gfisher/classes/308/handouts/cvs-basics.html[CVS Tutorial] van California Polytechnic State University. * http://www.nongnu.org/cvs/[CVS Home], de CVS gemeenschap voor ontwikkeling en ondersteuning. * http://www.FreeBSD.org/cgi/cvsweb.cgi[CVSweb] is de FreeBSD Project webinterface voor CVS. [[ctm]] == CTM gebruiken CTM is een methode om een map elders gesynchroniseerd te houden met een centrale. Het is ontwikkeld voor gebruik met de FreeBSD 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 link:{ctm-users-url}[ctm-users-desc] mailinglijst. === Waarom CTM gebruiken? CTM geeft een lokale kopie van de FreeBSD 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 FreeBSD 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 crossref:cutting-edge[current,Bijblijven met FreeBSD] wordt sterk aangeraden. === Wat is er nodig om CTM 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 FreeBSD sinds versie 2.0 is uitgebracht en is te vinden in [.filename]#/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: link:ftp://ftp.FreeBSD.org/pub/FreeBSD/CTM/[ftp://ftp.FreeBSD.org/pub/FreeBSD/CTM/] Er staan er nog meer in de paragraaf <>. FTP de relevante map en download het bestand [.filename]#README# vanaf daar. Voor delta's via e-mail: -Er dient een abonnement genomen te worden op een van de CTM distributielijsten. link:{ctm-src-cur-url}[ctm-src-cur-desc] ondersteunt de complete Subversion structuur. link:{ctm-src-cur-url}[ctm-src-cur-desc] ondersteunt het hoofd van de ontwikkeltak. link:{ctm-src-9-url}[ctm-src-9-desc] ondersteunt de 9.X release tak, enzovoort. Om te abonneren kan geklikt worden op de bovenstaande links of via {mailman-lists-url} kan in een lijst geklikt worden op de lijst waarvoor een abonnement gewenst is. De lijstpagina bevat instructies over hoe te abonneren. +Er dient een abonnement genomen te worden op een van de CTM distributielijsten. link:{ctm-src-cur-url}[ctm-src-cur-desc] ondersteunt de complete Subversion structuur. link:{ctm-src-cur-url}[ctm-src-cur-desc] ondersteunt het hoofd van de ontwikkeltak. link:{ctm-src-9-url}[ctm-src-9-desc] ondersteunt de 9.X release tak, enzovoort. Om te abonneren kan geklikt worden op de bovenstaande links of via {mailing-lists-url} 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 [.filename]#/etc/aliases# gebruikt worden om het proces volledig automatisch te laten verlopen. In de hulppagina van `ctm_rmail` staan meer details. [NOTE] ==== Welke methode ook gebruikt wordt voor de CTM delta's, het is belangrijk een abonnement te nemen op de link:{ctm-announce-url}[ctm-announce-desc] 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. ==== === CTM 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 [.filename]#src-cur.3210XEmpty.gz#). De nummering achter de `X` komt overeen met de oorsprong van het initiële "zaad". [.filename]#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 [.filename]#XEmpty# delta's. Als er een delta als startpunt is gekozen, zijn ook alle delta's met hogere volgnummers nodig. === CTM in het dagelijks leven gebruiken Om de delta's toe te passen: [source,shell] .... # cd /where/ever/you/want/the/stuff # 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 `-c` 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 [.filename]#foo# bestaat, zoekt het eerst naar [.filename]#foo.ctm#. Als dat bestand bestaat, past CTM de wijzigigen daarop toe in plaats van op [.filename]#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 [.filename]#.ctm#. Dan kan er vrijelijk gespeeld worden met de code, terwijl CTM het bestand [.filename]#.ctm# bijwerkt. === Andere interessante mogelijkheden van CTM ==== 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 `-l`. 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 `-B back-upbestand` back-upt CTM alle bestanden die gewijzigd gaan worden door een CTM delta naar [.filename]#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 `-e` en `-x` en het opgeven van regular expressions. Om bijvoorbeeld een bijgewerkte kopie van [.filename]#lib/libc/Makefile# te maken uit de verzameling met opgeslagen CTM delta's, kan het volgende commando uitgevoerd worden: [source,shell] .... # cd /where/ever/you/want/to/extract/it/ # ctm -e '^lib/libc/Makefile' ~ctm/src-xxx.* .... Voor ieder te wijzigen bestand in een CTM delta worden de opties `-e` en `-x` 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 `-e` en `-x`. === Toekomstige plannen voor CTM 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 `ports`collectie, maar daar is nog niet zo veel belangstelling voor. [[mirrors-ctm]] === CTM mirrors <>/FreeBSD 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 link:{ctm-users-url}[ctm-users-desc] mailinglijst. Californië, Bay Area, officiële bron:: ** link:ftp://ftp.FreeBSD.org/pub/FreeBSD/development/CTM/[ftp://ftp.FreeBSD.org/pub/FreeBSD/development/CTM/] Zuid-Afrika, back-upserver voor oude delta's:: ** link:ftp://ftp.za.FreeBSD.org/pub/FreeBSD/CTM/[ftp://ftp.za.FreeBSD.org/pub/FreeBSD/CTM/] Taiwan/R.O.C.:: ** link:ftp://ctm.tw.FreeBSD.org/pub/FreeBSD/development/CTM/[ftp://ctm.tw.FreeBSD.org/pub/FreeBSD/development/CTM/] ** link:ftp://ctm2.tw.FreeBSD.org/pub/FreeBSD/development/CTM/[ftp://ctm2.tw.FreeBSD.org/pub/FreeBSD/development/CTM/] ** link:ftp://ctm3.tw.FreeBSD.org/pub/FreeBSD/development/CTM/[ftp://ctm3.tw.FreeBSD.org/pub/FreeBSD/development/CTM/] Als er geen mirror dichtbij is of als die incompleet is, kan een zoekmachine als http://www.alltheweb.com/[alltheweb] gebruikt worden. [[cvsup]] == CVSup gebruiken [[cvsup-intro]] === Inleiding CVSup is een softwarepakket voor het verspreiden en bijwerken van broncodestructuren vanaf een master CVS depot op een andere server. De FreeBSD broncode wordt beheerd in een broncode depot op een centrale ontwikkelmachine in Californië. Met CVSup kunnen FreeBSD 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 FreeBSD mirrorsites draait. In de FreeBSD 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 FreeBSD project omdat CVSup sneller en flexibeler is. [NOTE] ==== 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. ==== [[cvsup-install]] === Installatie De meest eenvoudige wijze van installatie van CVSup is met het voorgecompileerde pakket package:net/cvsup[] uit de FreeBSD crossref:ports[ports,pakkettencollectie]. Als het gewenst is, kan CVSup ook uit de broncode gebouwd worden in package:net/cvsup[]. De port package: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. [NOTE] ==== Als CVSup gebruikt gaat worden op een machine waarop geen Xorg staat, zoals een server, dan dient de port waar geen CVSupGUI bij zit geïnstalleerd te worden: package:net/cvsup-without-gui[]. ==== [[cvsup-config]] === CVSup instellingen De werking van CVSup wordt gestuurd door een bestand met instellingen met de naam [.filename]#supfile#. Er staan een aantal [.filename]#supfiles# als voorbeeld in de map link:file://localhost/usr/shared/examples/cvsup/[/usr/shared/examples/cvsup/]. De informatie in een [.filename]#supfile# beantwoordt de volgende vragen voor CVSup: * <> * <> * <> * <> * <> In de volgende paragrafen wordt een [.filename]#supfile# bestand opgebouwd door achtereenvolgens alle gestelde vragen te beantwoorden. Als eerste wordt de algemene structuur van een [.filename]#supfile# beschreven. Een [.filename]#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 [.filename]#supfile# wordt meestal aangegeven dat er meerdere collecties ontvangen moeten worden. Het is mogelijk om een [.filename]#supfile# te structureren door expliciet alle relevante velden aan te geven voor iedere collectie, maar dat maakt de regels in de [.filename]#supfile# nogal lang en het is onhandig omdat de meeste velden hetzelfde zijn voor alle collecties in een [.filename]#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 [.filename]#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 [.filename]#supfile# samengesteld voor het ontvangen en bijwerken van de hoofd broncodestructuur van crossref:cutting-edge[current,FreeBSD-CURRENT]. * [[cvsup-config-files]]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 <>. In dit voorbeeld is het de bedoeling dat de hele hoofd broncodestructuur voor FreeBSD wordt ontvangen. Daar is één grote collectie voor: `src-all`. De eerste stap in het maken van een [.filename]#supfile# is het opsommen van de gewenste collecties, één per regel (in dit geval maar één regel): + [.programlisting] .... src-all .... * [[cvsup-config-vers]]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 `date=`. + [WARNING] ==== 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. + [WARNING] ==== 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 `date=` een datum opgegeven worden. In man:cvsup[1] staat hoe dat werkt. + Om bijvoorbeeld FreeBSD-CURRENT te ontvangen dient het volgende aan het begin van [.filename]#supfile# toegevoegd te worden: + [.programlisting] .... *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. * [[cvsup-config-where]]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 <>, hoewel er wordt aangeraden een site die geografisch dichtbij ligt te kiezen. In dit voorbeeld wordt een fictieve FreeBSD distributiesite gebruikt, `cvsup99.FreeBSD.org`: + [.programlisting] .... *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 `-h_hostname_`. * [[cvsup-config-dest]]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 [.filename]#/usr/src# geplaatst. De map [.filename]#src# is al impliciet in de gekozen collecties, vandaar dat het onderstaande de juiste instelling is: + [.programlisting] .... *default prefix=/usr .... * [[cvsup-config-status]]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, [.filename]#/var/db#: + [.programlisting] .... *default base=/var/db .... + De bovenstaande instelling wordt standaard gebruikt als die niet wordt aangegeven in de [.filename]#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 [.filename]#supfile# instellingen: + Er is nog een regel die in een [.filename]#supfile# moet staan: + [.programlisting] .... *default release=cvs delete use-rel-suffix compress .... + `release=cvs` geeft de server aan dat de informatie uit het FreeBSD 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 [.filename]#supfile# uit het voorbeeld: + [.programlisting] .... *default tag=. *default host=cvsup99.FreeBSD.org *default prefix=/usr *default base=/var/db *default release=cvs delete use-rel-suffix compress src-all .... [[cvsup-refuse-file]] ==== Het bestand [.filename]#refuse# 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 [.filename]#doc#, [.filename]#ports# of [.filename]#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 [.filename]#doc# en [.filename]#www# structuren geen taalspecifieke collecties hebben, moet er gebruik gemaakt worden van een van de vele mooie mogelijkheden van CVSup: het bestand [.filename]#refuse#. Het bestand [.filename]#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 [.filename]#refuse# staat in (of kan gemaakt worden in) [.filename]#base/sup/#. _base_ staat ingesteld in [.filename]#supfile#. De standaardlocatie voor _base_ is [.filename]#/var/db#. De standaardplaats voor [.filename]#refuse# is dus [.filename]#/var/db/sup/refuse#. Het bestand [.filename]#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 [.filename]#refuse# gezet worden: [.programlisting] .... 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 http://www.FreeBSD.org/cgi/cvsweb.cgi/[FreeBSD 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 [.filename]#refuse# bestanden en andere leuke mogelijkheden van CVSup staat in de handleiding. === CVSup draaien Nu kan het bijwerken beginnen. Het commando is best wel eenvoudig: [source,shell] .... # cvsup supfile .... De [.filename]#supfile# is de naam van het [.filename]#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 btn[go]. Omdat in dit voorbeeld de werkelijke structuur in [.filename]#/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: [source,shell] .... # mkdir /var/tmp/dest # cvsup supfile /var/tmp/dest .... De opgegeven map is de bestemming voor alle bestandsupdates. CVSup bekijkt wel de bestanden in [.filename]#/usr/src#, maar wijzigt ze niet. Alle updates belanden in [.filename]#/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 [.filename]#/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`: [source,shell] .... # cvsup -g -L 2 supfile .... De optie `-g` 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 `-L 2` geeft CVSup aan dat details getoond moeten worden over alle bestanden die bijgewerkt worden. Er zijn drie niveaus van uitvoerigheid, van `-L 0` tot `-L 2`. 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. [[cvsup-collec]] === CVSup 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 FreeBSD CVS hoofddepot, inclusief de cryptografische code. `distrib release=cvs`::: Bestanden die betrekking hebben op het verspreiden en spiegelen van FreeBSD. `ports-all release=cvs`::: De FreeBSD Portscollectie. + [IMPORTANT] ==== 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. ==== + [IMPORTANT] ==== Bij het zelf bouwen van een lokale kopie van [.filename]#ports/INDEX#_moet_`ports-all` geaccepteerd worden (de hele port structuur). Het bouwen van [.filename]#ports/INDEX# met een gedeeltelijke structuur wordt niet ondersteund. Zie ook de link:{faq}#MAKE-INDEX[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 [.filename]#Mk/# en [.filename]#Tools/# van [.filename]#/usr/ports#. + [NOTE] ==== Zie ook de <>: deze subcollectie dient _altijd_ bijgewerkt te worden als er een onderdeel van de FreeBSD 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(TM) 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(TM) 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 FreeBSD projecten repository. `src-all release=cvs`::: De hoofdbroncode van FreeBSD, inclusief de cryptografische code. `src-base release=cvs`:::: Verschillende bestanden bovenin de [.filename]#/usr/src# structuur. `src-bin release=cvs`:::: Gebruikersprogramma's die wellicht nodig zijn in single-user modus ([.filename]#/usr/src/bin#). `src-cddl release=cvs`:::: Programma's en bibliotheken die uitgegeven zijn onder de CDDL licentie ([.filename]#/usr/src/cddl#). `src-contrib release=cvs`:::: Programma's en bibliotheken van buiten het FreeBSD project die vrijwel ongewijzigd gebruikt worden ([.filename]#/usr/src/contrib#). `src-crypto release=cvs`:::: Cryptografische programma's en bibliotheken van buiten het FreeBSD project, die vrijwel ongewijzigd worden gebruikt ([.filename]#/usr/src/crypto#). `src-eBones release=cvs`:::: Kerberos en DES ([.filename]#/usr/src/eBones#). Niet gebruikt in recente uitgaves van FreeBSD. `src-etc release=cvs`:::: Bestanden met systeeminstellingen ([.filename]#/usr/src/etc#). `src-games release=cvs`:::: Spelletjes ([.filename]#/usr/src/games#). `src-gnu release=cvs`:::: Programma's die onder de GNU Public License vallen ([.filename]#/usr/src/gnu#). `src-include release=cvs`:::: Headerbestanden ([.filename]#/usr/src/include#). `src-kerberos5 release=cvs`:::: Kerberos5 beveiligingspakket ([.filename]#/usr/src/kerberos5#). `src-kerberosIV release=cvs`:::: KerberosIV beveiligingspakket ([.filename]#/usr/src/kerberosIV#). `src-lib release=cvs`:::: Bibliotheken ([.filename]#/usr/src/lib#). `src-libexec release=cvs`:::: Systeemprogramma's die meestal door andere programma's worden uitgevoerd ([.filename]#/usr/src/libexec#). `src-release release=cvs`:::: Bestanden die nodig zijn voor het maken van een FreeBSD release ([.filename]#/usr/src/release#). `src-release release=cvs`:::: Statisch gelinkte programma's voor nood onderhoud, zie man:rescue[8] ([.filename]#/usr/src/rescue#). `src-sbin release=cvs`:::: Systeemprogramma's voor single-user modus ([.filename]#/usr/src/sbin#). `src-secure release=cvs`:::: Cryptografische bibliotheken en commando's ([.filename]#/usr/src/secure#). `src-share release=cvs`:::: Bestanden die tussen meerdere systemen gedeeld kunnen worden ([.filename]#/usr/src/share#). `src-sys release=cvs`:::: De kernel ([.filename]#/usr/src/sys#). `src-sys-crypto release=cvs`:::: Cryptografische kernelcode ([.filename]#/usr/src/sys/crypto#). `src-tools release=cvs`:::: Verschillende hulpprogramma's voor het onderhoud van FreeBSD ([.filename]#/usr/src/tools#). `src-usrbin release=cvs`:::: Gebruikersprogramma's ([.filename]#/usr/src/usr.bin#). `src-usrsbin release=cvs`:::: Systeemprogramma's ([.filename]#/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`:: FreeBSD mailinglijstarchief. `www release=current`:: De voorbewerkte FreeBSD websitebestanden (niet de broncode). Gebruikt door WWW mirrorsites. === Voor meer informatie De CVSup FAQ en andere informatie over CVSup is te vinden op http://www.cvsup.org/[De CVSup Homepage]. De meeste FreeBSD-gerelateerde discussie over CVSup vindt plaats op de {freebsd-hackers}. Daar worden nieuwe versies van de software aangekondigd, net als op de {freebsd-announce}. Voor vragen en foutrapporten moet een kijkje genomen worden op http://www.cvsup.org/faq.html#bugreports[ de CVSup FAQ] [[cvsup-mirrors]] === CVSup sites <> servers voor FreeBSD draaien op de onderstaande sites. [[cvs-tags]] == 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 FreeBSD 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 [.filename]#src/# structuur. De [.filename]#ports/#, [.filename]#doc/# en [.filename]#www/# structuren kennen geen takken. HEAD:: Symbolische naam voor de hoofdlijn van FreeBSD-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). + [NOTE] ==== 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 FreeBSD-9.X, ook bekend als FreeBSD 9-STABLE. RELENG_9_0:: De uitgavetak voor FreeBSD-9.0, alleen gebruikt voor beveiligingswaarschuwingen en andere kritische aanpassingen. RELENG_8:: De ontwikkellijn voor FreeBSD-8.X, ook bekend als FreeBSD 8-STABLE. RELENG_8_3:: De uitgavetak voor FreeBSD-8.3, alleen gebruikt voor beveiligingswaarschuwingen en andere kritische aanpassingen. RELENG_8_2:: De uitgavetak voor FreeBSD-8.2, alleen gebruikt voor beveiligingswaarschuwingen en andere kritische aanpassingen. RELENG_8_1:: De uitgavetak voor FreeBSD-8.1, alleen gebruikt voor beveiligingswaarschuwingen en andere kritische aanpassingen. RELENG_8_0:: De uitgavetak voor FreeBSD-8.0, alleen gebruikt voor beveiligingswaarschuwingen en andere kritische aanpassingen. RELENG_7:: De ontwikkellijn voor FreeBSD-7.X, ook bekend als FreeBSD 7-STABLE. RELENG_7_4:: De uitgavetak voor FreeBSD-7.3, alleen gebruikt voor beveiligingswaarschuwingen en andere kritische aanpassingen. RELENG_7_3:: De uitgavetak voor FreeBSD-7.3, alleen gebruikt voor beveiligingswaarschuwingen en andere kritische aanpassingen. RELENG_7_2:: De uitgavetak voor FreeBSD-7.2, alleen gebruikt voor beveiligingswaarschuwingen en andere kritische aanpassingen. RELENG_7_1:: De uitgavetak voor FreeBSD-7.1, alleen gebruikt voor beveiligingswaarschuwingen en andere kritische aanpassingen. RELENG_7_0:: De uitgavetak voor FreeBSD-7.0, alleen gebruikt voor beveiligingswaarschuwingen en andere kritische aanpassingen. RELENG_6:: De ontwikkellijn voor FreeBSD-6.X, ook bekend als FreeBSD 6-STABLE. RELENG_6_4:: De uitgavetak voor FreeBSD-6.4, alleen gebruikt voor beveiligingsadviezen en andere kritieke reparaties. RELENG_6_3:: De uitgavetak voor FreeBSD-6.3, alleen gebruikt voor beveiligingswaarschuwingen en andere kritische aanpassingen. RELENG_6_2:: De releasetak voor FreeBSD-6.2, alleen gebruikt voor beveiligingswaarschuwingen en andere kritische aanpassingen. RELENG_6_1:: De releasetak voor FreeBSD-6.1, alleen gebruikt voor beveiligingswaarschuwingen en andere kritische aanpassingen. RELENG_6_0:: De releasetak voor FreeBSD-6.0, alleen gebruikt voor beveiligingswaarschuwingen en andere kritische aanpassingen. RELENG_5:: De ontwikkellijn voor FreeBSD-5.X, ook bekend als FreeBSD 5-STABLE. RELENG_5_5:: De releasetak voor FreeBSD-5.5, alleen gebruikt voor beveiligingswaarschuwingen en andere kritische aanpassingen. RELENG_5_4:: De releasetak voor FreeBSD-5.4, alleen gebruikt voor beveiligingswaarschuwingen en andere kritische aanpassingen. RELENG_5_3:: De releasetak voor FreeBSD-5.3, alleen gebruikt voor beveiligingswaarschuwingen en andere kritische aanpassingen. RELENG_5_2:: De releasetak voor FreeBSD-5.2 en FreeBSD-5.2.1, alleen gebruikt voor beveiligingswaarschuwingen en andere kritische aanpassingen. RELENG_5_1:: De releasetak voor FreeBSD-5.1, alleen gebruikt voor beveiligingswaarschuwingen en andere kritische aanpassingen. RELENG_5_0:: De releasetak voor FreeBSD-5.0, alleen gebruikt voor beveiligingswaarschuwingen en andere kritische aanpassingen. RELENG_4:: De ontwikkellijn voor FreeBSD-4.X, ook bekend als FreeBSD 4-STABLE. RELENG_4_11:: De releasetak voor FreeBSD-4.11, alleen gebruikt voor beveiligingswaarschuwingen en andere kritische aanpassingen. RELENG_4_10:: De releasetak voor FreeBSD-4.10, alleen gebruikt voor beveiligingswaarschuwingen en andere kritische aanpassingen. RELENG_4_9:: De releasetak voor FreeBSD-4.9, alleen gebruikt voor beveiligingswaarschuwingen en andere kritische aanpassingen. RELENG_4_8:: De releasetak voor FreeBSD-4.8, alleen gebruikt voor beveiligingswaarschuwingen en andere kritische aanpassingen. RELENG_4_7:: De releasetak voor FreeBSD-4.7, alleen gebruikt voor beveiligingswaarschuwingen en andere kritische aanpassingen. RELENG_4_6:: De releasetak voor FreeBSD-4.6 en FreeBSD-4.6.2, alleen gebruikt voor beveiligingswaarschuwingen en andere kritische aanpassingen. RELENG_4_5:: De releasetak voor FreeBSD-4.5, alleen gebruikt voor beveiligingswaarschuwingen en andere kritische aanpassingen. RELENG_4_4:: De releasetak voor FreeBSD-4.4, alleen gebruikt voor beveiligingswaarschuwingen en andere kritische aanpassingen. RELENG_4_3:: De releasetak voor FreeBSD-4.3, alleen gebruikt voor beveiligingswaarschuwingen en andere kritische aanpassingen. RELENG_3:: De ontwikkellijn voor FreeBSD-3.X, ook bekend als 3.X-STABLE. RELENG_2_2:: De ontwikkellijn voor FreeBSD-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 FreeBSD is uitgegeven. Het proces om tot een release te komen is gedetailleerder beschreven in de link:https://www.FreeBSD.org/releng/[Release Engineering Informatie] en link:{releng}#release-proc/[Release Proces] documenten. De [.filename]#src# structuur gebruikt labelnamen die beginnen met `RELENG_` labels. De [.filename]#ports# en [.filename]#doc# structuren gebruiken labels waarvan de naam begint met het label `RELEASE`. De [.filename]#www# tenslotte, is niet gemarkeerd met een bijzondere naam bij uitgaven. RELENG_9_0_0_RELEASE:: FreeBSD 9.0 RELENG_8_3_0_RELEASE:: FreeBSD 8.3 RELENG_8_2_0_RELEASE:: FreeBSD 8.2 RELENG_8_1_0_RELEASE:: FreeBSD 8.1 RELENG_8_0_0_RELEASE:: FreeBSD 8.0 RELENG_7_4_0_RELEASE:: FreeBSD 7.4 RELENG_7_3_0_RELEASE:: FreeBSD 7.3 RELENG_7_2_0_RELEASE:: FreeBSD 7.2 RELENG_7_1_0_RELEASE:: FreeBSD 7.1 RELENG_7_0_0_RELEASE:: FreeBSD 7.0 RELENG_6_4_0_RELEASE:: FreeBSD 6.4 RELENG_6_3_0_RELEASE:: FreeBSD 6.3 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 [[mirrors-rsync]] == rsync sites De volgende sites bieden FreeBSD 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 FreeBSD FTP server of het FreeBSD CVS depot draait. De rsync suite is voor veel besturingssystemen beschikbaar. Voor FreeBSD kan het pakket of de port uit package:net/rsync[] geïnstalleerd worden. Tsjechië:: rsync://ftp.cz.FreeBSD.org/ + Beschikbare collecties: ** ftp: een gedeeltelijke mirror van de FreeBSD FTP server. ** FreeBSD: een volledige mirror van de FreeBSD FTP server. Nederland:: rsync://ftp.nl.FreeBSD.org/ + Beschikbare collecties: ** FreeBSD: een volledige mirror van de FreeBSD FTP server. Rusland:: rsync://ftp.mtu.ru/ + Beschikbare collecties: ** FreeBSD: een volledige spiegel van de FTP-server van FreeBSD. ** FreeBSD-gnats: De GNATS bug-tracking database. ** FreeBSD-archief: spiegel van de FreeBSD Archive FTP-server. Zweden:: rsync://ftp4.se.freebsd.org/ + Beschikbare verzamelingen: ** FreeBSD: een volledige spiegel van de FTP-server van FreeBSD. Taiwan:: rsync://ftp.tw.FreeBSD.org/ + rsync://ftp2.tw.FreeBSD.org/ + rsync://ftp6.tw.FreeBSD.org/ + Beschikbare collecties: ** FreeBSD: een volledige mirror van de FreeBSD FTP server. Verenigd Koninkrijk:: rsync://rsync.mirrorservice.org/ + Beschikbare collecties: ** sites/ftp.freebsd.org: een volledige mirror van de FreeBSD FTP server. Verenigde Staten van Amerika:: rsync://ftp-master.FreeBSD.org/ + Deze server mag alleen gebruikt worden door FreeBSD primaire mirrorsites. + Beschikbare collecties: ** FreeBSD: het masterarchief van de FreeBSD FTP server. ** acl: de FreeBSD master ACL lijst. + rsync://ftp13.FreeBSD.org/ + Beschikbare collecties: + ** FreeBSD: een volledige mirror van de FreeBSD FTP server. diff --git a/documentation/content/pl/books/handbook/cutting-edge/_index.adoc b/documentation/content/pl/books/handbook/cutting-edge/_index.adoc index 678d686eea..efe2af8a14 100644 --- a/documentation/content/pl/books/handbook/cutting-edge/_index.adoc +++ b/documentation/content/pl/books/handbook/cutting-edge/_index.adoc @@ -1,922 +1,922 @@ --- title: Rozdział 24. Updating and Upgrading FreeBSD part: Część III. Administracja systemem prev: books/handbook/l10n next: books/handbook/dtrace --- [[updating-upgrading]] = Updating and Upgrading FreeBSD :doctype: book :toc: macro :toclevels: 1 :icons: font :sectnums: :sectnumlevels: 6 :source-highlighter: rouge :experimental: :skip-front-matter: :toc-title: Spis treści :table-caption: Tabela :figure-caption: Rysunek :example-caption: Przykład :xrefstyle: basic :relfileprefix: ../ :outfilesuffix: :sectnumoffset: 24 ifeval::["{backend}" == "html5"] :imagesdir: ../../../images/books/handbook/cutting-edge/ endif::[] ifeval::["{backend}" == "pdf"] :imagesdir: ../../../../static/images/books/handbook/cutting-edge/ endif::[] ifeval::["{backend}" == "epub3"] :imagesdir: ../../../../static/images/books/handbook/cutting-edge/ endif::[] include::shared/authors.adoc[] include::shared/releases.adoc[] include::shared/pl/mailing-lists.adoc[] include::shared/pl/urls.adoc[] include::shared/pl/teams.adoc[] toc::[] [[updating-upgrading-synopsis]] == Synopsis FreeBSD is under constant development between releases. Some people prefer to use the officially released versions, while others prefer to keep in sync with the latest developments. However, even official releases are often updated with security and other critical fixes. Regardless of the version used, FreeBSD provides all the necessary tools to keep the system updated, and allows for easy upgrades between versions. This chapter describes how to track the development system and the basic tools for keeping a FreeBSD system up-to-date. After reading this chapter, you will know: * How to keep a FreeBSD system up-to-date with freebsd-update or Subversion. * How to compare the state of an installed system against a known pristine copy. * How to keep the installed documentation up-to-date with Subversion or documentation ports. * The difference between the two development branches: FreeBSD-STABLE and FreeBSD-CURRENT. * How to rebuild and reinstall the entire base system. Before reading this chapter, you should: * Properly set up the network connection (crossref:advanced-networking[advanced-networking,Advanced Networking]). * Know how to install additional third-party software (crossref:ports[ports,Installing Applications: Packages and Ports]). [NOTE] ==== Throughout this chapter, `svnlite` is used to obtain and update FreeBSD sources. Optionally, the package:devel/subversion[] port or package may be used. ==== [[updating-upgrading-freebsdupdate]] == FreeBSD Update Applying security patches in a timely manner and upgrading to a newer release of an operating system are important aspects of ongoing system administration. FreeBSD includes a utility called `freebsd-update` which can be used to perform both these tasks. This utility supports binary security and errata updates to FreeBSD, without the need to manually compile and install the patch or a new kernel. Binary updates are available for all architectures and releases currently supported by the security team. The list of supported releases and their estimated end-of-life dates are listed at https://www.FreeBSD.org/security/[https://www.FreeBSD.org/security/]. This utility also supports operating system upgrades to minor point releases as well as upgrades to another release branch. Before upgrading to a new release, review its release announcement as it contains important information pertinent to the release. Release announcements are available from https://www.FreeBSD.org/releases/[https://www.FreeBSD.org/releases/]. [NOTE] ==== If a `crontab` utilizing the features of man:freebsd-update[8] exists, it must be disabled before upgrading the operating system. ==== This section describes the configuration file used by `freebsd-update`, demonstrates how to apply a security patch and how to upgrade to a minor or major operating system release, and discusses some of the considerations when upgrading the operating system. [[freebsdupdate-config-file]] === The Configuration File The default configuration file for `freebsd-update` works as-is. Some users may wish to tweak the default configuration in [.filename]#/etc/freebsd-update.conf#, allowing better control of the process. The comments in this file explain the available options, but the following may require a bit more explanation: [.programlisting] .... # Components of the base system which should be kept updated. Components world kernel .... This parameter controls which parts of FreeBSD will be kept up-to-date. The default is to update the entire base system and the kernel. Individual components can instead be specified, such as `src/base` or `src/sys`. However, the best option is to leave this at the default as changing it to include specific items requires every needed item to be listed. Over time, this could have disastrous consequences as source code and binaries may become out of sync. [.programlisting] .... # Paths which start with anything matching an entry in an IgnorePaths # statement will be ignored. IgnorePaths /boot/kernel/linker.hints .... To leave specified directories, such as [.filename]#/bin# or [.filename]#/sbin#, untouched during the update process, add their paths to this statement. This option may be used to prevent `freebsd-update` from overwriting local modifications. [.programlisting] .... # Paths which start with anything matching an entry in an UpdateIfUnmodified # statement will only be updated if the contents of the file have not been # modified by the user (unless changes are merged; see below). UpdateIfUnmodified /etc/ /var/ /root/ /.cshrc /.profile .... This option will only update unmodified configuration files in the specified directories. Any changes made by the user will prevent the automatic updating of these files. There is another option, `KeepModifiedMetadata`, which will instruct `freebsd-update` to save the changes during the merge. [.programlisting] .... # When upgrading to a new FreeBSD release, files which match MergeChanges # will have any local changes merged into the version from the new release. MergeChanges /etc/ /var/named/etc/ /boot/device.hints .... List of directories with configuration files that `freebsd-update` should attempt to merge. The file merge process is a series of man:diff[1] patches similar to man:mergemaster[8], but with fewer options. Merges are either accepted, open an editor, or cause `freebsd-update` to abort. When in doubt, backup [.filename]#/etc# and just accept the merges. See man:mergemaster[8] for more information about `mergemaster`. [.programlisting] .... # Directory in which to store downloaded updates and temporary # files used by FreeBSD Update. # WorkDir /var/db/freebsd-update .... This directory is where all patches and temporary files are placed. In cases where the user is doing a version upgrade, this location should have at least a gigabyte of disk space available. [.programlisting] .... # When upgrading between releases, should the list of Components be # read strictly (StrictComponents yes) or merely as a list of components # which *might* be installed of which FreeBSD Update should figure out # which actually are installed and upgrade those (StrictComponents no)? # StrictComponents no .... When this option is set to `yes`, `freebsd-update` will assume that the `Components` list is complete and will not attempt to make changes outside of the list. Effectively, `freebsd-update` will attempt to update every file which belongs to the `Components` list. [[freebsdupdate-security-patches]] === Applying Security Patches The process of applying FreeBSD security patches has been simplified, allowing an administrator to keep a system fully patched using `freebsd-update`. More information about FreeBSD security advisories can be found in crossref:security[security-advisories,"FreeBSD Security Advisories"]. FreeBSD security patches may be downloaded and installed using the following commands. The first command will determine if any outstanding patches are available, and if so, will list the files that will be modifed if the patches are applied. The second command will apply the patches. [source,shell] .... # freebsd-update fetch # freebsd-update install .... If the update applies any kernel patches, the system will need a reboot in order to boot into the patched kernel. If the patch was applied to any running binaries, the affected applications should be restarted so that the patched version of the binary is used. [NOTE] ==== Usually, the user needs to be prepared to reboot the system. To know if a reboot is required by a kernel update, execute the commands `freebsd-version -k` and `uname -r` and if it differs a reboot is required. ==== The system can be configured to automatically check for updates once every day by adding this entry to [.filename]#/etc/crontab#: [.programlisting] .... @daily root freebsd-update cron .... If patches exist, they will automatically be downloaded but will not be applied. The `root` user will be sent an email so that the patches may be reviewed and manually installed with `freebsd-update install`. If anything goes wrong, `freebsd-update` has the ability to roll back the last set of changes with the following command: [source,shell] .... # freebsd-update rollback Uninstalling updates... done. .... Again, the system should be restarted if the kernel or any kernel modules were modified and any affected binaries should be restarted. Only the [.filename]#GENERIC# kernel can be automatically updated by `freebsd-update`. If a custom kernel is installed, it will have to be rebuilt and reinstalled after `freebsd-update` finishes installing the updates. The default kernel name is _GENERIC_. The man:uname[1] command may be used to verify its installation. [NOTE] ==== Always keep a copy of the [.filename]#GENERIC# kernel in [.filename]#/boot/GENERIC#. It will be helpful in diagnosing a variety of problems and in performing version upgrades. Refer to <> for instructions on how to get a copy of the [.filename]#GENERIC# kernel. ==== Unless the default configuration in [.filename]#/etc/freebsd-update.conf# has been changed, `freebsd-update` will install the updated kernel sources along with the rest of the updates. Rebuilding and reinstalling a new custom kernel can then be performed in the usual way. The updates distributed by `freebsd-update` do not always involve the kernel. It is not necessary to rebuild a custom kernel if the kernel sources have not been modified by `freebsd-update install`. However, `freebsd-update` will always update [.filename]#/usr/src/sys/conf/newvers.sh#. The current patch level, as indicated by the `-p` number reported by `uname -r`, is obtained from this file. Rebuilding a custom kernel, even if nothing else changed, allows `uname` to accurately report the current patch level of the system. This is particularly helpful when maintaining multiple systems, as it allows for a quick assessment of the updates installed in each one. [[freebsdupdate-upgrade]] === Performing Major and Minor Version Upgrades Upgrades from one minor version of FreeBSD to another, like from FreeBSD 9.0 to FreeBSD 9.1, are called _minor version_ upgrades. _Major version_ upgrades occur when FreeBSD is upgraded from one major version to another, like from FreeBSD 9.X to FreeBSD 10.X. Both types of upgrades can be performed by providing `freebsd-update` with a release version target. [NOTE] ==== If the system is running a custom kernel, make sure that a copy of the [.filename]#GENERIC# kernel exists in [.filename]#/boot/GENERIC# before starting the upgrade. Refer to <> for instructions on how to get a copy of the [.filename]#GENERIC# kernel. ==== The following command, when run on a FreeBSD 9.0 system, will upgrade it to FreeBSD 9.1: [source,shell] .... # freebsd-update -r 9.1-RELEASE upgrade .... After the command has been received, `freebsd-update` will evaluate the configuration file and current system in an attempt to gather the information necessary to perform the upgrade. A screen listing will display which components have and have not been detected. For example: [source,shell] .... Looking up update.FreeBSD.org mirrors... 1 mirrors found. Fetching metadata signature for 9.0-RELEASE from update1.FreeBSD.org... done. Fetching metadata index... done. Inspecting system... done. The following components of FreeBSD seem to be installed: kernel/smp src/base src/bin src/contrib src/crypto src/etc src/games src/gnu src/include src/krb5 src/lib src/libexec src/release src/rescue src/sbin src/secure src/share src/sys src/tools src/ubin src/usbin world/base world/info world/lib32 world/manpages The following components of FreeBSD do not seem to be installed: kernel/generic world/catpages world/dict world/doc world/games world/proflibs Does this look reasonable (y/n)? y .... At this point, `freebsd-update` will attempt to download all files required for the upgrade. In some cases, the user may be prompted with questions regarding what to install or how to proceed. When using a custom kernel, the above step will produce a warning similar to the following: [source,shell] .... WARNING: This system is running a "MYKERNEL" kernel, which is not a kernel configuration distributed as part of FreeBSD 9.0-RELEASE. This kernel will not be updated: you MUST update the kernel manually before running "/usr/sbin/freebsd-update install" .... This warning may be safely ignored at this point. The updated [.filename]#GENERIC# kernel will be used as an intermediate step in the upgrade process. Once all the patches have been downloaded to the local system, they will be applied. This process may take a while, depending on the speed and workload of the machine. Configuration files will then be merged. The merging process requires some user intervention as a file may be merged or an editor may appear on screen for a manual merge. The results of every successful merge will be shown to the user as the process continues. A failed or ignored merge will cause the process to abort. Users may wish to make a backup of [.filename]#/etc# and manually merge important files, such as [.filename]#master.passwd# or [.filename]#group# at a later time. [NOTE] ==== The system is not being altered yet as all patching and merging is happening in another directory. Once all patches have been applied successfully, all configuration files have been merged and it seems the process will go smoothly, the changes can be committed to disk by the user using the following command: [source,shell] .... # freebsd-update install .... ==== The kernel and kernel modules will be patched first. If the system is running with a custom kernel, use man:nextboot[8] to set the kernel for the next boot to the updated [.filename]#/boot/GENERIC#: [source,shell] .... # nextboot -k GENERIC .... [WARNING] ==== Before rebooting with the [.filename]#GENERIC# kernel, make sure it contains all the drivers required for the system to boot properly and connect to the network, if the machine being updated is accessed remotely. In particular, if the running custom kernel contains built-in functionality usually provided by kernel modules, make sure to temporarily load these modules into the [.filename]#GENERIC# kernel using the [.filename]#/boot/loader.conf# facility. It is recommended to disable non-essential services as well as any disk and network mounts until the upgrade process is complete. ==== The machine should now be restarted with the updated kernel: [source,shell] .... # shutdown -r now .... Once the system has come back online, restart `freebsd-update` using the following command. Since the state of the process has been saved, `freebsd-update` will not start from the beginning, but will instead move on to the next phase and remove all old shared libraries and object files. [source,shell] .... # freebsd-update install .... [NOTE] ==== Depending upon whether any library version numbers were bumped, there may only be two install phases instead of three. ==== The upgrade is now complete. If this was a major version upgrade, reinstall all ports and packages as described in <>. [[freebsd-update-custom-kernel-9x]] ==== Custom Kernels with FreeBSD 9.X and Later Before using `freebsd-update`, ensure that a copy of the [.filename]#GENERIC# kernel exists in [.filename]#/boot/GENERIC#. If a custom kernel has only been built once, the kernel in [.filename]#/boot/kernel.old# is the `GENERIC` kernel. Simply rename this directory to [.filename]#/boot/kernel#. If a custom kernel has been built more than once or if it is unknown how many times the custom kernel has been built, obtain a copy of the `GENERIC` kernel that matches the current version of the operating system. If physical access to the system is available, a copy of the `GENERIC` kernel can be installed from the installation media: [source,shell] .... # mount /cdrom # cd /cdrom/usr/freebsd-dist # tar -C/ -xvf kernel.txz boot/kernel/kernel .... Alternately, the `GENERIC` kernel may be rebuilt and installed from source: [source,shell] .... # cd /usr/src # make kernel __MAKE_CONF=/dev/null SRCCONF=/dev/null .... For this kernel to be identified as the `GENERIC` kernel by `freebsd-update`, the [.filename]#GENERIC# configuration file must not have been modified in any way. It is also suggested that the kernel is built without any other special options. Rebooting into the [.filename]#GENERIC# kernel is not required as `freebsd-update` only needs [.filename]#/boot/GENERIC# to exist. [[freebsdupdate-portsrebuild]] ==== Upgrading Packages After a Major Version Upgrade Generally, installed applications will continue to work without problems after minor version upgrades. Major versions use different Application Binary Interfaces (ABIs), which will break most third-party applications. After a major version upgrade, all installed packages and ports need to be upgraded. Packages can be upgraded using `pkg upgrade`. To upgrade installed ports, use a utility such as package:ports-mgmt/portmaster[]. A forced upgrade of all installed packages will replace the packages with fresh versions from the repository even if the version number has not increased. This is required because of the ABI version change when upgrading between major versions of FreeBSD. The forced upgrade can be accomplished by performing: [source,shell] .... # pkg-static upgrade -f .... A rebuild of all installed applications can be accomplished with this command: [source,shell] .... # portmaster -af .... This command will display the configuration screens for each application that has configurable options and wait for the user to interact with those screens. To prevent this behavior, and use only the default options, include `-G` in the above command. Once the software upgrades are complete, finish the upgrade process with a final call to `freebsd-update` in order to tie up all the loose ends in the upgrade process: [source,shell] .... # freebsd-update install .... If the [.filename]#GENERIC# kernel was temporarily used, this is the time to build and install a new custom kernel using the instructions in crossref:kernelconfig[kernelconfig,Configuring the FreeBSD Kernel]. Reboot the machine into the new FreeBSD version. The upgrade process is now complete. [[freebsdupdate-system-comparison]] === System State Comparison The state of the installed FreeBSD version against a known good copy can be tested using `freebsd-update IDS`. This command evaluates the current version of system utilities, libraries, and configuration files and can be used as a built-in Intrusion Detection System (IDS). [WARNING] ==== This command is not a replacement for a real IDS such as package:security/snort[]. As `freebsd-update` stores data on disk, the possibility of tampering is evident. While this possibility may be reduced using `kern.securelevel` and by storing the `freebsd-update` data on a read-only file system when not in use, a better solution would be to compare the system against a secure disk, such as a DVD or securely stored external USB disk device. An alternative method for providing IDS functionality using a built-in utility is described in crossref:security[security-ids,"Binary Verification"] ==== To begin the comparison, specify the output file to save the results to: [source,shell] .... # freebsd-update IDS >> outfile.ids .... The system will now be inspected and a lengthy listing of files, along with the SHA256 hash values for both the known value in the release and the current installation, will be sent to the specified output file. The entries in the listing are extremely long, but the output format may be easily parsed. For instance, to obtain a list of all files which differ from those in the release, issue the following command: [source,shell] .... # cat outfile.ids | awk '{ print $1 }' | more /etc/master.passwd /etc/motd /etc/passwd /etc/pf.conf .... This sample output has been truncated as many more files exist. Some files have natural modifications. For example, [.filename]#/etc/passwd# will be modified if users have been added to the system. Kernel modules may differ as `freebsd-update` may have updated them. To exclude specific files or directories, add them to the `IDSIgnorePaths` option in [.filename]#/etc/freebsd-update.conf#. [[updating-upgrading-documentation]] == Updating the Documentation Set Documentation is an integral part of the FreeBSD operating system. While an up-to-date version of the FreeBSD documentation is always available on the FreeBSD web site (link:https://www.FreeBSD.org/doc/[https://www.freebsd.org/doc/]), it can be handy to have an up-to-date, local copy of the FreeBSD website, handbooks, FAQ, and articles. This section describes how to use either source or the FreeBSD Ports Collection to keep a local copy of the FreeBSD documentation up-to-date. For information on editing and submitting corrections to the documentation, refer to the FreeBSD Documentation Project Primer for New Contributors (link:{fdp-primer}[FreeBSD Documentation Project Primer for New Contributors]). [[updating-installed-documentation]] === Updating Documentation from Source Rebuilding the FreeBSD documentation from source requires a collection of tools which are not part of the FreeBSD base system. The required tools can be installed from the package:textproc/docproj[] package or port developed by the FreeBSD Documentation Project. Once installed, use svnlite to fetch a clean copy of the documentation source: [source,shell] .... # svnlite checkout https://svn.FreeBSD.org/doc/head /usr/doc .... The initial download of the documentation sources may take a while. Let it run until it completes. Future updates of the documentation sources may be fetched by running: [source,shell] .... # svnlite update /usr/doc .... Once an up-to-date snapshot of the documentation sources has been fetched to [.filename]#/usr/doc#, everything is ready for an update of the installed documentation. A full update of all available languages may be performed by typing: [source,shell] .... # cd /usr/doc # make install clean .... If an update of only a specific language is desired, `make` can be invoked in a language-specific subdirectory of [.filename]#/usr/doc#: [source,shell] .... # cd /usr/doc/en_US.ISO8859-1 # make install clean .... An alternative way of updating the documentation is to run this command from [.filename]#/usr/doc# or the desired language-specific subdirectory: [source,shell] .... # make update .... The output formats that will be installed may be specified by setting `FORMATS`: [source,shell] .... # cd /usr/doc # make FORMATS='html html-split' install clean .... Several options are available to ease the process of updating only parts of the documentation, or the build of specific translations. These options can be set either as system-wide options in [.filename]#/etc/make.conf#, or as command-line options passed to `make`. The options include: `DOC_LANG`:: The list of languages and encodings to build and install, such as `en_US.ISO8859-1` for English documentation. `FORMATS`:: A single format or a list of output formats to be built. Currently, `html`, `html-split`, `txt`, `ps`, and `pdf` are supported. `DOCDIR`:: Where to install the documentation. It defaults to [.filename]#/usr/shared/doc#. For more `make` variables supported as system-wide options in FreeBSD, refer to man:make.conf[5]. [[doc-ports-install-package]] === Updating Documentation from Ports The previous section presented a method for updating the FreeBSD documentation from sources. This section describes an alternative method which uses the Ports Collection and makes it possible to: * Install pre-built packages of the documentation, without having to locally build anything or install the documentation toolchain. * Build the documentation sources through the ports framework, making the checkout and build steps a bit easier. This method of updating the FreeBSD documentation is supported by a set of documentation ports and packages which are updated by the {doceng} on a monthly basis. These are listed in the FreeBSD Ports Collection, under the docs category (http://www.freshports.org/docs/[http://www.freshports.org/docs/]). Organization of the documentation ports is as follows: * The package:misc/freebsd-doc-en[] package or port installs all of the English documentation. * The package:misc/freebsd-doc-all[] meta-package or port installs all documentation in all available languages. * There is a package and port for each translation, such as package:misc/freebsd-doc-hu[] for the Hungarian documentation. When binary packages are used, the FreeBSD documentation will be installed in all available formats for the given language. For example, the following command will install the latest package of the Hungarian documentation: [source,shell] .... # pkg install hu-freebsd-doc .... [NOTE] ==== Packages use a format that differs from the corresponding port's name: `_lang_-freebsd-doc`, where _lang_ is the short format of the language code, such as `hu` for Hungarian, or `zh_cn` for Simplified Chinese. ==== To specify the format of the documentation, build the port instead of installing the package. For example, to build and install the English documentation: [source,shell] .... # cd /usr/ports/misc/freebsd-doc-en # make install clean .... The port provides a configuration menu where the format to build and install can be specified. By default, split HTML, similar to the format used on http://www.FreeBSD.org[http://www.FreeBSD.org], and PDF are selected. Alternately, several `make` options can be specified when building a documentation port, including: `WITH_HTML`:: Builds the HTML format with a single HTML file per document. The formatted documentation is saved to a file called [.filename]#article.html#, or [.filename]#book.html#. `WITH_PDF`:: The formatted documentation is saved to a file called [.filename]#article.pdf# or [.filename]#book.pdf#. `DOCBASE`:: Specifies where to install the documentation. It defaults to [.filename]#/usr/local/shared/doc/freebsd#. This example uses variables to install the Hungarian documentation as a PDF in the specified directory: [source,shell] .... # cd /usr/ports/misc/freebsd-doc-hu # make -DWITH_PDF DOCBASE=share/doc/freebsd/hu install clean .... Documentation packages or ports can be updated using the instructions in crossref:ports[ports,Installing Applications: Packages and Ports]. For example, the following command updates the installed Hungarian documentation using package:ports-mgmt/portmaster[] by using packages only: [source,shell] .... # portmaster -PP hu-freebsd-doc .... [[current-stable]] == Tracking a Development Branch FreeBSD has two development branches: FreeBSD-CURRENT and FreeBSD-STABLE. This section provides an explanation of each branch and its intended audience, as well as how to keep a system up-to-date with each respective branch. [[current]] === Using FreeBSD-CURRENT FreeBSD-CURRENT is the "bleeding edge" of FreeBSD development and FreeBSD-CURRENT users are expected to have a high degree of technical skill. Less technical users who wish to track a development branch should track FreeBSD-STABLE instead. FreeBSD-CURRENT is the very latest source code for FreeBSD and includes works in progress, experimental changes, and transitional mechanisms that might or might not be present in the next official release. While many FreeBSD developers compile the FreeBSD-CURRENT source code daily, there are short periods of time when the source may not be buildable. These problems are resolved as quickly as possible, but whether or not FreeBSD-CURRENT brings disaster or new functionality can be a matter of when the source code was synced. FreeBSD-CURRENT is made available for three primary interest groups: . Members of the FreeBSD community who are actively working on some part of the source tree. . Members of the FreeBSD community who are active testers. They are willing to spend time solving problems, making topical suggestions on changes and the general direction of FreeBSD, and submitting patches. . Users who wish to keep an eye on things, use the current source for reference purposes, or make the occasional comment or code contribution. FreeBSD-CURRENT should _not_ be considered a fast-track to getting new features before the next release as pre-release features are not yet fully tested and most likely contain bugs. It is not a quick way of getting bug fixes as any given commit is just as likely to introduce new bugs as to fix existing ones. FreeBSD-CURRENT is not in any way "officially supported". To track FreeBSD-CURRENT: . Join the {freebsd-current} and the {svn-src-head} lists. This is _essential_ in order to see the comments that people are making about the current state of the system and to receive important bulletins about the current state of FreeBSD-CURRENT. + The {svn-src-head} list records the commit log entry for each change as it is made, along with any pertinent information on possible side effects. + -To join these lists, go to {mailman-lists}, click on the list to subscribe to, and follow the instructions. In order to track changes to the whole source tree, not just the changes to FreeBSD-CURRENT, subscribe to the {svn-src-all}. +To join these lists, go to {mailing-lists}, click on the list to subscribe to, and follow the instructions. In order to track changes to the whole source tree, not just the changes to FreeBSD-CURRENT, subscribe to the {svn-src-all}. . Synchronize with the FreeBSD-CURRENT sources. Typically, <> is used to check out the -CURRENT code from the `head` branch of one of the Subversion mirror sites listed in crossref:mirrors[svn-mirrors,“Subversion Mirror Sites”]. . Due to the size of the repository, some users choose to only synchronize the sections of source that interest them or which they are contributing patches to. However, users that plan to compile the operating system from source must download _all_ of FreeBSD-CURRENT, not just selected portions. + Before compiling FreeBSD-CURRENT , read [.filename]#/usr/src/Makefile# very carefully and follow the instructions in <>. Read the {freebsd-current} and [.filename]#/usr/src/UPDATING# to stay up-to-date on other bootstrapping procedures that sometimes become necessary on the road to the next release. . Be active! FreeBSD-CURRENT users are encouraged to submit their suggestions for enhancements or bug fixes. Suggestions with accompanying code are always welcome. [[stable]] === Using FreeBSD-STABLE FreeBSD-STABLE is the development branch from which major releases are made. Changes go into this branch at a slower pace and with the general assumption that they have first been tested in FreeBSD-CURRENT. This is _still_ a development branch and, at any given time, the sources for FreeBSD-STABLE may or may not be suitable for general use. It is simply another engineering development track, not a resource for end-users. Users who do not have the resources to perform testing should instead run the most recent release of FreeBSD. Those interested in tracking or contributing to the FreeBSD development process, especially as it relates to the next release of FreeBSD, should consider following FreeBSD-STABLE. While the FreeBSD-STABLE branch should compile and run at all times, this cannot be guaranteed. Since more people run FreeBSD-STABLE than FreeBSD-CURRENT, it is inevitable that bugs and corner cases will sometimes be found in FreeBSD-STABLE that were not apparent in FreeBSD-CURRENT. For this reason, one should not blindly track FreeBSD-STABLE. It is particularly important _not_ to update any production servers to FreeBSD-STABLE without thoroughly testing the code in a development or testing environment. To track FreeBSD-STABLE: . Join the {freebsd-stable} in order to stay informed of build dependencies that may appear in FreeBSD-STABLE or any other issues requiring special attention. Developers will also make announcements in this mailing list when they are contemplating some controversial fix or update, giving the users a chance to respond if they have any issues to raise concerning the proposed change. + Join the relevant svn list for the branch being tracked. For example, users tracking the 9-STABLE branch should join the {svn-src-stable-9}. This list records the commit log entry for each change as it is made, along with any pertinent information on possible side effects. + -To join these lists, go to {mailman-lists}, click on the list to subscribe to, and follow the instructions. In order to track changes for the whole source tree, subscribe to {svn-src-all}. +To join these lists, go to {mailing-lists}, click on the list to subscribe to, and follow the instructions. In order to track changes for the whole source tree, subscribe to {svn-src-all}. . To install a new FreeBSD-STABLE system, install the most recent FreeBSD-STABLE release from the crossref:mirrors[mirrors,FreeBSD mirror sites] or use a monthly snapshot built from FreeBSD-STABLE. Refer to link:https://www.FreeBSD.org/snapshots/[www.freebsd.org/snapshots] for more information about snapshots. + To compile or upgrade to an existing FreeBSD system to FreeBSD-STABLE, use crossref:mirrors[svn,svn] to check out the source for the desired branch. Branch names, such as `stable/9`, are listed at link:https://www.FreeBSD.org/releng/[www.freebsd.org/releng]. . Before compiling or upgrading to FreeBSD-STABLE , read [.filename]#/usr/src/Makefile# carefully and follow the instructions in <>. Read the {freebsd-stable} and [.filename]#/usr/src/UPDATING# to keep up-to-date on other bootstrapping procedures that sometimes become necessary on the road to the next release. [[makeworld]] == Updating FreeBSD from Source Updating FreeBSD by compiling from source offers several advantages over binary updates. Code can be built with options to take advantage of specific hardware. Parts of the base system can be built with non-default settings, or left out entirely where they are not needed or desired. The build process takes longer to update a system than just installing binary updates, but allows complete customization to produce a tailored version of FreeBSD. [[updating-src-quick-start]] === Quick Start This is a quick reference for the typical steps used to update FreeBSD by building from source. Later sections describe the process in more detail. [.procedure] ==== * Update and Build + [source,shell] .... # svnlite update /usr/src <.> check /usr/src/UPDATING <.> # cd /usr/src <.> # make -j4 buildworld <.> # make -j4 kernel <.> # shutdown -r now <.> # cd /usr/src <.> # make installworld <.> # mergemaster -Ui <.> # shutdown -r now 1<.> .... <.> Get the latest version of the source. See <> for more information on obtaining and updating source. <.> Check [.filename]#/usr/src/UPDATING# for any manual steps required before or after building from source. <.> Go to the source directory. <.> Compile the world, everything except the kernel. <.> Compile and install the kernel. This is equivalent to `make buildkernel installkernel`. <.> Reboot the system to the new kernel. <.> Go to the source directory. <.> Install the world. <.> Update and merge configuration files in [.filename]#/etc/#. <.> Restart the system to use the newly-built world and kernel. ==== [[updating-src-preparing]] === Preparing for a Source Update Read [.filename]#/usr/src/UPDATING#. Any manual steps that must be performed before or after an update are described in this file. [[updating-src-obtaining-src]] === Updating the Source FreeBSD source code is located in [.filename]#/usr/src/#. The preferred method of updating this source is through the Subversion version control system. Verify that the source code is under version control: [source,shell] .... # svnlite info /usr/src Path: /usr/src Working Copy Root Path: /usr/src ... .... This indicates that [.filename]#/usr/src/# is under version control and can be updated with man:svnlite[1]: [[synching]] [source,shell] .... # svnlite update /usr/src .... The update process can take some time if the directory has not been updated recently. After it finishes, the source code is up to date and the build process described in the next section can begin. [NOTE] ==== *Obtaining the Source:* + If the output says `'/usr/src' is not a working copy`, the files there are missing or were installed with a different method. A new checkout of the source is required. [[updating-src-obtaining-src-repopath]] .FreeBSD Versions and Repository Paths [cols="10%,10%,80%", options="header"] |=== | uname -r Output | Repository Path | Description |`_X.Y_-RELEASE` |`base/releng/_X.Y_` |The Release version plus only critical security and bug fix patches. This branch is recommended for most users. |`_X.Y_-STABLE` |`base/stable/_X_` | The Release version plus all additional development on that branch. _STABLE_ refers to the Applications Binary Interface (ABI) not changing, so software compiled for earlier versions still runs. For example, software compiled to run on FreeBSD 10.1 will still run on FreeBSD 10-STABLE compiled later. STABLE branches occasionally have bugs or incompatibilities which might affect users, although these are typically fixed quickly. |`_X_-CURRENT` |`base/head/` |The latest unreleased development version of FreeBSD. The CURRENT branch can have major bugs or incompatibilities and is recommended only for advanced users. |=== Determine which version of FreeBSD is being used with man:uname[1]: [source,shell] .... # uname -r 10.3-RELEASE .... Based on <>, the source used to update `10.3-RELEASE` has a repository path of `base/releng/10.3`. That path is used when checking out the source: [source,shell] .... # mv /usr/src /usr/src.bak <.> # svnlite checkout https://svn.freebsd.org/base/releng/10.3 /usr/src <.> .... <.> Move the old directory out of the way. If there are no local modifications in this directory, it can be deleted. <.> The path from <> is added to the repository URL. The third parameter is the destination directory for the source code on the local system. ==== [[updating-src-building]] === Building from Source The _world_, or all of the operating system except the kernel, is compiled. This is done first to provide up-to-date tools to build the kernel. Then the kernel itself is built: [source,shell] .... # cd /usr/src # make buildworld # make buildkernel .... The compiled code is written to [.filename]#/usr/obj#. These are the basic steps. Additional options to control the build are described below. [[updating-src-building-clean-build]] ==== Performing a Clean Build Some versions of the FreeBSD build system leave previously-compiled code in the temporary object directory, [.filename]#/usr/obj#. This can speed up later builds by avoiding recompiling code that has not changed. To force a clean rebuild of everything, use `cleanworld` before starting a build: [source,shell] .... # make cleanworld .... [[updating-src-building-jobs]] ==== Setting the Number of Jobs Increasing the number of build jobs on multi-core processors can improve build speed. Determine the number of cores with `sysctl hw.ncpu`. Processors vary, as do the build systems used with different versions of FreeBSD, so testing is the only sure method to tell how a different number of jobs affects the build speed. For a starting point, consider values between half and double the number of cores. The number of jobs is specified with `-j`. [[updating-src-building-jobs-example]] .Increasing the Number of Build Jobs [example] ==== Building the world and kernel with four jobs: [source,shell] .... # make -j4 buildworld buildkernel .... ==== [[updating-src-building-only-kernel]] ==== Building Only the Kernel A `buildworld` must be completed if the source code has changed. After that, a `buildkernel` to build a kernel can be run at any time. To build just the kernel: [source,shell] .... # cd /usr/src # make buildkernel .... [[updating-src-building-custom-kernel]] ==== Building a Custom Kernel The standard FreeBSD kernel is based on a _kernel config file_ called [.filename]#GENERIC#. The [.filename]#GENERIC# kernel includes the most commonly-needed device drivers and options. Sometimes it is useful or necessary to build a custom kernel, adding or removing device drivers or options to fit a specific need. For example, someone developing a small embedded computer with severely limited RAM could remove unneeded device drivers or options to make the kernel slightly smaller. Kernel config files are located in [.filename]#/usr/src/sys/arch/conf/#, where _arch_ is the output from `uname -m`. On most computers, that is `amd64`, giving a config file directory of [.filename]#/usr/src/sys/amd64/conf/#. [TIP] ==== [.filename]#/usr/src# can be deleted or recreated, so it is preferable to keep custom kernel config files in a separate directory, like [.filename]#/root#. Link the kernel config file into the [.filename]#conf# directory. If that directory is deleted or overwritten, the kernel config can be re-linked into the new one. ==== A custom config file can be created by copying the [.filename]#GENERIC# config file. In this example, the new custom kernel is for a storage server, so is named [.filename]#STORAGESERVER#: [source,shell] .... # cp /usr/src/sys/amd64/conf/GENERIC /root/STORAGESERVER # cd /usr/src/sys/amd64/conf # ln -s /root/STORAGESERVER . .... [.filename]#/root/STORAGESERVER# is then edited, adding or removing devices or options as shown in man:config[5]. The custom kernel is built by setting `KERNCONF` to the kernel config file on the command line: [source,shell] .... # make buildkernel KERNCONF=STORAGESERVER .... [[updating-src-installing]] === Installing the Compiled Code After the `buildworld` and `buildkernel` steps have been completed, the new kernel and world are installed: [source,shell] .... # cd /usr/src # make installkernel # shutdown -r now # cd /usr/src # make installworld # shutdown -r now .... If a custom kernel was built, `KERNCONF` must also be set to use the new custom kernel: [source,shell] .... # cd /usr/src # make installkernel KERNCONF=STORAGESERVER # shutdown -r now # cd /usr/src # make installworld # shutdown -r now .... [[updating-src-completing]] === Completing the Update A few final tasks complete the update. Any modified configuration files are merged with the new versions, outdated libraries are located and removed, then the system is restarted. [[updating-src-completing-merge-mergemaster]] ==== Merging Configuration Files with man:mergemaster[8] man:mergemaster[8] provides an easy way to merge changes that have been made to system configuration files with new versions of those files. With `-Ui`, man:mergemaster[8] automatically updates files that have not been user-modified and installs new files that are not already present: [source,shell] .... # mergemaster -Ui .... If a file must be manually merged, an interactive display allows the user to choose which portions of the files are kept. See man:mergemaster[8] for more information. [[updating-src-completing-check-old]] ==== Checking for Outdated Files and Libraries Some obsolete files or directories can remain after an update. These files can be located: [source,shell] .... # make check-old .... and deleted: [source,shell] .... # make delete-old .... Some obsolete libraries can also remain. These can be detected with: [source,shell] .... # make check-old-libs .... and deleted with [source,shell] .... # make delete-old-libs .... Programs which were still using those old libraries will stop working when the library has been deleted. These programs must be rebuilt or replaced after deleting the old libraries. [TIP] ==== When all the old files or directories are known to be safe to delete, pressing kbd:[y] and kbd:[Enter] to delete each file can be avoided by setting `BATCH_DELETE_OLD_FILES` in the command. For example: [source,shell] .... # make BATCH_DELETE_OLD_FILES=yes delete-old-libs .... ==== [[updating-src-completing-restart]] ==== Restarting After the Update The last step after updating is to restart the computer so all the changes take effect: [source,shell] .... # shutdown -r now .... [[small-lan]] == Tracking for Multiple Machines When multiple machines need to track the same source tree, it is a waste of disk space, network bandwidth, and CPU cycles to have each system download the sources and rebuild everything. The solution is to have one machine do most of the work, while the rest of the machines mount that work via NFS. This section outlines a method of doing so. For more information about using NFS, refer to crossref:network-servers[network-nfs,"Network File System (NFS)"]. First, identify a set of machines which will run the same set of binaries, known as a _build set_. Each machine can have a custom kernel, but will run the same userland binaries. From that set, choose a machine to be the _build machine_ that the world and kernel are built on. Ideally, this is a fast machine that has sufficient spare CPU to run `make buildworld` and `make buildkernel`. Select a machine to be the _test machine_, which will test software updates before they are put into production. This _must_ be a machine that can afford to be down for an extended period of time. It can be the build machine, but need not be. All the machines in this build set need to mount [.filename]#/usr/obj# and [.filename]#/usr/src# from the build machine via NFS. For multiple build sets, [.filename]#/usr/src# should be on one build machine, and NFS mounted on the rest. Ensure that [.filename]#/etc/make.conf# and [.filename]#/etc/src.conf# on all the machines in the build set agree with the build machine. That means that the build machine must build all the parts of the base system that any machine in the build set is going to install. Also, each build machine should have its kernel name set with `KERNCONF` in [.filename]#/etc/make.conf#, and the build machine should list them all in its `KERNCONF`, listing its own kernel first. The build machine must have the kernel configuration files for each machine in its [.filename]#/usr/src/sys/arch/conf#. On the build machine, build the kernel and world as described in <>, but do not install anything on the build machine. Instead, install the built kernel on the test machine. On the test machine, mount [.filename]#/usr/src# and [.filename]#/usr/obj# via NFS. Then, run `shutdown now` to go to single-user mode in order to install the new kernel and world and run `mergemaster` as usual. When done, reboot to return to normal multi-user operations. After verifying that everything on the test machine is working properly, use the same procedure to install the new software on each of the other machines in the build set. The same methodology can be used for the ports tree. The first step is to share [.filename]#/usr/ports# via NFS to all the machines in the build set. To configure [.filename]#/etc/make.conf# to share distfiles, set `DISTDIR` to a common shared directory that is writable by whichever user `root` is mapped to by the NFS mount. Each machine should set `WRKDIRPREFIX` to a local build directory, if ports are to be built locally. Alternately, if the build system is to build and distribute packages to the machines in the build set, set `PACKAGES` on the build system to a directory similar to `DISTDIR`. diff --git a/documentation/content/pl/books/handbook/eresources/_index.adoc b/documentation/content/pl/books/handbook/eresources/_index.adoc index efc8aae875..5876a2c896 100644 --- a/documentation/content/pl/books/handbook/eresources/_index.adoc +++ b/documentation/content/pl/books/handbook/eresources/_index.adoc @@ -1,1146 +1,1146 @@ --- title: Dodatek C. Resources on the Internet part: Część V. Dodatki prev: books/handbook/bibliography next: books/handbook/pgpkeys --- [appendix] [[eresources]] = Resources on the Internet :doctype: book :icons: font :sectnums: :sectnumlevels: 6 :source-highlighter: rouge :experimental: :skip-front-matter: :toc-title: Spis treści :table-caption: Tabela :figure-caption: Rysunek :example-caption: Przykład :xrefstyle: basic :relfileprefix: ../ :outfilesuffix: :sectnumoffset: C include::shared/mirrors.adoc[] include::shared/authors.adoc[] include::shared/releases.adoc[] include::shared/pl/mailing-lists.adoc[] include::shared/pl/urls.adoc[] include::shared/pl/teams.adoc[] The rapid pace of FreeBSD progress makes print media impractical as a means of following the latest developments. Electronic resources are the best, if not often the only, way to stay informed of the latest advances. Since FreeBSD is a volunteer effort, the user community itself also generally serves as a "technical support department" of sorts, with electronic mail, web forums, and USENET news being the most effective way of reaching that community. The most important points of contact with the FreeBSD user community are outlined below. Please send other resources not mentioned here to the {freebsd-doc} so that they may also be included. [[eresources-www]] == Websites * https://forums.FreeBSD.org/[The FreeBSD Forums] provide a web based discussion forum for FreeBSD questions and technical discussion. * The http://www.youtube.com/bsdconferences[BSDConferences YouTube Channel] provides a collection of high quality videos from BSD conferences around the world. This is a great way to watch key developers give presentations about new work in FreeBSD. [[eresources-mail]] == Mailing Lists The mailing lists are the most direct way of addressing questions or opening a technical discussion to a concentrated FreeBSD audience. There are a wide variety of lists on a number of different FreeBSD topics. Sending questions to the most appropriate mailing list will invariably assure a faster and more accurate response. The charters for the various lists are given at the bottom of this document. _Please read the charter before joining or sending mail to any list_. Most list subscribers receive many hundreds of FreeBSD related messages every day, and the charters and rules for use are meant to keep the signal-to-noise ratio of the lists high. To do less would see the mailing lists ultimately fail as an effective communications medium for the Project. [NOTE] ==== _To test the ability to send email to FreeBSD lists, send a test message to {freebsd-test}._ Please do not send test messages to any other list. ==== When in doubt about what list to post a question to, see link:{freebsd-questions-article}[How to get best results from the FreeBSD-questions mailing list]. Before posting to any list, please learn about how to best use the mailing lists, such as how to help avoid frequently-repeated discussions, by reading the link:{mailing-list-faq}[Mailing List Frequently Asked Questions] (FAQ) document. Archives are kept for all of the mailing lists and can be searched using the https://www.FreeBSD.org/search/[FreeBSD World Wide Web server]. The keyword searchable archive offers an excellent way of finding answers to frequently asked questions and should be consulted before posting a question. Note that this also means that messages sent to FreeBSD mailing lists are archived in perpetuity. When protecting privacy is a concern, consider using a disposable secondary email address and posting only public information. [[eresources-summary]] === List Summary _General lists:_ The following are general lists which anyone is free (and encouraged) to join: [.informaltable] [cols="20%,80%", frame="none", options="header"] |=== | List | Purpose |link:{freebsd-advocacy-url}[freebsd-advocacy] |FreeBSD Evangelism |link:{freebsd-announce-url}[freebsd-announce] |Important events and Project milestones (moderated) |link:{freebsd-arch-url}[freebsd-arch] |Architecture and design discussions |link:{freebsd-bugbusters-url}[freebsd-bugbusters] |Discussions pertaining to the maintenance of the FreeBSD problem report database and related tools |link:{freebsd-bugs-url}[freebsd-bugs] |Bug reports |link:{freebsd-chat-url}[freebsd-chat] |Non-technical items related to the FreeBSD community |link:{freebsd-chromium-url}[freebsd-chromium] |FreeBSD-specific Chromium issues |link:{freebsd-current-url}[freebsd-current] |Discussion concerning the use of FreeBSD-CURRENT |link:{freebsd-isp-url}[freebsd-isp] |Issues for Internet Service Providers using FreeBSD |link:{freebsd-jobs-url}[freebsd-jobs] |FreeBSD employment and consulting opportunities |link:{freebsd-quarterly-calls-url}[freebsd-quarterly-calls] |Calls for quarterly status reports (moderated) |link:{freebsd-questions-url}[freebsd-questions] |User questions and technical support |link:{freebsd-security-notifications-url}[freebsd-security-notifications] |Security notifications (moderated) |link:{freebsd-stable-url}[freebsd-stable] |Discussion concerning the use of FreeBSD-STABLE |link:{freebsd-test-url}[freebsd-test] |Where to send test messages instead of to one of the actual lists |link:{freebsd-women-url}[freebsd-women] |FreeBSD advocacy for women |=== _Technical lists:_ The following lists are for technical discussion. Read the charter for each list carefully before joining or sending mail to one as there are firm guidelines for their use and content. [.informaltable] [cols="20%,80%", frame="none", options="header"] |=== | List | Purpose |link:{freebsd-acpi-url}[freebsd-acpi] |ACPI and power management development |link:{freebsd-amd64-url}[freebsd-amd64] |Porting FreeBSD to AMD64 systems (moderated) |link:{freebsd-apache-url}[freebsd-apache] |Discussion about Apache related ports |link:{freebsd-arm-url}[freebsd-arm] |Porting FreeBSD to ARM(R) processors |link:{freebsd-atm-url}[freebsd-atm] |Using ATM networking with FreeBSD |link:{freebsd-bluetooth-url}[freebsd-bluetooth] |Using Bluetooth(R) technology in FreeBSD |link:{freebsd-cloud-url}[freebsd-cloud] |FreeBSD on cloud platforms (EC2, GCE, Azure, etc.) |link:{freebsd-cluster-url}[freebsd-cluster] |Using FreeBSD in a clustered environment |link:{freebsd-database-url}[freebsd-database] |Discussing database use and development under FreeBSD |link:{freebsd-desktop-url}[freebsd-desktop] |Using and improving FreeBSD on the desktop |link:{dev-ci-url}[dev-ci] |Build and test reports from the Continuous Integration servers |link:{dev-reviews-url}[dev-reviews] |Notifications of the FreeBSD review system |link:{freebsd-doc-url}[freebsd-doc] |Creating FreeBSD related documents |link:{freebsd-drivers-url}[freebsd-drivers] |Writing device drivers for FreeBSD |link:{freebsd-dtrace-url}[freebsd-dtrace] |Using and working on DTrace in FreeBSD |link:{freebsd-eclipse-url}[freebsd-eclipse] |FreeBSD users of Eclipse IDE, tools, rich client applications and ports. |link:{freebsd-elastic-url}[freebsd-elastic] |FreeBSD-specific ElasticSearch discussions |link:{freebsd-embedded-url}[freebsd-embedded] |Using FreeBSD in embedded applications |link:{freebsd-eol-url}[freebsd-eol] |Peer support of FreeBSD-related software that is no longer supported by the FreeBSD Project. |link:{freebsd-emulation-url}[freebsd-emulation] |Emulation of other systems such as Linux/MS-DOS(R)/Windows(R) |link:{freebsd-enlightenment-url}[freebsd-enlightenment] |Porting Enlightenment and Enlightenment applications |link:{freebsd-erlang-url}[freebsd-erlang] |FreeBSD-specific Erlang discussions |link:{freebsd-firewire-url}[freebsd-firewire] |FreeBSD FireWire(R) (iLink, IEEE 1394) technical discussion |link:{freebsd-fortran-url}[freebsd-fortran] |Fortran on FreeBSD |link:{freebsd-fs-url}[freebsd-fs] |File systems |link:{freebsd-games-url}[freebsd-games] |Support for Games on FreeBSD |link:{freebsd-gecko-url}[freebsd-gecko] |Gecko Rendering Engine issues |link:{freebsd-geom-url}[freebsd-geom] |GEOM-specific discussions and implementations |link:{freebsd-git-url}[freebsd-git] |Discussion of git use in the FreeBSD project |link:{freebsd-gnome-url}[freebsd-gnome] |Porting GNOME and GNOME applications |link:{freebsd-hackers-url}[freebsd-hackers] |General technical discussion |link:{freebsd-haskell-url}[freebsd-haskell] |FreeBSD-specific Haskell issues and discussions |link:{freebsd-hardware-url}[freebsd-hardware] |General discussion of hardware for running FreeBSD |link:{freebsd-i18n-url}[freebsd-i18n] |FreeBSD Internationalization |link:{freebsd-infiniband-url}[freebsd-infiniband] |Infiniband on FreeBSD |link:{freebsd-ipfw-url}[freebsd-ipfw] |Technical discussion concerning the redesign of the IP firewall code |link:{freebsd-isdn-url}[freebsd-isdn] |ISDN developers |link:{freebsd-jail-url}[freebsd-jail] |Discussion about the man:jail[8] facility |link:{freebsd-java-url}[freebsd-java] |Java(TM) developers and people porting JDK(TM)s to FreeBSD |link:{freebsd-kde-url}[freebsd-kde] |Porting KDE and KDE applications |link:{freebsd-lfs-url}[freebsd-lfs] |Porting LFS to FreeBSD |link:{freebsd-mips-url}[freebsd-mips] |Porting FreeBSD to MIPS(R) |link:{freebsd-mono-url}[freebsd-mono] |Mono and C# applications on FreeBSD |link:{freebsd-multimedia-url}[freebsd-multimedia] |Multimedia applications |link:{freebsd-new-bus-url}[freebsd-new-bus] |Technical discussions about bus architecture |link:{freebsd-net-url}[freebsd-net] |Networking discussion and TCP/IP source code |link:{freebsd-numerics-url}[freebsd-numerics] |Discussions of high quality implementation of libm functions |link:{freebsd-ocaml-url}[freebsd-ocaml] |FreeBSD-specific OCaml discussions |link:{freebsd-office-url}[freebsd-office] |Office applications on FreeBSD |link:{freebsd-performance-url}[freebsd-performance] |Performance tuning questions for high performance/load installations |link:{freebsd-perl-url}[freebsd-perl] |Maintenance of a number of Perl-related ports |link:{freebsd-pf-url}[freebsd-pf] |Discussion and questions about the packet filter firewall system |link:{freebsd-pkg-url}[freebsd-pkg] |Binary package management and package tools discussion |link:{freebsd-pkg-fallout-url}[freebsd-pkg-fallout] |Fallout logs from package building |link:{freebsd-pkgbase-url}[freebsd-pkgbase] |Packaging the FreeBSD base system |link:{freebsd-platforms-url}[freebsd-platforms] |Concerning ports to non Intel(R) architecture platforms |link:{freebsd-ports-url}[freebsd-ports] |Discussion of the Ports Collection |link:{freebsd-ports-announce-url}[freebsd-ports-announce] |Important news and instructions about the Ports Collection (moderated) |link:{freebsd-ports-bugs-url}[freebsd-ports-bugs] |Discussion of the ports bugs/PRs |link:{freebsd-ppc-url}[freebsd-ppc] |Porting FreeBSD to the PowerPC(R) |link:{freebsd-proliant-url}[freebsd-proliant] |Technical discussion of FreeBSD on HP ProLiant server platforms |link:{freebsd-python-url}[freebsd-python] |FreeBSD-specific Python issues |link:{freebsd-rc-url}[freebsd-rc] |Discussion related to the [.filename]#rc.d# system and its development |link:{freebsd-realtime-url}[freebsd-realtime] |Development of realtime extensions to FreeBSD |link:{freebsd-ruby-url}[freebsd-ruby] |FreeBSD-specific Ruby discussions |link:{freebsd-scsi-url}[freebsd-scsi] |The SCSI subsystem |link:{freebsd-security-url}[freebsd-security] |Security issues affecting FreeBSD |link:{freebsd-snapshots-url}[freebsd-snapshots] |FreeBSD Development Snapshot Announcements |link:{freebsd-sparc64-url}[freebsd-sparc64] |Porting FreeBSD to SPARC(R) based systems |link:{freebsd-standards-url}[freebsd-standards] |FreeBSD's conformance to the C99 and the POSIX(R) standards |link:{freebsd-sysinstall-url}[freebsd-sysinstall] |man:sysinstall[8] development |link:{freebsd-tcltk-url}[freebsd-tcltk] |FreeBSD-specific Tcl/Tk discussions |link:{freebsd-testing-url}[freebsd-testing] |Testing on FreeBSD |link:{freebsd-tex-url}[freebsd-tex] |Porting TeX and its applications to FreeBSD |link:{freebsd-threads-url}[freebsd-threads] |Threading in FreeBSD |link:{freebsd-tilera-url}[freebsd-tilera] |Porting FreeBSD to the Tilera family of CPUs |link:{freebsd-tokenring-url}[freebsd-tokenring] |Support Token Ring in FreeBSD |link:{freebsd-toolchain-url}[freebsd-toolchain] |Maintenance of FreeBSD's integrated toolchain |link:{freebsd-translators-url}[freebsd-translators] |Translating FreeBSD documents and programs |link:{freebsd-transport-url}[freebsd-transport] |Discussions of transport level network protocols in FreeBSD |link:{freebsd-usb-url}[freebsd-usb] |Discussing FreeBSD support for USB |link:{freebsd-virtualization-url}[freebsd-virtualization] |Discussion of various virtualization techniques supported by FreeBSD |link:{freebsd-vuxml-url}[freebsd-vuxml] |Discussion on VuXML infrastructure |link:{freebsd-x11-url}[freebsd-x11] |Maintenance and support of X11 on FreeBSD |link:{freebsd-xen-url}[freebsd-xen] |Discussion of the FreeBSD port to Xen(TM) - implementation and usage |link:{freebsd-xfce-url}[freebsd-xfce] |XFCE for FreeBSD - porting and maintaining |link:{freebsd-zope-url}[freebsd-zope] |Zope for FreeBSD - porting and maintaining |=== _Limited lists:_ The following lists are for more specialized (and demanding) audiences and are probably not of interest to the general public. It is also a good idea to establish a presence in the technical lists before joining one of these limited lists in order to understand the communications etiquette involved. [.informaltable] [cols="20%,80%", frame="none", options="header"] |=== | List | Purpose |link:{freebsd-hubs-url}[freebsd-hubs] |People running mirror sites (infrastructural support) |link:{freebsd-user-groups-url}[freebsd-user-groups] |User group coordination |link:{freebsd-wip-status-url}[freebsd-wip-status] |FreeBSD Work-In-Progress Status |link:{freebsd-wireless-url}[freebsd-wireless] |Discussions of 802.11 stack, tools, device driver development |=== _Digest lists:_ All of the above lists are available in a digest format. Once subscribed to a list, the digest options can be changed in the account options section. _SVN lists:_ The following lists are for people interested in seeing the log messages for changes to various areas of the source tree. They are _Read-Only_ lists and should not have mail sent to them. [.informaltable] [cols="20%,20%,60%", frame="none", options="header"] |=== | List | Source area | Area Description (source for) |link:{svn-doc-all-url}[svn-doc-all] |[.filename]#/usr/doc# |All changes to the doc Subversion repository (except for [.filename]#user#, [.filename]#projects# and [.filename]#translations#) |link:{svn-doc-head-url}[svn-doc-head] |[.filename]#/usr/doc# |All changes to the "head" branch of the doc Subversion repository |link:{svn-doc-projects-url}[svn-doc-projects] |[.filename]#/usr/doc/projects# |All changes to the [.filename]#projects# area of the doc Subversion repository |link:{svn-doc-svnadmin-url}[svn-doc-svnadmin] |[.filename]#/usr/doc# |All changes to the administrative scripts, hooks, and other configuration data of the doc Subversion repository |link:{svn-ports-all-url}[svn-ports-all] |[.filename]#/usr/ports# |All changes to the ports Subversion repository |link:{svn-ports-head-url}[svn-ports-head] |[.filename]#/usr/ports# |All changes to the "head" branch of the ports Subversion repository |link:{svn-ports-svnadmin-url}[svn-ports-svnadmin] |[.filename]#/usr/ports# |All changes to the administrative scripts, hooks, and other configuration data of the ports Subversion repository |link:{svn-src-all-url}[svn-src-all] |[.filename]#/usr/src# |All changes to the src Subversion repository (except for [.filename]#user# and [.filename]#projects#) |link:{svn-src-head-url}[svn-src-head] |[.filename]#/usr/src# |All changes to the "head" branch of the src Subversion repository (the FreeBSD-CURRENT branch) |link:{svn-src-projects-url}[svn-src-projects] |[.filename]#/usr/projects# |All changes to the [.filename]#projects# area of the src Subversion repository |link:{svn-src-release-url}[svn-src-release] |[.filename]#/usr/src# |All changes to the [.filename]#releases# area of the src Subversion repository |link:{svn-src-releng-url}[svn-src-releng] |[.filename]#/usr/src# |All changes to the [.filename]#releng# branches of the src Subversion repository (the security / release engineering branches) |link:{svn-src-stable-url}[svn-src-stable] |[.filename]#/usr/src# |All changes to the all stable branches of the src Subversion repository |link:{svn-src-stable-6-url}[svn-src-stable-6] |[.filename]#/usr/src# |All changes to the [.filename]#stable/6# branch of the src Subversion repository |link:{svn-src-stable-7-url}[svn-src-stable-7] |[.filename]#/usr/src# |All changes to the [.filename]#stable/7# branch of the src Subversion repository |link:{svn-src-stable-8-url}[svn-src-stable-8] |[.filename]#/usr/src# |All changes to the [.filename]#stable/8# branch of the src Subversion repository |link:{svn-src-stable-9-url}[svn-src-stable-9] |[.filename]#/usr/src# |All changes to the [.filename]#stable/9# branch of the src Subversion repository |link:{svn-src-stable-10-url}[svn-src-stable-10] |[.filename]#/usr/src# |All changes to the [.filename]#stable/10# branch of the src Subversion repository |link:{svn-src-stable-11-url}[svn-src-stable-11] |[.filename]#/usr/src# |All changes to the [.filename]#stable/11# branch of the src Subversion repository |link:{svn-src-stable-12-url}[svn-src-stable-12] |[.filename]#/usr/src# |All changes to the [.filename]#stable/12# branch of the src Subversion repository |link:{svn-src-stable-other-url}[svn-src-stable-other] |[.filename]#/usr/src# |All changes to the older [.filename]#stable# branches of the src Subversion repository |link:{svn-src-svnadmin-url}[svn-src-svnadmin] |[.filename]#/usr/src# |All changes to the administrative scripts, hooks, and other configuration data of the src Subversion repository |link:{svn-src-user-url}[svn-src-user] |[.filename]#/usr/src# |All changes to the experimental [.filename]#user# area of the src Subversion repository |link:{svn-src-vendor-url}[svn-src-vendor] |[.filename]#/usr/src# |All changes to the vendor work area of the src Subversion repository |=== [[eresources-subscribe]] === How to Subscribe -To subscribe to a list, click the list name at {mailman-lists-url}. The page that is displayed should contain all of the necessary subscription instructions for that list. +To subscribe to a list, click the list name at {mailing-lists-url}. The page that is displayed should contain all of the necessary subscription instructions for that list. To actually post to a given list, send mail to mailto:listname@FreeBSD.org[listname@FreeBSD.org]. It will then be redistributed to mailing list members world-wide. To unsubscribe from a list, click on the URL found at the bottom of every email received from the list. It is also possible to send an email to mailto:listname-unsubscribe@FreeBSD.org[listname-unsubscribe@FreeBSD.org] to unsubscribe. It is important to keep discussion in the technical mailing lists on a technical track. To only receive important announcements, instead join the {freebsd-announce}, which is intended for infrequent traffic. [[eresources-charters]] === List Charters _All_ FreeBSD mailing lists have certain basic rules which must be adhered to by anyone using them. Failure to comply with these guidelines will result in two (2) written warnings from the FreeBSD Postmaster mailto:postmaster@FreeBSD.org[postmaster@FreeBSD.org], after which, on a third offense, the poster will removed from all FreeBSD mailing lists and filtered from further posting to them. We regret that such rules and measures are necessary at all, but today's Internet is a pretty harsh environment, it would seem, and many fail to appreciate just how fragile some of its mechanisms are. Rules of the road: * The topic of any posting should adhere to the basic charter of the list it is posted to. If the list is about technical issues, the posting should contain technical discussion. Ongoing irrelevant chatter or flaming only detracts from the value of the mailing list for everyone on it and will not be tolerated. For free-form discussion on no particular topic, the {freebsd-chat} is freely available and should be used instead. * No posting should be made to more than 2 mailing lists, and only to 2 when a clear and obvious need to post to both lists exists. For most lists, there is already a great deal of subscriber overlap and except for the most esoteric mixes (say "-stable & -scsi"), there really is no reason to post to more than one list at a time. If a message is received with multiple mailing lists on the `Cc` line, trim the `Cc` line before replying. _The person who replies is still responsible for cross-posting, no matter who the originator might have been._ * Personal attacks and profanity (in the context of an argument) are not allowed, and that includes users and developers alike. Gross breaches of netiquette, like excerpting or reposting private mail when permission to do so was not and would not be forthcoming, are frowned upon but not specifically enforced. _However_, there are also very few cases where such content would fit within the charter of a list and it would therefore probably rate a warning (or ban) on that basis alone. * Advertising of non-FreeBSD related products or services is strictly prohibited and will result in an immediate ban if it is clear that the offender is advertising by spam. _Individual list charters:_ link:{freebsd-acpi-url}[freebsd-acpi]:: _ACPI and power management development_ link:{freebsd-announce-url}[freebsd-announce]:: _Important events / milestones_ + This is the mailing list for people interested only in occasional announcements of significant FreeBSD events. This includes announcements about snapshots and other releases. It contains announcements of new FreeBSD capabilities. It may contain calls for volunteers etc. This is a low volume, strictly moderated mailing list. link:{freebsd-arch-url}[freebsd-arch]:: _Architecture and design discussions_ + This list is for discussion of the FreeBSD architecture. Messages will mostly be kept strictly technical in nature. Examples of suitable topics are: ** How to re-vamp the build system to have several customized builds running at the same time. ** What needs to be fixed with VFS to make Heidemann layers work. ** How do we change the device driver interface to be able to use the same drivers cleanly on many buses and architectures. ** How to write a network driver. link:{freebsd-bluetooth-url}[freebsd-bluetooth]:: _Bluetooth(R) in FreeBSD_ + This is the forum where FreeBSD's Bluetooth(R) users congregate. Design issues, implementation details, patches, bug reports, status reports, feature requests, and all matters related to Bluetooth(R) are fair game. link:{freebsd-bugbusters-url}[freebsd-bugbusters]:: _Coordination of the Problem Report handling effort_ + The purpose of this list is to serve as a coordination and discussion forum for the Bugmeister, his Bugbusters, and any other parties who have a genuine interest in the PR database. This list is not for discussions about specific bugs, patches or PRs. link:{freebsd-bugs-url}[freebsd-bugs]:: _Bug reports_ + This is the mailing list for reporting bugs in FreeBSD. Whenever possible, bugs should be submitted using the https://bugs.freebsd.org/bugzilla/enter_bug.cgi[web interface] to it. link:{freebsd-chat-url}[freebsd-chat]:: _Non technical items related to the FreeBSD community_ + This list contains the overflow from the other lists about non-technical, social information. It includes discussion about whether Jordan looks like a toon ferret or not, whether or not to type in capitals, who is drinking too much coffee, where the best beer is brewed, who is brewing beer in their basement, and so on. Occasional announcements of important events (such as upcoming parties, weddings, births, new jobs, etc) can be made to the technical lists, but the follow ups should be directed to this -chat list. link:{freebsd-chromium-url}[freebsd-chromium]:: _FreeBSD-specific Chromium issues_ + This is a list for the discussion of Chromium support for FreeBSD. This is a technical list to discuss development and installation of Chromium. link:{freebsd-cloud-url}[freebsd-cloud]:: _Running FreeBSD on various cloud platforms_ + This list discusses running FreeBSD on Amazon EC2, Google Compute Engine, Microsoft Azure, and other cloud computing platforms. _FreeBSD core team_:: This is an internal mailing list for use by the core members. Messages can be sent to it when a serious FreeBSD-related matter requires arbitration or high-level scrutiny. link:{freebsd-current-url}[freebsd-current]:: _Discussions about the use of FreeBSD-CURRENT_ + This is the mailing list for users of FreeBSD-CURRENT. It includes warnings about new features coming out in -CURRENT that will affect the users, and instructions on steps that must be taken to remain -CURRENT. Anyone running "CURRENT" must subscribe to this list. This is a technical mailing list for which strictly technical content is expected. link:{freebsd-desktop-url}[freebsd-desktop]:: _Using and improving FreeBSD on the desktop_ + This is a forum for discussion of FreeBSD on the desktop. It is primarily a place for desktop porters and users to discuss issues and improve FreeBSD's desktop support. link:{dev-ci-url}[dev-ci]:: _Continuous Integration reports of build and test results_ + All Continuous Integration reports of build and test results link:{dev-reviews-url}[dev-reviews]:: _Notifications of work in progress in FreeBSD's review tool_ + Automated notifications of work in progress for review in FreeBSD's review tools, including patches. link:{freebsd-doc-url}[freebsd-doc]:: _Documentation Project_ + This mailing list is for the discussion of issues and projects related to the creation of documentation for FreeBSD. The members of this mailing list are collectively referred to as "The FreeBSD Documentation Project". It is an open list; feel free to join and contribute! link:{freebsd-drivers-url}[freebsd-drivers]:: _Writing device drivers for FreeBSD_ + This is a forum for technical discussions related to device drivers on FreeBSD. It is primarily a place for device driver writers to ask questions about how to write device drivers using the APIs in the FreeBSD kernel. link:{freebsd-dtrace-url}[freebsd-dtrace]:: _Using and working on DTrace in FreeBSD_ + DTrace is an integrated component of FreeBSD that provides a framework for understanding the kernel as well as user space programs at run time. The mailing list is an archived discussion for developers of the code as well as those using it. link:{freebsd-eclipse-url}[freebsd-eclipse]:: _FreeBSD users of Eclipse IDE, tools, rich client applications and ports._ + The intention of this list is to provide mutual support for everything to do with choosing, installing, using, developing and maintaining the Eclipse IDE, tools, rich client applications on the FreeBSD platform and assisting with the porting of Eclipse IDE and plugins to the FreeBSD environment. + The intention is also to facilitate exchange of information between the Eclipse community and the FreeBSD community to the mutual benefit of both. + Although this list is focused primarily on the needs of Eclipse users it will also provide a forum for those who would like to develop FreeBSD specific applications using the Eclipse framework. link:{freebsd-embedded-url}[freebsd-embedded]:: _Using FreeBSD in embedded applications_ + This list discusses topics related to using FreeBSD in embedded systems. This is a technical mailing list for which strictly technical content is expected. For the purpose of this list, embedded systems are those computing devices which are not desktops and which usually serve a single purpose as opposed to being general computing environments. Examples include, but are not limited to, all kinds of phone handsets, network equipment such as routers, switches and PBXs, remote measuring equipment, PDAs, Point Of Sale systems, and so on. link:{freebsd-emulation-url}[freebsd-emulation]:: _Emulation of other systems such as Linux/MS-DOS(R)/Windows(R)_ + This is a forum for technical discussions related to running programs written for other operating systems on FreeBSD. link:{freebsd-enlightenment-url}[freebsd-enlightenment]:: _Enlightenment_ + Discussions concerning the Enlightenment Desktop Environment for FreeBSD systems. This is a technical mailing list for which strictly technical content is expected. link:{freebsd-eol-url}[freebsd-eol]:: _Peer support of FreeBSD-related software that is no longer supported by the FreeBSD Project._ + This list is for those interested in providing or making use of peer support of FreeBSD-related software for which the FreeBSD Project no longer provides official support in the form of security advisories and patches. link:{freebsd-firewire-url}[freebsd-firewire]:: _FireWire(R) (iLink, IEEE 1394)_ + This is a mailing list for discussion of the design and implementation of a FireWire(R) (aka IEEE 1394 aka iLink) subsystem for FreeBSD. Relevant topics specifically include the standards, bus devices and their protocols, adapter boards/cards/chips sets, and the architecture and implementation of code for their proper support. link:{freebsd-fortran-url}[freebsd-fortran]:: _Fortran on FreeBSD_ + This is the mailing list for discussion of Fortran related ports on FreeBSD: compilers, libraries, scientific and engineering applications from laptops to HPC clusters. link:{freebsd-fs-url}[freebsd-fs]:: _File systems_ + Discussions concerning FreeBSD filesystems. This is a technical mailing list for which strictly technical content is expected. link:{freebsd-games-url}[freebsd-games]:: _Games on FreeBSD_ + This is a technical list for discussions related to bringing games to FreeBSD. It is for individuals actively working on porting games to FreeBSD, to bring up problems or discuss alternative solutions. Individuals interested in following the technical discussion are also welcome. link:{freebsd-gecko-url}[freebsd-gecko]:: _Gecko Rendering Engine_ + This is a forum about Gecko applications using FreeBSD. + Discussion centers around Gecko Ports applications, their installation, their development and their support within FreeBSD. link:{freebsd-geom-url}[freebsd-geom]:: _GEOM_ + Discussions specific to GEOM and related implementations. This is a technical mailing list for which strictly technical content is expected. link:{freebsd-git-url}[freebsd-git]:: _Use of git in the FreeBSD project_ + Discussions of how to use git in FreeBSD infrastructure including the github mirror and other uses of git for project collaboration. Discussion area for people using git against the FreeBSD github mirror. People wanting to get started with the mirror or git in general on FreeBSD can ask here. link:{freebsd-gnome-url}[freebsd-gnome]:: _GNOME_ + Discussions concerning The GNOME Desktop Environment for FreeBSD systems. This is a technical mailing list for which strictly technical content is expected. link:{freebsd-infiniband-url}[freebsd-infiniband]:: _Infiniband on FreeBSD_ + Technical mailing list discussing Infiniband, OFED, and OpenSM on FreeBSD. link:{freebsd-ipfw-url}[freebsd-ipfw]:: _IP Firewall_ + This is the forum for technical discussions concerning the redesign of the IP firewall code in FreeBSD. This is a technical mailing list for which strictly technical content is expected. link:{freebsd-isdn-url}[freebsd-isdn]:: _ISDN Communications_ + This is the mailing list for people discussing the development of ISDN support for FreeBSD. link:{freebsd-java-url}[freebsd-java]:: _Java(TM) Development_ + This is the mailing list for people discussing the development of significant Java(TM) applications for FreeBSD and the porting and maintenance of JDK(TM)s. [[eresources-charters-jobs]] link:{freebsd-jobs-url}[freebsd-jobs]:: _Jobs offered and sought_ + This is a forum for posting employment notices specifically related to FreeBSD and resumes from those seeking FreeBSD-related employment. This is _not_ a mailing list for general employment issues since adequate forums for that already exist elsewhere. + Note that this list, like other `FreeBSD.org` mailing lists, is distributed worldwide. Be clear about the geographic location and the extent to which telecommuting or assistance with relocation is available. + Email should use open formats only - preferably plain text, but basic Portable Document Format (PDF), HTML, and a few others are acceptable to many readers. Closed formats such as Microsoft(R) Word ([.filename]#.doc#) will be rejected by the mailing list server. link:{freebsd-kde-url}[freebsd-kde]:: _KDE_ + Discussions concerning KDE on FreeBSD systems. This is a technical mailing list for which strictly technical content is expected. link:{freebsd-hackers-url}[freebsd-hackers]:: _Technical discussions_ + This is a forum for technical discussions related to FreeBSD. This is the primary technical mailing list. It is for individuals actively working on FreeBSD, to bring up problems or discuss alternative solutions. Individuals interested in following the technical discussion are also welcome. This is a technical mailing list for which strictly technical content is expected. link:{freebsd-hardware-url}[freebsd-hardware]:: _General discussion of FreeBSD hardware_ + General discussion about the types of hardware that FreeBSD runs on, various problems and suggestions concerning what to buy or avoid. link:{freebsd-hubs-url}[freebsd-hubs]:: _Mirror sites_ + Announcements and discussion for people who run FreeBSD mirror sites. link:{freebsd-isp-url}[freebsd-isp]:: _Issues for Internet Service Providers_ + This mailing list is for discussing topics relevant to Internet Service Providers (ISPs) using FreeBSD. This is a technical mailing list for which strictly technical content is expected. link:{freebsd-mono-url}[freebsd-mono]:: _Mono and C# applications on FreeBSD_ + This is a list for discussions related to the Mono development framework on FreeBSD. This is a technical mailing list. It is for individuals actively working on porting Mono or C# applications to FreeBSD, to bring up problems or discuss alternative solutions. Individuals interested in following the technical discussion are also welcome. link:{freebsd-ocaml-url}[freebsd-ocaml]:: _FreeBSD-specific OCaml discussions_ + This is a list for discussions related to the OCaml support on FreeBSD. This is a technical mailing list. It is for individuals working on OCaml ports, 3rd party libraries and frameworks. Individuals interested in the technical discussion are also welcome. link:{freebsd-office-url}[freebsd-office]:: _Office applications on FreeBSD_ + Discussion centers around office applications, their installation, their development and their support within FreeBSD. link:{freebsd-ops-announce-url}[freebsd-ops-announce]:: _Project Infrastructure Announcements_ + This is the mailing list for people interested in changes and issues related to the FreeBSD.org Project infrastructure. + This moderated list is strictly for announcements: no replies, requests, discussions, or opinions. link:{freebsd-performance-url}[freebsd-performance]:: _Discussions about tuning or speeding up FreeBSD_ + This mailing list exists to provide a place for hackers, administrators, and/or concerned parties to discuss performance related topics pertaining to FreeBSD. Acceptable topics includes talking about FreeBSD installations that are either under high load, are experiencing performance problems, or are pushing the limits of FreeBSD. Concerned parties that are willing to work toward improving the performance of FreeBSD are highly encouraged to subscribe to this list. This is a highly technical list ideally suited for experienced FreeBSD users, hackers, or administrators interested in keeping FreeBSD fast, robust, and scalable. This list is not a question-and-answer list that replaces reading through documentation, but it is a place to make contributions or inquire about unanswered performance related topics. link:{freebsd-pf-url}[freebsd-pf]:: _Discussion and questions about the packet filter firewall system_ + Discussion concerning the packet filter (pf) firewall system in terms of FreeBSD. Technical discussion and user questions are both welcome. This list is also a place to discuss the ALTQ QoS framework. link:{freebsd-pkg-url}[freebsd-pkg]:: _Binary package management and package tools discussion_ + Discussion of all aspects of managing FreeBSD systems by using binary packages to install software, including binary package toolkits and formats, their development and support within FreeBSD, package repository management, and third party packages. + Note that discussion of ports which fail to generate packages correctly should generally be considered as ports problems, and so inappropriate for this list. link:{freebsd-pkg-fallout-url}[freebsd-pkg-fallout]:: _Fallout logs from package building_ + All packages building failures logs from the package building clusters link:{freebsd-pkgbase-url}[freebsd-pkgbase]:: _Packaging the FreeBSD base system._ + Discussions surrounding implementation and issues regarding packaging the FreeBSD base system. link:{freebsd-platforms-url}[freebsd-platforms]:: _Porting to Non Intel(R) platforms_ + Cross-platform FreeBSD issues, general discussion and proposals for non Intel(R) FreeBSD ports. This is a technical mailing list for which strictly technical content is expected. link:{freebsd-ports-url}[freebsd-ports]:: _Discussion of "ports"_ + Discussions concerning FreeBSD's "ports collection" ([.filename]#/usr/ports#), ports infrastructure, and general ports coordination efforts. This is a technical mailing list for which strictly technical content is expected. link:{freebsd-ports-announce-url}[freebsd-ports-announce]:: _Important news and instructions about the FreeBSD "Ports Collection"_ + Important news for developers, porters, and users of the "Ports Collection" ([.filename]#/usr/ports#), including architecture/infrastructure changes, new capabilities, critical upgrade instructions, and release engineering information. This is a low-volume mailing list, intended for announcements. link:{freebsd-ports-bugs-url}[freebsd-ports-bugs]:: _Discussion of "ports" bugs_ + Discussions concerning problem reports for FreeBSD's "ports collection" ([.filename]#/usr/ports#), proposed ports, or modifications to ports. This is a technical mailing list for which strictly technical content is expected. link:{freebsd-proliant-url}[freebsd-proliant]:: _Technical discussion of FreeBSD on HP ProLiant server platforms_ + This mailing list is to be used for the technical discussion of the usage of FreeBSD on HP ProLiant servers, including the discussion of ProLiant-specific drivers, management software, configuration tools, and BIOS updates. As such, this is the primary place to discuss the hpasmd, hpasmcli, and hpacucli modules. link:{freebsd-python-url}[freebsd-python]:: _Python on FreeBSD_ + This is a list for discussions related to improving Python-support on FreeBSD. This is a technical mailing list. It is for individuals working on porting Python, its third party modules and Zope stuff to FreeBSD. Individuals interested in following the technical discussion are also welcome. link:{freebsd-questions-url}[freebsd-questions]:: _User questions_ + This is the mailing list for questions about FreeBSD. Do not send "how to" questions to the technical lists unless the question is quite technical. link:{freebsd-ruby-url}[freebsd-ruby]:: _FreeBSD-specific Ruby discussions_ + This is a list for discussions related to the Ruby support on FreeBSD. This is a technical mailing list. It is for individuals working on Ruby ports, third party libraries and frameworks. + Individuals interested in the technical discussion are also welcome. link:{freebsd-scsi-url}[freebsd-scsi]:: _SCSI subsystem_ + This is the mailing list for people working on the SCSI subsystem for FreeBSD. This is a technical mailing list for which strictly technical content is expected. link:{freebsd-security-url}[freebsd-security]:: _Security issues_ + FreeBSD computer security issues (DES, Kerberos, known security holes and fixes, etc). This is a technical mailing list for which strictly technical discussion is expected. Note that this is not a question-and-answer list, but that contributions (BOTH question AND answer) to the FAQ are welcome. link:{freebsd-security-notifications-url}[freebsd-security-notifications]:: _Security Notifications_ + Notifications of FreeBSD security problems and fixes. This is not a discussion list. The discussion list is FreeBSD-security. link:{freebsd-snapshots-url}[freebsd-snapshots]:: _FreeBSD Development Snapshot Announcements_ + This list provides notifications about the availability of new FreeBSD development snapshots for the head/ and stable/ branches. link:{freebsd-stable-url}[freebsd-stable]:: _Discussions about the use of FreeBSD-STABLE_ + This is the mailing list for users of FreeBSD-STABLE. "STABLE" is the branch where development continues after a RELEASE, including bug fixes and new features. The ABI is kept stable for binary compatibility. It includes warnings about new features coming out in -STABLE that will affect the users, and instructions on steps that must be taken to remain -STABLE. Anyone running "STABLE" should subscribe to this list. This is a technical mailing list for which strictly technical content is expected. link:{freebsd-standards-url}[freebsd-standards]:: _C99 POSIX Conformance_ + This is a forum for technical discussions related to FreeBSD Conformance to the C99 and the POSIX standards. link:{freebsd-teaching-url}[freebsd-teaching]:: _Teaching with FreeBSD_ + Non technical mailing list discussing teaching with FreeBSD. link:{freebsd-testing-url}[freebsd-testing]:: _Testing on FreeBSD_ + Technical mailing list discussing testing on FreeBSD, including ATF/Kyua, test build infrastructure, port tests to FreeBSD from other operating systems (NetBSD, ...), etc. link:{freebsd-tex-url}[freebsd-tex]:: _Porting TeX and its applications to FreeBSD_ + This is a technical mailing list for discussions related to TeX and its applications on FreeBSD. It is for individuals actively working on porting TeX to FreeBSD, to bring up problems or discuss alternative solutions. Individuals interested in following the technical discussion are also welcome. link:{freebsd-toolchain-url}[freebsd-toolchain]:: _Maintenance of FreeBSD's integrated toolchain_ + This is the mailing list for discussions related to the maintenance of the toolchain shipped with FreeBSD. This could include the state of Clang and GCC, but also pieces of software such as assemblers, linkers and debuggers. link:{freebsd-transport-url}[freebsd-transport]:: _Discussions of transport level network protocols in FreeBSD_ + The transport mailing list exists for the discussion of issues and designs around the transport level protocols in the FreeBSD network stack, including TCP, SCTP and UDP. Other networking topics, including driver specific and network protocol issues should be discussed on the {freebsd-net}. link:{freebsd-translators-url}[freebsd-translators]:: _Translating FreeBSD documents and programs_ + A discussion list where translators of FreeBSD documents from English into other languages can talk about translation methods and tools. New members are asked to introduce themselves and mention the languages they are interested in translating. link:{freebsd-usb-url}[freebsd-usb]:: _Discussing FreeBSD support for USB_ + This is a mailing list for technical discussions related to FreeBSD support for USB. link:{freebsd-user-groups-url}[freebsd-user-groups]:: _User Group Coordination List_ + This is the mailing list for the coordinators from each of the local area Users Groups to discuss matters with each other and a designated individual from the Core Team. This mail list should be limited to meeting synopsis and coordination of projects that span User Groups. link:{freebsd-virtualization-url}[freebsd-virtualization]:: _Discussion of various virtualization techniques supported by FreeBSD_ + A list to discuss the various virtualization techniques supported by FreeBSD. On one hand the focus will be on the implementation of the basic functionality as well as adding new features. On the other hand users will have a forum to ask for help in case of problems or to discuss their use cases. link:{freebsd-wip-status-url}[freebsd-wip-status]:: _FreeBSD Work-In-Progress Status_ + This mailing list can be used by developers to announce the creation and progress of FreeBSD related work. Messages will be moderated. It is suggested to send the message "To:" a more topical FreeBSD list and only "BCC:" this list. This way the WIP can also be discussed on the topical list, as no discussion is allowed on this list. + Look inside the archives for examples of suitable messages. + An editorial digest of the messages to this list might be posted to the FreeBSD website every few months as part of the Status Reports footnote:[https://www.freebsd.org/news/status/]. Past reports are archived. link:{freebsd-wireless-url}[freebsd-wireless]:: _Discussions of 802.11 stack, tools device driver development_ + The FreeBSD-wireless list focuses on 802.11 stack (sys/net80211), device driver and tools development. This includes bugs, new features and maintenance. link:{freebsd-xen-url}[freebsd-xen]:: _Discussion of the FreeBSD port to Xen(TM) - implementation and usage_ + A list that focuses on the FreeBSD Xen(TM) port. The anticipated traffic level is small enough that it is intended as a forum for both technical discussions of the implementation and design details as well as administrative deployment issues. link:{freebsd-xfce-url}[freebsd-xfce]:: _XFCE_ + This is a forum for discussions related to bring the XFCE environment to FreeBSD. This is a technical mailing list. It is for individuals actively working on porting XFCE to FreeBSD, to bring up problems or discuss alternative solutions. Individuals interested in following the technical discussion are also welcome. link:{freebsd-zope-url}[freebsd-zope]:: _Zope_ + This is a forum for discussions related to bring the Zope environment to FreeBSD. This is a technical mailing list. It is for individuals actively working on porting Zope to FreeBSD, to bring up problems or discuss alternative solutions. Individuals interested in following the technical discussion are also welcome. [[eresources-mailfiltering]] === Filtering on the Mailing Lists The FreeBSD mailing lists are filtered in multiple ways to avoid the distribution of spam, viruses, and other unwanted emails. The filtering actions described in this section do not include all those used to protect the mailing lists. Only certain types of attachments are allowed on the mailing lists. All attachments with a MIME content type not found in the list below will be stripped before an email is distributed on the mailing lists. * application/octet-stream * application/pdf * application/pgp-signature * application/x-pkcs7-signature * message/rfc822 * multipart/alternative * multipart/related * multipart/signed * text/html * text/plain * text/x-diff * text/x-patch [NOTE] ==== Some of the mailing lists might allow attachments of other MIME content types, but the above list should be applicable for most of the mailing lists. ==== If an email contains both an HTML and a plain text version, the HTML version will be removed. If an email contains only an HTML version, it will be converted to plain text. [[eresources-news]] == Usenet Newsgroups In addition to two FreeBSD specific newsgroups, there are many others in which FreeBSD is discussed or are otherwise relevant to FreeBSD users. === BSD Specific Newsgroups * link:news:comp.unix.bsd.freebsd.announce[comp.unix.bsd.freebsd.announce] * link:news:comp.unix.bsd.freebsd.misc[comp.unix.bsd.freebsd.misc] * link:news:de.comp.os.unix.bsd[de.comp.os.unix.bsd] (German) * link:news:fr.comp.os.bsd[fr.comp.os.bsd] (French) === Other UNIX(R) Newsgroups of Interest * link:news:comp.unix[comp.unix] * link:news:comp.unix.questions[comp.unix.questions] * link:news:comp.unix.admin[comp.unix.admin] * link:news:comp.unix.programmer[comp.unix.programmer] * link:news:comp.unix.shell[comp.unix.shell] * link:news:comp.unix.misc[comp.unix.misc] * link:news:comp.unix.bsd[comp.unix.bsd] === X Window System * link:news:comp.windows.x[comp.windows.x] [[eresources-web]] == Official Mirrors <>, <>, <>, <>, <>, <>, <>, <>, <>, <>, <>, <>, <>, <>, <>, <>, <>, <>, <>, <>, <>, <>, <>, <>, <>. (as of UTC) [[central-mirrors]] *{central}* * {central-www} [[armenia-mirrors]] *{mirrors-armenia}* * {mirrors-armenia-www-httpv6} (IPv6) [[australia-mirrors]] *{mirrors-australia}* * {mirrors-australia-www-http} * {mirrors-australia-www2-http} [[austria-mirrors]] *{mirrors-austria}* * {mirrors-armenia-www-httpv6} (IPv6) [[czech-republic-mirrors]] *{mirrors-czech}* * {mirrors-czech-www-httpv6} (IPv6) [[denmark-mirrors]] *{mirrors-denmark}* * {mirrors-denmark-www-httpv6} (IPv6) [[finland-mirrors]] *{mirrors-finland}* * {mirrors-finland-www-http} [[france-mirrors]] *{mirrors-france}* * {mirrors-france-www-http} [[germany-mirrors]] *{mirrors-germany}* * {mirrors-germany-www-http} [[hong-kong-mirrors]] *{mirrors-hongkong}* * {mirrors-hongkong-www} [[ireland-mirrors]] *{mirrors-ireland}* * {mirrors-ireland-www} [[japan-mirrors]] *{mirrors-japan}* * {mirrors-japan-www-httpv6} (IPv6) [[latvia-mirrors]] *{mirrors-latvia}* * {mirrors-latvia-www} [[lithuania-mirrors]] *{mirrors-lithuania}* * {mirrors-lithuania-www} [[netherlands-mirrors]] *{mirrors-netherlands}* * {mirrors-netherlands-www} [[norway-mirrors]] *{mirrors-norway}* * {mirrors-norway-www} [[russia-mirrors]] *{mirrors-russia}* * {mirrors-russia-www-httpv6} (IPv6) [[slovenia-mirrors]] *{mirrors-slovenia}* * {mirrors-slovenia-www} [[south-africa-mirrors]] *{mirrors-south-africa}* * {mirrors-south-africa-www} [[spain-mirrors]] *{mirrors-spain}* * {mirrors-spain-www} * {mirrors-spain-www2} [[sweden-mirrors]] *{mirrors-sweden}* * {mirrors-sweden-www} [[switzerland-mirrors]] *{mirrors-switzerland}* * {mirrors-switzerland-www-httpv6} (IPv6) * {mirrors-switzerland-www2-httpv6} (IPv6) [[taiwan-mirrors]] *{mirrors-taiwan}* * {mirrors-taiwan-www} * {mirrors-taiwan-www2} * {mirrors-taiwan-www4} * {mirrors-taiwan-www5-httpv6} (IPv6) [[uk-mirrors]] *{mirrors-uk}* * {mirrors-uk-www} * {mirrors-uk-www3} [[usa-mirrors]] *{mirrors-us}* * {mirrors-us-www5-httpv6} (IPv6) :sectnums: :sectnumlevels: 6 diff --git a/documentation/content/ru/books/handbook/cutting-edge/_index.adoc b/documentation/content/ru/books/handbook/cutting-edge/_index.adoc index db62cec8c6..ed8e4b9dec 100644 --- a/documentation/content/ru/books/handbook/cutting-edge/_index.adoc +++ b/documentation/content/ru/books/handbook/cutting-edge/_index.adoc @@ -1,1056 +1,1056 @@ --- title: Глава 21. Обновление системы и смена версии FreeBSD part: Часть III. Системное администрирование prev: books/handbook/l10n next: books/handbook/partiv --- [[updating-upgrading]] = Обновление системы и смена версии FreeBSD :doctype: book :toc: macro :toclevels: 1 :icons: font :sectnums: :sectnumlevels: 6 :source-highlighter: rouge :experimental: :skip-front-matter: :toc-title: Содержание :table-caption: Таблица :figure-caption: Рисунок :example-caption: Пример :xrefstyle: basic :relfileprefix: ../ :outfilesuffix: :sectnumoffset: 21 ifeval::["{backend}" == "html5"] :imagesdir: ../../../images/books/handbook/cutting-edge/ endif::[] ifeval::["{backend}" == "pdf"] :imagesdir: ../../../../static/images/books/handbook/cutting-edge/ endif::[] ifeval::["{backend}" == "epub3"] :imagesdir: ../../../../static/images/books/handbook/cutting-edge/ endif::[] include::shared/authors.adoc[] include::shared/releases.adoc[] include::shared/ru/mailing-lists.adoc[] include::shared/ru/teams.adoc[] include::shared/ru/urls.adoc[] toc::[] [[updating-upgrading-synopsis]] == Краткий обзор Между релизами над FreeBSD ведется постоянная работа. Некоторые отдают предпочтение официально выпущенным версиям, в то время как остальные предпочитают использовать последние разработки. Тем не менее, даже для официальных версий часто выходят обновления, связанные с безопасностью и другими критическими исправлениями. Независимо от используемой версии FreeBSD предоставляет все необходимые инструменты для поддержания системы в актуальном состоянии, а также позволяет легко перейти на другую версию. Эта глава описывает, как отслеживать систему в процессе её разработки, а также основные инструменты для поддержания системы FreeBSD в актуальном состоянии. После чтения этой главы вы будете знать: * Как поддерживать систему FreeBSD в актуальном состоянии при помощи freebsd-update, Subversion или CTM. * Как узнать состояние установленной системы по отношению к известной нетронутой копии. * Как поддерживать установленную документацию в актуальном состоянии при помощи Subversion или портов документации. * Разницу между двумя ветвями разработки: FreeBSD-STABLE и FreeBSD-CURRENT. * Как перестраивать и переустанавливать всю базовую систему. Перед чтением этой главы вы должны: * Правильно настроить сетевое подключение (crossref:advanced-networking[advanced-networking, Сложные вопросы работы в сети]). * Знать, как устанавливать дополнительное стороннее программное обеспечение (crossref:ports[ports, Установка приложений. порты и пакеты]). [NOTE] ==== В этой главе для получения и обновления исходных текстов FreeBSD используется команда `svn`. Для этого нужно сперва установить порт или пакет package:devel/subversion[]. ==== [[updating-upgrading-freebsdupdate]] == Обновление FreeBSD Своевременное применение обновлений безопасности и переход на более новую версию операционной системы - важные аспекты системного администрирования. FreeBSD включает в себя программу `freebsd-update`, которую можно использовать для решения обеих задач. Эта программа используется для установки распространяемых в двоичном виде обновлений безопасности и исправлений для FreeBSD без необходимости ручной компиляции и установки патчей или нового ядра. Двоичные обновления доступны для всех архитектур и версий, поддерживаемых группой безопасности. Перечень поддерживаемых версий и их ожидаемые даты окончания поддержки указаны на странице http://www.FreeBSD.org/security/[http://www.FreeBSD.org/security/]. Эта программа также используется для незначительных обновлений версии операционной системы, а также для перехода на другую ветвь выпуска релизов. Перед обновлением следует ознакомиться с объявлением о выпуске новой версии, так как там может содержаться важная информация, применимая к версии, на которую намечен переход. С соответствующими объявлениями можно ознакомиться по ссылке http://www.FreeBSD.org/releases/[http://www.FreeBSD.org/releases/]. [NOTE] ==== Если имеется задание `crontab`, запускающее man:freebsd-update[8], то перед сменой версии операционной системы его обязательно нужно выключить. ==== В этом разделе описывается конфигурационный файл `freebsd-update`, демонстрируется применение исправлений безопасности и обновление операционной системы со сменой младшей или старшей версии, а также обсуждаются некоторые соображения касаемо смены версии операционной системы. [[freebsdupdate-config-file]] === Конфигурационный файл Конфигурационный файл `freebsd-update` самодостаточен и работает по умолчанию. Некоторые пользователи могут пожелать отредактировать конфигурационный файл [.filename]#/etc/freebsd-update.conf# для лучшего контроля над процессом обновления. В комментариях описываются доступные в этом файле параметры, но для следующих из них может потребоваться дополнительное разъяснение: [.programlisting] .... # Components of the base system which should be kept updated. Components world kernel .... Данный параметр определяет, какие части FreeBSD будут обновлены. По умолчанию обновляется вся базовая система (world) и ядро (kernel). Вместо этого можно указать отдельные компоненты, такие как `src/base` или `src/sys`. Тем не менее, лучшим вариантом будет оставить всё как есть, поскольку изменение этого перечня с целью добавления особых пунктов потребует от пользователя указания подряд всех пунктов. Со временем это может привести к негативным последствиям из-за возможной рассинхронизации между исходными текстами и двоичными файлами. [.programlisting] .... # Paths which start with anything matching an entry in an IgnorePaths # statement will be ignored. IgnorePaths /boot/kernel/linker.hints .... Добавьте сюда пути к каталогам (например, [.filename]#/bin# или [.filename]#/sbin#), которые вы бы хотели оставить нетронутыми в процессе обновления. Этот параметр можно использовать для предотвращения перезаписывания локальных изменений программой `freebsd-update`. [.programlisting] .... # Paths which start with anything matching an entry in an UpdateIfUnmodified # statement will only be updated if the contents of the file have not been # modified by the user (unless changes are merged; see below). UpdateIfUnmodified /etc/ /var/ /root/ /.cshrc /.profile .... Этот параметр позволяет обновлять конфигурационные файлы в указанных каталогах, только если они не содержат изменений. При наличии каких-либо изменений со стороны пользователя автоматическое обновление таких файлов отменяется. Есть другой параметр `KeepModifiedMetadata`, который предписывает команде `freebsd-update` сохранять изменения в процессе слияния. [.programlisting] .... # When upgrading to a new FreeBSD release, files which match MergeChanges # will have any local changes merged into the version from the new release. MergeChanges /etc/ /var/named/etc/ /boot/device.hints .... Список каталогов с конфигурационными файлами, для которых `freebsd-update` попытается выполнить слияние. Процесс слияния файла представляет собой последовательность изменений в формате man:diff[1], похожую на man:mergemaster[8], но с меньшим количеством параметров. Результат слияния принимается, открывается редактор или `freebsd-update` прекращает работу. В случае сомнений сделайте резервную копию [.filename]#/etc# и просто согласитесь со всеми изменениями. Для получения подробной информации по команде `mergemaster` смотрите <>. [.programlisting] .... # Directory in which to store downloaded updates and temporary # files used by FreeBSD Update. # WorkDir /var/db/freebsd-update .... Этот каталог предназначен для размещения патчей и временных файлов. В случае, когда пользователь выполняет обновление со сменой версии, в этом месте нужно иметь по крайней мере гигабайт свободного дискового пространства. [.programlisting] .... # When upgrading between releases, should the list of Components be # read strictly (StrictComponents yes) or merely as a list of components # which *might* be installed of which FreeBSD Update should figure out # which actually are installed and upgrade those (StrictComponents no)? # StrictComponents no .... Если выставлено значение `yes`, то `freebsd-update` будет исходить из того, что список `Components` является полным, и не будет пытаться выполнить изменения за пределами этого списка. В действительности `freebsd-update` попытается обновить все файлы, которые принадлежат списку `Components`. [[freebsdupdate-security-patches]] === Обновления безопасности Процесс применения обновлений безопасности FreeBSD был упрощён, что позволяет поддерживать систему в актуальном состоянии, используя `freebsd-update`. Для получения дополнительной информации по бюллетеням безопасности FreeBSD смотрите crossref:security[security-advisories,Сообщения безопасности FreeBSD]. Обновления безопасности можно загрузить и установить с использованием следующих команд. Первая команда определяет наличие незагруженных обновлений и показывает файлы, которые будут изменены в процессе обновления. Вторая команда выполняет обновление. [source,shell] .... # freebsd-update fetch # freebsd-update install .... Если были установлены обновления ядра, то после этого нужно перезагрузить систему. Если обновление установилось для какого-либо работающего в системе двоичного файла, то следует перезапустить затронутые приложения, чтобы использовалась исправленная версия двоичного файла. Можно настроить ежедневную автоматическую проверку наличия обновлений, добавив следующую запись в [.filename]#/etc/crontab#: [.programlisting] .... @daily root freebsd-update cron .... При наличии обновлений они будут автоматически загружены. Пользователю `root` будет отправлено письмо, так что эти обновления можно будет просмотреть и установить самостоятельно командой `freebsd-update install`. На случай, если что-то пошло не так, в `freebsd-update` предусмотрен механизм возврата последнего набора изменений с использованием следующей команды: [source,shell] .... # freebsd-update rollback Uninstalling updates... done. .... Если после завершения всех действий было изменено ядро или какой-либо из его модулей, система должна быть перезагружена, а все затронутые исполняемые файлы нужно перезапустить. Команда `freebsd-update` позволяет автоматически обновлять только ядро [.filename]#GENERIC#. Если используется ядро с собственной конфигурацией, его понадобится пересобрать и переустановить после того, как `freebsd-update` завершит установку обновлений. Тем не менее, `freebsd-update` обнаружит и обновит ядро [.filename]#GENERIC# при наличии [.filename]#/boot/GENERIC#, даже если оно не является текущим используемым ядром в системе. [NOTE] ==== Всегда храните копию ядра [.filename]#GENERIC# в [.filename]#/boot/GENERIC#. Оно пригодится при решении различных проблем, а также при выполнении обновления со сменой версии. Смотрите <> для описания получения копии ядра [.filename]#GENERIC#. ==== Если конфигурация в [.filename]#/etc/freebsd-update.conf# не изменялась, `freebsd-update` вместе с остальными обновлениями установит обновлённые исходные тексты ядра. После этого можно обычным способом выполнить перестроение и переустановку нового ядра с собственной конфигурацией. Обновления, получаемые с помощью `freebsd-update`, не всегда затрагивают ядро. Перестроение собственного ядра не является обязательным, если исходные тексты ядра не были изменены при выполнении `freebsd-update install`. Тем не менее, `freebsd-update` всегда обновляет [.filename]#/usr/src/sys/conf/newvers.sh#. Текущий набор изменений, как указано в номере `-p` в выводе `uname -r`, получается из этого файла. Перестроение собственного ядра, даже если ничего больше не менялось, позволяет `uname` правильно сообщать текущий набор изменений в системе. Это в частности может помочь при сопровождении множества систем, поскольку позволяет быстро оценить наличие установленных обновлений в каждой из них. [[freebsdupdate-upgrade]] === Обновления со сменой старшей и младшей версий Обновление с FreeBSD 9.0 на FreeBSD 9.1, называется обновлением со сменой младшего номера версии. Смена старшего номера версии происходит, когда FreeBSD переходит с одной значительной версии на другую, как, например, при обновлении с FreeBSD 9.X на FreeBSD 10.X. Оба типа обновлений можно произвести, указав `freebsd-update` версию, на которую нужно перейти. [NOTE] ==== Если в системе используется ядро с собственной конфигурацией, убедитесь перед началом обновления в наличии копии ядра [.filename]#GENERIC# в [.filename]#/boot/GENERIC#. Смотрите <> для описания получения копии ядра [.filename]#GENERIC#. ==== Следующая команда, будучи запущенной на FreeBSD 9.0, выполнит обновление до версии FreeBSD 9.1: [source,shell] .... # freebsd-update -r 9.1-RELEASE upgrade .... После своего запуска `freebsd-update` анализирует содержимое конфигурационного файла и собирает необходимую для проведения обновления информацию о текущей установленной системе. На экран будет выдан перечень компонентов, которые удалось и не удалось обнаружить установленными. Например: [source,shell] .... Looking up update.FreeBSD.org mirrors... 1 mirrors found. Fetching metadata signature for 9.0-RELEASE from update1.FreeBSD.org... done. Fetching metadata index... done. Inspecting system... done. The following components of FreeBSD seem to be installed: kernel/smp src/base src/bin src/contrib src/crypto src/etc src/games src/gnu src/include src/krb5 src/lib src/libexec src/release src/rescue src/sbin src/secure src/share src/sys src/tools src/ubin src/usbin world/base world/info world/lib32 world/manpages The following components of FreeBSD do not seem to be installed: kernel/generic world/catpages world/dict world/doc world/games world/proflibs Does this look reasonable (y/n)? y .... Следующим шагом `freebsd-update` попытается загрузить по сети файлы, необходимые для выполнения обновления. В некоторых случаях может потребоваться ответить на вопросы относительно того, что и как устанавливать. Если используется ядро с собственной конфигурацией, то в этом случае появится предупреждение следующего вида: [source,shell] .... WARNING: This system is running a "MYKERNEL" kernel, which is not a kernel configuration distributed as part of FreeBSD 9.0-RELEASE. This kernel will not be updated: you MUST update the kernel manually before running "/usr/sbin/freebsd-update install" .... На этом этапе предупреждение можно проигнорировать. На промежуточном этапе процесса обновления будет использовано обновлённое ядро [.filename]#GENERIC#. После того, как все изменения были загружены, они будут применены. Этот процесс может занять определённое время, в зависимости от производительности и текущей загруженности компьютера. Затем будет выполнено слияние конфигурационных файлов. Процесс слияния требует от пользователя определённого вмешательства, так как для файла можно выполнить слияние автоматически, а можно открыть текстовый редактор для слияния вручную. Результат успешного слияния будет показан на экране. Неудачное или пропущенное слияние вызовет преждевременное завершение программы. Можно подготовить резервную копию каталога [.filename]#/etc# для таких важных файлов как [.filename]#master.passwd# и [.filename]#group# и выполнить их слияние вручную позднее. [NOTE] ==== На данном этапе система еще не модифицирована, и все изменения и слияния происходят в отдельном каталоге. Теперь, когда все изменения успешно применены, все конфигурационные файлы объединены и кажется, что процесс должен пройти плавно, изменения могут быть установлены на диск с помощью следующей команды: [source,shell] .... # freebsd-update install .... ==== В первую очередь изменения будут применены к ядру и его модулям. При использовании ядра с собственной конфигурацией укажите для следующей загрузки обновлённое ядро [.filename]#/boot/GENERIC# с помощью man:nextboot[8]: [source,shell] .... # nextboot -k GENERIC .... [WARNING] ==== Перед перезагрузкой с ядром [.filename]#GENERIC# убедитесь, что оно содержит все необходимые драйвера для системы для корректной загрузки и подключения к сети, если машина обновляется удалённо. В частности, если в ядре содержится встроенная функциональность, которая обычно обеспечивается модулями ядра, загрузите эти драйвера с ядром [.filename]#GENERIC#, временно указав их как модули в [.filename]#/boot/loader.conf#. Рекомендуется отключить несущественные службы, а также любые локальные и сетевые диски до завершения процесса обновления. ==== Теперь компьютер должен быть перезагружен с новым ядром: [source,shell] .... # shutdown -r now .... После перезагрузки нужно повторно запустить команду `freebsd-update`. Команда прочитает, на каком этапе она находится, и перейдёт к удалению старых объектных файлов и совместно используемых библиотек. [source,shell] .... # freebsd-update install .... [NOTE] ==== Количество этапов установки обновлений может быть два вместо трёх и зависит от того, были ли изменены номера версий каких-либо совместно используемых библиотек. ==== На этом процесс завершён. Если было выполнено обновление со сменой старшего номера версии, переустановите все порты и пакеты в соответствии с описанием, которое предоставляет <>. [[freebsd-update-custom-kernel-9x]] ==== Собственная конфигурация ядра в FreeBSD 9.X и более поздних версиях Перед использованием `freebsd-update` убедитесь в наличии копии ядра [.filename]#GENERIC# в [.filename]#/boot/GENERIC#. Если ядро с собственной конфигурацией было собрано единожды, то в [.filename]#/boot/kernel.old# будет находиться ядро `GENERIC`. Просто переименуйте этот каталог в [.filename]#/boot/kernel#. Если ядро с собственной конфигурацией было собрано более одного раза, получите копию ядра `GENERIC`, соответствующую текущей версии операционной системы. При наличии физического доступа копию ядра `GENERIC` можно установить с установочного носителя: [source,shell] .... # mount /cdrom # cd /cdrom/usr/freebsd-dist # tar -C/ -xvf kernel.txz boot/kernel/kernel .... Иначе, ядро `GENERIC` можно собрать и установить из исходных текстов: [source,shell] .... # cd /usr/src # make kernel __MAKE_CONF=/dev/null SRCCONF=/dev/null .... Чтобы такое ядро было определено как ядро `GENERIC` программой `freebsd-update`, в файле конфигурации [.filename]#GENERIC# должны отсутствовать изменения. Также предлагается, что ядро было собрано без использования каких-либо специальных параметров. Загрузка с [.filename]#GENERIC# не требуется, поскольку для `freebsd-update` достаточно существования [.filename]#/boot/GENERIC#. [[freebsdupdate-portsrebuild]] ==== Обновление пакетов после смены старшей версии системы После обновления системы со сменой младшей версии установленные приложения, в целом, продолжают работать без каких-либо проблем. Различные старшие версии используют различающиеся двоичные интерфейсы приложений (Application Binary Interface, ABI), из-за чего перестаёт работать большинство сторонних приложений. После обновления системы со сменой старшей версии все установленные пакеты и порты также нуждаются в обновлении. Пакеты можно обновить с использованием `pkg upgrade`. Для обновления установленных портов используется package:ports-mgmt/portmaster[]. Принудительное обновление все установленных пакетов приведёт к их замене на последние версии из репозитория, даже если номер версии при этом не увеличивался. Это требуется из-за смены версии ABI при обновлении на другую старшую версию FreeBSD. Принудительное обновление можно выполнить так: [source,shell] .... # pkg-static upgrade -f .... Перестроение всех установленных приложений можно выполнить этой командой: [source,shell] .... # portmaster -af .... Эта команда будет отображать экран выбора конфигурации для каждого приложения, в котором доступны параметры конфигурации, с ожиданием пользовательского ввода. Чтобы не использовать такое поведение и всегда выбирать параметры по умолчанию, добавьте ключ `-G` в вышеприведённую команду. После завершения процесса обновления программного обеспечения закончите процесс обновления последним запуском `freebsd-update`, для того чтобы убедиться, что ничто не было пропущено в процессе обновления: [source,shell] .... # freebsd-update install .... Если в качестве временной меры использовалось ядро [.filename]#GENERIC#, то это подходящее время для построения и установки нового ядра с собственной конфигурацией в соответствии с инструкциями в crossref:kernelconfig[kernelconfig, Настройка ядра FreeBSD]. Перезагрузите машину с новой версией FreeBSD. На этом процесс обновления завершён. [[freebsdupdate-system-comparison]] === Сравнение состояния системы С помощью команды `freebsd-update IDS` можно получить состояние установленной версии FreeBSD относительно известной доверенной копии. Эта команда проверяет текущую версию системных утилит, библиотек и конфигурационных файлов, и её можно использовать в качестве встроенной системы обнаружения вторжений (Intrusion Detection System, IDS). [WARNING] ==== Эта команда не является заменой IDS, такой как package:security/snort[]. Поскольку `freebsd-update` сохраняет свои данные на диске, возможность подмены становится очевидной. И хотя эта возможность может быть уменьшена при использовании настройки `kern.securelevel`, а также используя для записи данных `freebsd-update` файловую систему, которая в остальное время смонтирована только на чтение, лучшим решением будет сравнить систему относительно эталона на физически защищенном носителе, таком как DVD или внешний USB диск с включённой защитой от записи. ==== Для того, чтобы начать сравнение, укажите файл для сохранения результатов: [source,shell] .... # freebsd-update IDS >> outfile.ids .... Запустится проверка системы, результат которой будет записан в указанный файл в виде списка файлов вместе с их контрольными суммами в формате SHA256 - для известных файлов из релиза и текущих в системе. Строки в списке чрезмерно длинные, но зато такой формат вывода удобен для разбора. Так, для получения списка всех отличающихся от релиза файлов достаточно выполнить такую команду: [source,shell] .... # cat outfile.ids | awk '{ print $1 }' | more /etc/master.passwd /etc/motd /etc/passwd /etc/pf.conf .... Вывод специально обрезан, на самом деле файлов намного больше. Некоторые из них изменены в ходе нормальной работы: так, файл [.filename]#/etc/passwd# был изменён после заведения пользователей в системе. Модули ядра могли измениться вследствие обновления через `freebsd-update`. Для исключения из проверки конкретных файлов и каталогов укажите их в качестве значения параметра `IDSIgnorePaths` в [.filename]#/etc/freebsd-update.conf#. [[updating-upgrading-documentation]] == Обновление документации Документация является неотъемлемой частью операционной системы FreeBSD. И хотя актуальная версия документации FreeBSD всегда доступна на сайте FreeBSD (link:https://www.FreeBSD.org/doc/[http://www.freebsd.org/doc/]), может быть удобно иметь под рукой актуальную локальную копию сайта FreeBSD, руководств, FAQ и статей. В этом разделе описывается, как использовать исходный текст или Коллекцию Портов FreeBSD для организации актуальной локальной копии документации FreeBSD. За информацией о редактировании и отправке изменений для документации обращайтесь к FreeBSD Documentation Project Primer for New Contributors (link:{fdp-primer}[FreeBSD Documentation Project Primer]). [[updating-installed-documentation]] === Обновление документации из исходного кода Для перестроения документации FreeBSD из исходного текста требуется набор инструментов, который не является частью основной системы FreeBSD. Требуемые инструменты, включая svn, можно установить из пакета или порта package:textproc/docproj[], разработанного в рамках проекта документации FreeBSD. После установки используйте svn для получения копии исходных текстов документации: [source,shell] .... # svn checkout https://svn.FreeBSD.org/doc/head /usr/doc .... Первоначальная загрузка исходных текстов документации может занять некоторое время. Дайте ей завершиться. Последующие обновления можно получить, выполнив: [source,shell] .... # svn update /usr/doc .... После того как в [.filename]#/usr/doc# была загружена актуальная копия исходных текстов, всё готово для обновления установленной документации. Полное обновление всех доступных языковых версий можно выполнить, набрав команду: [source,shell] .... # cd /usr/doc # make install clean .... Для обновления только указанной языковой версии команду `make` можно запустить в соответствующем подкаталоге [.filename]#/usr/doc#: [source,shell] .... # cd /usr/doc/en_US.ISO8859-1 # make install clean .... Альтернативный способ обновления документации заключается в запуске следующей команды из из [.filename]#/usr/doc# или подкаталога с желаемой языковой версией: [source,shell] .... # make update .... Используемый при установке формат можно указать через `FORMATS`: [source,shell] .... # cd /usr/doc # make FORMATS='html html-split' install clean .... Для упрощения процесса частичного обновления документации и построения только нужных переводов имеется несколько параметров. Их можно задать как на общесистемном уровне, указав в [.filename]#/etc/make.conf#, так и непосредственно в команде `make`. Данные параметры включают: `DOC_LANG`:: Перечень языков и кодировок для построения и установки, например, `en_US.ISO8859-1` для англоязычной документации. `FORMATS`:: Единый формат или набор форматов для построения. На данный момент поддерживаются `html`, `html-split`, `txt`, `ps` и `pdf`. `DOCDIR`:: Путь для установки документации. По умолчанию [.filename]#/usr/shared/doc#. Для получения других переменных `make`, также работающих во FreeBSD в качестве общесистемных, обратитесь к man:make.conf[5]. [[doc-ports-install-package]] === Обновление документации из портов В предыдущем разделе был представлен метод обновления документации FreeBSD из исходных текстов. В этом разделе описывается альтернативный метод с использованием Коллекции Портов, который позволяет: * Установить предварительно собранный пакет документации без необходимости локального построения чего-либо или установки инструментария документации. * Выполнить построение исходных текстов документации через инфраструктуру портов, что несколько упрощает этапы загрузки и построения. Данный метод обновления документации FreeBSD предоставляется портами и пакетами документации, которые ежемесячно обновляет {doceng}. Они перечислены в Коллекции Портов FreeBSD в категории docs (http://www.freshports.org/docs/[http://www.freshports.org/docs/]). Порты документации организованы следующим образом: * Пакет или порт package:misc/freebsd-doc-en[] устанавливает всю англоязычную документацию. * Метапакет или порт package:misc/freebsd-doc-all[] устанавливает всю документацию на всех доступных языках. * Имеются пакеты и порты для каждого перевода, например, package:misc/freebsd-doc-hu[] для венгерской документации. При использовании двоичных пакетов документация FreeBSD будет установлена во всех доступных форматах для данного языка. Например, следующая команда установит последнюю версию пакета венгерской документации: [source,shell] .... # pkg install hu-freebsd-doc .... [NOTE] ==== Для пакетов используется другая схема наименования, которая отличается от названия соответствующего порта: `_lang_-freebsd-doc`, где _lang_ соответствует сокращённому языковому коду, такому как `hu` для венгерского или `zh_cn` для упрощённого китайского. ==== Чтобы указать используемый формат документации, для этого вместо установки готового пакета нужно собрать порт самостоятельно. Ниже приводится пример построения и установки английской документации: [source,shell] .... # cd /usr/ports/misc/freebsd-doc-en # make install clean .... В порте имеется меню конфигурации, в котором можно указать нужный формат. По умолчанию выбирается HTML с разделителями, такой как на http://www.FreeBSD.org[http://www.FreeBSD.org], а также PDF. Иначе, при построении порта документации можно указать параметры `make`, которые включают в себя: `WITH_HTML`:: Документ в формате HTML на одной странице. Сформированная документация сохраняется в файле [.filename]#article.html# или [.filename]#book.html#. `WITH_PDF`:: Сформированная документация сохраняется в файле [.filename]#article.pdf# или [.filename]#book.pdf#. `DOCBASE`:: Указывает место размещения документации. По умолчанию [.filename]#/usr/local/shared/doc/freebsd#. В примере ниже демонстрируется использование переменных для установки венгерской документации в PDF в указанный каталог: [source,shell] .... # cd /usr/ports/misc/freebsd-doc-hu # make -DWITH_PDF DOCBASE=share/doc/freebsd/hu install clean .... Пакеты или порты документации обновляются согласно инструкциям в crossref:ports[ports, Установка приложений. порты и пакеты]. Например, следующая команда выполняет обновление установленной документации на венгерском языке с помощью package:ports-mgmt/portmaster[] в режиме использования только готовых пакетов: [source,shell] .... # portmaster -PP hu-freebsd-doc .... [[current-stable]] == Использование ветви разработки Во FreeBSD имеется две ветки разработки: FreeBSD-CURRENT и FreeBSD-STABLE. В этом разделе даётся объяснение для каждой из них и их предназначение, а также рассказывается, как синхронизировать систему с любой из этих веток. [[current]] === Использование FreeBSD-CURRENT FreeBSD-CURRENT является "передним краем" разработки FreeBSD и предназначена для пользователей с высокой технической грамотностью. Менее продвинутым пользователям, также желающим отслеживать ветку разработки, следует использовать FreeBSD-STABLE. FreeBSD-CURRENT обозначает последнюю версию исходных текстов FreeBSD и включает в себя незавершённые работы, экспериментальные изменения и переходные механизмы, которые могут отсутствовать в следующем официальном релизе. Хотя многие разработчики FreeBSD выполняют компиляцию исходных текстов FreeBSD-CURRENT ежедневно, бывают периоды, когда исходные тексты могут не компилироваться. Обычно такие проблемы решаются сразу по мере возможности, но всё же выбор точки синхронизации исходных текстов является определяющим фактором, содержит ли FreeBSD-CURRENT новую функциональность или же мину замедленного действия. FreeBSD-CURRENT предназначена для трёх основных групп: . Члены сообщества FreeBSD, активно работающие над некоторой частью дерева исходных текстов. . Члены сообщества FreeBSD, которые являются активными тестерами. Они тратят свое время на исправление проблем, вносят важные предложения по изменениям и общему развитию FreeBSD, присылают патчи. . Пользователи, которые хотят быть в курсе изменений, используют текущие исходные тексты для ознакомительных целей либо же иногда высказывают замечания или предоставляют собственный код. FreeBSD-CURRENT _не_ должна использоваться в качестве быстрого способа получить новые возможности, не дожидаясь выпуска следующей версии, поскольку предварительная версия не является полностью проверенной и скорее всего содержит ошибки. FreeBSD-CURRENT не является быстрым способом получения исправлений, поскольку любое изменение является в равной мере источником исправления существующих ошибок и появления новых. FreeBSD-CURRENT не является "официально поддерживаемой" каким бы то ни было способом. Чтобы отслеживать изменения во FreeBSD-CURRENT: . Подпишитесь на списки рассылки {freebsd-current} и {svn-src-head}. Это _необходимо_ для того, чтобы получать сообщения и важные бюллетени относительно текущего состояния FreeBSD-CURRENT. + Список рассылки {svn-src-head} содержит записи из журнала коммитов по каждому изменению, а также сопутствующую информацию о возможных побочных эффектах. + -Чтобы подписаться на эти списки рассылки, перейдите по ссылке {mailman-lists-url}, щёлкните на нужном списке и следуйте дальнейшим инструкциям. Для того чтобы отслеживать изменения всего дерева исходных текстов, а не только FreeBSD-CURRENT, подпишитесь на {svn-src-all}. +Чтобы подписаться на эти списки рассылки, перейдите по ссылке {mailing-lists-url}, щёлкните на нужном списке и следуйте дальнейшим инструкциям. Для того чтобы отслеживать изменения всего дерева исходных текстов, а не только FreeBSD-CURRENT, подпишитесь на {svn-src-all}. . Загрузите исходные тексты FreeBSD-CURRENT. Обычно для этого используется crossref:mirrors[svn,svn], с помощью которого можно загрузить исходные тексты -CURRENT из ветки `head` с одного из зеркал Subversion, перечисленных в crossref:mirrors[svn-mirrors,Сайты зеркала Subversion]. + Пользователи с очень медленным или ограниченным подключением могут рассматривать использование CTM, который описывается в crossref:mirrors[ctm,Использование CTM], однако этот способ является менее надёжным по сравнению с рекомендуемым способом синхронизации исходных текстов посредством svn. . Вследствие больших размеров репозитория некоторые пользователи для ознакомления или изготовления патчей выбирают частичную загрузку. Тем не менее, для компиляции операционной системы из исходных текстов требуется загрузить FreeBSD-CURRENT _полностью_, а не только лишь выбранные части. + Перед началом компиляции FreeBSD-CURRENT внимательно прочтите файл [.filename]#/usr/src/Makefile# и следуйте инструкциям в <>. {freebsd-current} и [.filename]#/usr/src/UPDATING# позволят быть в курсе прочих процедур, которые иногда бывают необходимы в процессе перехода к следующему релизу. . Будьте активным участником! Пользователям FreeBSD-CURRENT предлагается высказывать свои соображения по улучшению или исправлению ошибок. Предложения, к которым прилагается код, всегда приветствуются! [[stable]] === Использование FreeBSD-STABLE FreeBSD-STABLE является веткой разработки, из которой выпускаются основные релизы. Изменения в этой ветке происходят с меньшей скоростью и в предположении, что они сперва были проверены во FreeBSD-CURRENT. При этом она _остаётся_ веткой разработки, и в любой момент времени исходные тексты FreeBSD-STABLE могут оказаться не готовы для обычного использования. Это просто другая ветка разработки, не предназначенная для конечных пользователей. Пользователям, у которых нет возможности заниматься тестированием, следует использовать самый последний выпуск FreeBSD. Тем, кто заинтересован процессом разработки FreeBSD или желает поучаствовать, особенно поскольку от этого зависит следующий релиз FreeBSD, стоит отслеживать FreeBSD-STABLE. Хотя ветка FreeBSD-STABLE должна всегда компилироваться и работать, это невозможно гарантировать. Поскольку гораздо больше людей работает с FreeBSD-STABLE, неудивительно, что в FreeBSD-STABLE иногда обнаруживаются ошибки и всплывают непредвиденные ситуации, которые не проявляли себя в FreeBSD-CURRENT. По этим причинам не рекомендуется слепо использовать FreeBSD-STABLE. Особенно важно _не_ обновлять какие-либо сервера, находящиеся в эксплуатации, до FreeBSD-STABLE без тщательного тестирования кода в среде разработки. Чтобы отслеживать изменения во FreeBSD-STABLE: . Подпишитесь на список рассылки {freebsd-stable}, чтобы быть в курсе о зависимостях процесса компиляции, которые могут появиться во FreeBSD-STABLE или любых других проблемах, требующих особого внимания. Также в этом списке рассылки разработчики делают объявления о спорных исправлениях или добавлениях, давая пользователям возможность высказать свое мнение о возможных тонких моментах. + Подпишитесь на список рассылки svn, соответствующий используемой ветви. Например, при использовании 9-STABLE следует подписаться на {svn-src-stable-9}. Этот список рассылки содержит записи из журнала коммитов по каждому изменению, а также сопутствующую информацию о возможных побочных эффектах. + -Чтобы подписаться на эти списки рассылки, перейдите по ссылке {mailman-lists-url}, щёлкните на нужном списке, и следуйте дальнейшим инструкциям. Для того чтобы отслеживать изменения всего дерева исходных текстов, подпишитесь на {svn-src-all}. +Чтобы подписаться на эти списки рассылки, перейдите по ссылке {mailing-lists-url}, щёлкните на нужном списке, и следуйте дальнейшим инструкциям. Для того чтобы отслеживать изменения всего дерева исходных текстов, подпишитесь на {svn-src-all}. . Чтобы установить новую систему FreeBSD-STABLE, установите самый последний релиз FreeBSD-STABLE, загрузив его с crossref:mirrors[mirrors,зеркалирующих сайтов FreeBSD] или используйте ежемесячную стандартную сборку FreeBSD-STABLE. Обратитесь к link:https://www.FreeBSD.org/snapshots/[www.freebsd.org/snapshots] для получения дополнительной информации о снэпшотах. + Чтобы скомпилировать новую или обновить существующую систему FreeBSD до FreeBSD-STABLE, используйте crossref:mirrors[svn,svn] для загрузки исходных текстов нужной ветки. Имена веток вида `stable/9` перечислены на странице link:https://www.FreeBSD.org/releng/[www.freebsd.org/releng]. При отсутствии надёжного Интернет-соединения можно воспользоваться CTM (crossref:mirrors[ctm,Использование CTM]). . Перед началом компиляции или обновления до FreeBSD-STABLE внимательно прочтите файл [.filename]#/usr/src/Makefile# и следуйте инструкциям в <>. {freebsd-stable} и [.filename]#/usr/src/UPDATING# позволят быть в курсе прочих процедур, которые иногда бывают необходимы в процессе перехода к следующему релизу. [[synching]] == Синхронизация исходных текстов Имеются различные способы синхронизации с исходными текстами FreeBSD. В этом разделе сравниваются основные из них, Subversion и CTM. [WARNING] ==== Хотя возможно частичное обновление дерева исходных текстов, единственной поддерживаемой процедурой обновления является обновление всего дерева и перекомпиляция всех программ, работающих в контексте пользователя, например тех, что находятся в каталогах [.filename]#/bin# и [.filename]#/sbin#, а также исходных текстов ядра. Обновление только части дерева исходных текстов, только ядра или только программ часто приводит к возникновению проблем от ошибок компиляции до аварийных остановов системы или потери данных. ==== Subversion для обновления исходных текстов использует модель _pull_. Пользователь или сценарий `cron` запускают программу `svn`, которая обновляет локальную версию исходных текстов. Subversion является предпочтительным способом обновления локального дерева исходных текстов, поскольку обновления являются актуальными с точностью до минуты и пользователь управляет временем их загрузки. Загрузку определённых файлов и каталогов легко ограничить, а запрашиваемые обновления формируются на лету на стороне сервера. О том, как актуализировать исходные тексты с использованием Subversion, описано в crossref:mirrors[svn,svn]. CTM не выполняет интерактивное сравнение имеющихся исходных текстов с находящимися в главном архиве, и не выполняет их загрузку. Вместо этого несколько раз в день на главной машине CTM запускается скрипт, находящий изменения в файлах с момента своего предыдущего запуска. Все обнаруженные изменения сжимаются, помечаются последовательным номером и кодируются для передачи по электронной почте в печатном формате ASCII. После получения эти "дельта-файлы CTM" могут быть переданы утилите `ctm.rmail`, которая осуществляет автоматическое декодирование, проверку и применение изменений к пользовательской копии исходных текстов. Этот процесс более эффективен по сравнению с используемым в Subversion и требует меньше ресурсов сервера, так как он выполнен по модели _push_, а не _pull_. Инструкции по использованию CTM для синхронизации исходных текстов даны в crossref:mirrors[ctm,Использование CTM]. Если пользователь случайно уничтожил часть своего архива, Subversion обнаружит и перестроит повреждённую часть. CTM этого не делает, поэтому если пользователь удалил часть дерева исходных текстов и не имеет архивной копии, то нужно будет начать с самого начала (с последнего "базового дельта-файла"), перестроив всё с помощью CTM. [[makeworld]] == Пересборка мира После того, как локальное дерево исходных текстов было синхронизировано с некоторой версией FreeBSD (FreeBSD-STABLE или FreeBSD-CURRENT), его можно использовать для перестроения системы. Этот процесс известен как перестроение мира. _Перед_ перестроением мира убедитесь в выполнении следующих действий: [.procedure] ==== *Procedure: _Перед_ тем как приступать к построению мира* . Сохраните резервную копию всех важных данных на другую систему или съёмный носитель, проверьте её целостность и держите под рукой загрузочный носитель. Невозможно переоценить важность создания резервной копии системы _до_ начала перестроения системы. Хотя перестроение системы является простой задачей, неизбежно возникают ситуации, при которых ошибки в исходных текстах приводят к тому, что система перестаёт загружаться. Возможно, вам никогда не придётся этим воспользоваться, но, постучав по дереву, всегда лучше подстраховаться. . Проверьте последние сообщения в списке рассылки {freebsd-stable} или {freebsd-current} (в зависимости от отслеживаемой ветки). Будьте в курсе любых известных проблем, и тех систем, которые они затрагивают. В случае возникновения подобной проблемы, дождитесь сообщения о том, что эта проблема решена. После этого повторите синхронизацию исходных текстов для получения необходимого исправления. . Прочтите [.filename]#/usr/src/UPDATING# для получения информации о дополнительных шагах, необходимых для данной версии исходных текстов. В этом файле содержится важная информация о возможных проблемах и может быть указан порядок выполнения соответствующих команд. При большинстве обновлений требуются дополнительные шаги, например, переименование или удаление определённых файлов перед установкой нового мира. Эти шаги будут перечислены в конце файла, где в явном виде описывается текущая рекомендуемая последовательность действий при обновлении. Если содержимое [.filename]#UPDATING# противоречит каким-либо шагам в этой главе, руководствуйтесь инструкциями в файле [.filename]#UPDATING#, которые имеют больший приоритет. ==== [WARNING] .Не используйте `make world` ==== В некоторой устаревшей документации рекомендуется использование `make world`. Эта команда пропускает некоторые важные шаги, поэтому использовать её следует лишь в том случае, если вы точно знаете, что делаете. Почти во всех случаях `make world` - это неправильный способ, вместо этого следует использовать описанную здесь процедуру. ==== [[canonical-build]] === Обзор процесса Процесс построения мира подразумевает переход с более старой версии FreeBSD с использованием исходных текстов более новой версии, которые были получены согласно инструкциям в <>. Во FreeBSD термин "world" обозначает ядро, исполняемые файлы основой системы, библиотеки, файлы для программирования и встроенный компилятор. Имеет значение порядок, при котором эти компоненты собираются и устанавливаются. Например, из-за ошибки в старом компиляторе невозможно было бы скомпилировать новое ядре. Поскольку новое ядро должно быть собрано новым компилятором, для этого в свою очередь необходимо собрать новый компилятор, но устанавливать его перед сборкой ядра необязательно. Новый мир может зависеть от особенностей нового ядра, поэтому новое ядро должно быть установлено до установки нового мира. Старый мир может работать неправильно на новом ядре, поэтому новый мир должен быть установлен сразу после установки нового ядра. Перед установкой нового мира могут потребоваться изменения в конфигурации, но некоторые из изменений могут не работать со старым миром. Следовательно, используются два разных этапа обновления конфигурации. В основной части процесса обновления выполняется только замена или добавление файлов. Существующие файлы при этом не удаляются. Поскольку это может повлечь проблемы, в [.filename]#/usr/src/UPDATING# содержится информация о том, какие из файлов и на каком шаге нужно удалить вручную. Исходя из этих соображений в следующей процедуре описана рекомендуемая последовательность обновления. [NOTE] ==== Хорошей практикой является запись в файл вывода команды `make`. Если что-то пошло не так, копию сообщения об ошибке можно отправить в один из списков рассылки FreeBSD. Проще всего использовать для этого `script` с параметром, задающим имя файла для сохранения всего вывода. Не сохраняйте вывод в [.filename]#/tmp#, так как этот каталог может быть очищен при следующей перезагрузке. Более подходящим местом является [.filename]#/var/tmp#. Запустите команду непосредственно перед перестроением мира, а после завершения процесса наберите `exit`: [source,shell] .... # script /var/tmp/mw.out Script started, output file is /var/tmp/mw.out .... ==== [.procedure] ==== *Procedure: Обзор процесса построения мира* Команды для построения мира должны запускаться в указанном здесь порядке. В этом разделе даётся краткое описание назначения каждой из команд. . Если процесс построения мира уже запускался ранее на этой системе, то в [.filename]#/usr/obj# могла остаться копия предыдущей сборки. Удалите этот каталог для ускорения процесса построения нового мира и возможного сокращений работы по разрешению зависимостей. + [source,shell] .... # chflags -R noschg /usr/obj/* # rm -rf /usr/obj .... + . Скомпилируйте новый компилятор и несколько сопутствующих инструментов и используйте их для компиляции остальной части мира. Результаты сохраняются в [.filename]#/usr/obj#. + [source,shell] .... # cd /usr/src # make buildworld .... + . Для построения нового ядра используйте компилятор, расположенный в [.filename]#/usr/obj#, чтобы защититься от ошибок несоответствия между компилятором и ядром. Это необходимо, так как определённые структуры данных могут поменяться, и при использовании различных версий ядра и исходных текстов перестанут работать `ps` и `top`. + [source,shell] .... # make buildkernel .... + . Установите новое ядро и модули, чтобы их можно было использовать для загрузки. Если используется `kern.securelevel` со значением выше `1` _и_ на файле ядра установлен `noschg` или подобный флаг, то для этого сперва придётся дополнительно перейти в однопользовательский режим. В противном случае эту команду можно без проблем запустить в многопользовательском режиме. Смотрите страницу Справочника man:init[8] для получения информации о `kern.securelevel`, а также man:chflags[1] для информации об использовании различных файловых флагов. + [source,shell] .... # make installkernel .... + . Переведите систему в однопользовательский режим для минимизации проблем при обновлении уже работающих исполняемых файлов. Это также уменьшит вероятность возникновения проблем при работе старого мира на новом ядре. + [source,shell] .... # shutdown now .... + После перехода в однопользовательский режим, запустите эти команды, если в системе используется UFS: + [source,shell] .... # mount -u / # mount -a -t ufs # swapon -a .... + Если используется ZFS, запустите другие две команды. В данном примере zpool называется `zroot`: + [source,shell] .... # zfs set readonly=off zroot # zfs mount -a .... + . Дополнительно: Если желаемая картография клавиатуры отличается от используемой по умолчанию US English, её можно изменить с помощью man:kbdmap[1]: + [source,shell] .... # kbdmap .... + . Затем, если часы CMOS установлены на местное время (это так, если вывод man:date[1] не содержит правильное время и часовой пояс), выполните: + [source,shell] .... # adjkerntz -i .... + . Пересборка мира не включает в себя добавление или обновление конфигурационных файлов в [.filename]#/etc#, [.filename]#/var#, [.filename]#/usr# и некоторых других каталогах. Следующим шагом является выполнение первоначального обновления файлов конфигурации в [.filename]#/etc# для подготовки к новому миру. Следующая команда ограничивается сравнением файлов, необходимых для успешного выполнения цели `installworld`. В частности, на этом шаге могут быть добавлены новые пользовательские группы, служебные учётные записи и сценарии автозапуска, которые были добавлены во FreeBSD со времени последнего обновления. Это необходимо для их использования при выполнении шага `installworld`. Смотрите <> для получения более подробных инструкций по этой команде: + [source,shell] .... # mergemaster -p .... + . Установите новый мир и служебные исполняемые файлы, находящиеся в [.filename]#/usr/obj#. + [source,shell] .... # cd /usr/src # make installworld .... + . Обновите остальные файлы конфигурации. + [source,shell] .... # mergemaster -iF .... + . Удалите устаревшие файлы. Это важно, так как в противном случае они могут вызвать проблемы. + [source,shell] .... # make delete-old .... + . Теперь нужна полная перезагрузка системы для того, чтобы загрузить новое ядро и мир с использованием новых конфигурационных файлов. + [source,shell] .... # reboot .... + . Убедитесь, что перед удалением старых версий библиотек все установленные порты были пересобраны согласно инструкциям в crossref:ports[ports-upgrading,Обновление портов]. По завершению удалите все старые библиотеки во избежание конфликтов с их новыми версиями. За подробным описанием этого шага обратитесь к <>. + [source,shell] .... # make delete-old-libs .... ==== Если для системы доступно окно обслуживания, обдумайте возможность компиляции системы в однопользовательском режиме вместо использования для этого многопользовательского режима с переводом в однопользовательский режим для установки. Переустановка системы затрагивает множество важных системных файлов, все стандартные системные исполняемые файлы, библиотеки и заголовочные файлы. Замена этих файлов на работающей системе (в частности, используемых в данный момент пользователями) может привести к неприятностям. [[src-updating]] === Файлы конфигурации В процессе построения мира используется несколько файлов конфигурации. [.filename]#Makefile#, расположенный в [.filename]#/usr/src#, описывает правила и порядок построения программ, составляющих FreeBSD. В man:make.conf[5] описаны параметры, доступные для `make`, а также несколько общих примеров имеется в [.filename]#/usr/shared/examples/etc/make.conf#. Добавляемые в [.filename]#/etc/make.conf# параметры определяют поведение `make` при построении программ. Эти параметры действуют при каждом использовании `make`, включая компиляцию приложений из Коллекции Портов, компиляцию собственных программ на Си и построение операционной системы FreeBSD. Изменение некоторых настроек может иметь далекоидущие и порой неожиданные последствия. Прочтите комментарии в обоих местах и примите к сведению, что значения по умолчанию были выбраны как компромисс между производительностью и надёжностью. Поведение при сборке операционной системы из исходных текстов задаётся в [.filename]#/etc/src.conf#. В отличие от [.filename]#/etc/make.conf#, содержимое [.filename]#/etc/src.conf# влияет только на сборку самой операционной системы FreeBSD. Описание многих параметров, доступных в этом файле, имеется в man:src.conf[5]. Будьте осторожны при выключении на первый взгляд ненужных модулей ядра или параметров сборки. Иногда между ними имеются неожиданные или неочевидные взаимозависимости. [[make-buildworld]] === Переменные и цели выполнения Общий формат использования `make`: [source,shell] .... # make -x -DVARIABLE target .... В этом примере параметр `-_x_` передаётся `make`. Обратитесь к странице Справочника man:make[1] для получения примеров использования имеющихся параметров. Чтобы передать переменную, укажите её имя с использованием `-D_VARIABLE_`. Поведение [.filename]#Makefile# зависит от переменных. Они могут быть заданы в [.filename]#/etc/make.conf# или указаны при использовании `make`. Например, эта переменная указывает, что библиотеки для профилирования собирать не нужно: [source,shell] .... # make -DNO_PROFILE target .... Это соответствует настройке в [.filename]#/etc/make.conf#: [.programlisting] .... NO_PROFILE= true # Обход построения библиотек для профилирования .... _target_ указывает программе `make` на то, что нужно сделать, а [.filename]#Makefile# определяет доступные цели. Некоторые цели используются в процессе построения для разбиения его на этапы. Разделение опций удобно по двум причинам. Во-первых, это позволяет выполнять сборку, не затрагивая компоненты рабочей системы. По этой причине можно спокойно запустить `buildworld` на машине, работающей в многопользовательском режиме. Но цель `installworld` всё же рекомендуется запускать в однопользовательском режиме. Во-вторых, это позволяет использовать монтирование по NFS для обновления многих машин по сети согласно описанию в <>. Параметр `-j` приводит к запуску нескольких одновременно работающих процессов `make`. Поскольку процесс компиляции больше всего требователен к подсистеме ввода/вывода, а не к производительности процессора, это можно использовать и на машинах с одним процессором. Используйте следующую команду на машине с одним CPU, чтобы иметь до 4 одновременно работающих процессов. Опубликованные в списке рассылки практические замеры показывают, что в среднем это даёт наибольший выигрыш в производительности. [source,shell] .... # make -j4 buildworld .... На многопроцессорной машине попробуйте подобрать значение между `6` и `10`, и посмотрите, как это отразится на скорости работы. [NOTE] ==== Если при выполнении команды `make buildworld` были заданы значения каких-либо переменных, то при выполнении `make installworld` нужно задать те же самые переменные. При этом `-j` _нельзя_ использовать совместно с `installworld`. Например, если выполнялась эта команда: [source,shell] .... # make -DNO_PROFILE buildworld .... то результат её выполнения должен устанавливаться командой: [source,shell] .... # make -DNO_PROFILE installworld .... В противном случае вторая команда попытается установить библиотеки для профилирования, которые не компилировались на этапе выполнения команды `make buildworld`. ==== [[mergemaster]] === Объединение файлов конфигурации FreeBSD предоставляет утилиту man:mergemaster[8], которая является скриптом для оболочки Боурна и предназначена для определения разницы между конфигурационными файлами в каталоге [.filename]#/etc# и конфигурационными файлами из дерева исходных текстов [.filename]#/usr/src/etc#. Это является рекомендуемым способом синхронизации системных конфигурационных файлов с теми, что размещены в дереве исходных текстов. Перед использованием `mergemaster` рекомендуется скопировать имеющийся каталог [.filename]#/etc# в какое-нибудь безопасное место. `-R` задает выполнение рекурсивного копирования, а `-p` сохраняет даты и владельца файлов: [source,shell] .... # cp -Rp /etc /etc.old .... При запуске `mergemaster` строит временное корневое окружение, начиная с [.filename]#/#, и заполняет его различными системными конфигурационными файлами. Затем эти файлы сравниваются с текущими установленными в системе. Файлы, которые имеют отличия, будут выданы в формате man:diff[1], где знак `+` означает добавленные или изменённые строки, а знак `-` означает строки, которые будут либо полностью удалены, либо заменены на новый файл. Обратитесь к страницам справочной системы по команде man:diff[1] для получения более полной информации о формате выдачи отличий в файлах. Затем `mergemaster` выдаст каждый файл, в котором есть изменения, с вариантами действий: удалить новый файл, упоминаемый здесь как временный, установить временный файл в его неизменённом виде, объединить временный файл с установленным на данный момент, либо просмотреть результат ещё раз. Выбор удаления временного файла укажет `mergemaster` оставить текущий файл без изменений и удалить его новую версию. Делать это не рекомендуется. Чтобы получить помощь в любое время, наберите kbd:[?] в приглашении `mergemaster`. Если пользователь выбирает пропуск файла, запрос появится снова, после того как будут обработаны все остальные файлы. Выбор установки немодифицированного временного файла приведёт к замене текущего файла новым. Для большинства немодифицированных файлов это является подходящим вариантом. Выбор варианта с объединением файла приведёт к вызову текстового редактора, содержащего текст обоих файлов. Файлы можно объединить, просматривая оба файла на экране и выбирая те части из обоих, которые подходят для окончательного варианта. При сравнении файлов нажатие kbd:[l] выбирает содержимое слева, нажатие kbd:[r] выбирает содержимое справа. В окончательном варианте будет файл, состоящий из обеих частей, который и будет установлен. Этот вариант обычно используется для файлов, настройки в которых изменялись пользователем. Выбор повторного просмотра результатов выдаст разницу между файлами. После того как утилита `mergemaster` закончит работу с системными файлами, она выдаст запрос относительно других параметров. Она может запросить перестроение файла паролей и завершится запросом на удаление оставшихся временных файлов. [[make-delete-old]] === Удаление устаревших файлов и библиотек В ходе жизненного цикла разработки FreeBSD файлы с их содержимым иногда становятся устаревшими. Это может быть вызвано тем, что функциональность реализуется в другом месте, сменился номер версии библиотеки или файл был целиком удалён из системы. Такие устаревшие файлы, библиотеки и каталоги следует удалять вместе с обновлением системы. Это не даст захламить систему старыми файлами, которые занимают место на диске и на архивных носителях. Кроме того, если в старой библиотеке имеется проблема безопасности или стабильности, такую систему следует обновить до более новой библиотеки, чтобы предотвратить крахи, вызванные работой старой версии. Файлы, каталоги и библиотеки, которые признаны устаревшими, перечислены в [.filename]#/usr/src/ObsoleteFiles.inc#. Для удаления устаревших файлов в процессе обновления системы следует пользоваться следующими инструкциями. После выполнения `make installworld` и последующего `mergemaster` проверьте наличие устаревших файлов и библиотек: [source,shell] .... # cd /usr/src # make check-old .... Если были найдены какие-либо устаревшие файлы, их можно удалить с помощью следующей команды: [source,shell] .... # make delete-old .... Перед удалением каждого устаревшего файла запрашивается подтверждение. Используйте `BATCH_DELETE_OLD_FILES`, чтобы сократить этот процесс и позволить системе удалить эти файлы автоматически: [source,shell] .... # make -DBATCH_DELETE_OLD_FILES delete-old .... Аналогичного эффекта можно достичь, пропустив эти команды через `yes`: [source,shell] .... # yes|make delete-old .... .Предупреждение [WARNING] ==== Удаление устаревших файлов приведёт к нарушению работы программ, которые всё ещё зависят от этих устаревших файлов. Это особенно верно для старых библиотек. В большинстве случаев программы, порты или библиотеки, использующие такую старую библиотеку, нужно перекомпилировать перед выполнением `make delete-old-libs`. ==== Программы для проверки наличия зависимостей от совместно используемых библиотек включают в себя package:sysutils/libchk[] и package:sysutils/bsdadminscripts[]. Устаревшие совместно используемые библиотеки могут конфликтовать с более новыми библиотеками, что приводит к сообщениям следующего вида: [source,shell] .... /usr/bin/ld: warning: libz.so.4, needed by /usr/local/lib/libtiff.so, may conflict with libz.so.5 /usr/bin/ld: warning: librpcsvc.so.4, needed by /usr/local/lib/libXext.so, may conflict with librpcsvc.so.5 .... Для решения этих проблем выясните, какой именно порт установил данную библиотеку: [source,shell] .... # pkg which /usr/local/lib/libtiff.so /usr/local/lib/libtiff.so was installed by package tiff-3.9.4 # pkg which /usr/local/lib/libXext.so /usr/local/lib/libXext.so was installed by package libXext-1.1.1,1 .... Затем данный порт нужно удалить, пересобрать и переустановить. Для автоматизации этого процесса можно использовать package:ports-mgmt/portmaster[]. После того как все порты пересобраны и более не используют старые библиотеки, удалите эти старые библиотеки с помощью следующей команды: [source,shell] .... # make delete-old-libs .... Если что-то работает неправильно, можно с лёгкостью перестроить конкретную часть системы. Например, если файл [.filename]#/etc/magic# был случайно удалён в процессе обновления или переноса [.filename]#/etc#, то команда `file` перестанет работать. В таком случае это можно исправить вот так: [source,shell] .... # cd /usr/src/usr.bin/file # make all install .... [[updating-questions]] === Вопросы общего характера Нужно ли полностью перестраивать систему при каждом изменении?:: Это зависит от характера изменения. Например, если svn показывает, что с момента последнего запуска были изменены только следующие файлы: + [source,shell] .... src/games/cribbage/instr.c src/games/sail/pl_main.c src/release/sysinstall/config.c src/release/sysinstall/media.c src/shared/mk/bsd.port.mk .... + то перестраивать всю систему возможно незачем. Вместо этого можно перейти в соответствующие подкаталоги и выдать команду `make all install`. Однако если меняется что-то важное, например, [.filename]#src/lib/libc/stdlib#, то вы должны перестроить всю систему. + Некоторые пользователи перестраивают систему каждые две недели, позволяя изменениям накопиться за это время. Другие перестраивают только те вещи, которые менялись, и внимательно отслеживают все зависимости. Всё это зависит от того, как часто пользователь хочет делать обновление и отслеживает ли он FreeBSD-STABLE или FreeBSD-CURRENT. Почему прерывается компиляция с большим количеством ошибок по сигналу 11 (или с другим номером сигнала)?:: Как правило, это говорит о проблемах с оборудованием. Построение системы является эффективным стресс-тестом для оборудования, в особенности памяти. Явным указателем на это является то, что при перезапуске make процедура построения прекращается в различные моменты времени. + Для исправления этой ошибки попробуйте заменить комплектующие машины, начиная с оперативной памяти, для определения сбоящей компоненты. Можно ли удалить [.filename]#/usr/obj# после окончания?:: В этом каталоге содержатся все объектные файлы, которые создаются во время фазы компиляции. Обычно одним из первых шагов в процессе `make buildworld` является удаление этого каталога, чтобы начать заново. Сохранение [.filename]#/usr/obj# после окончания имеет мало смысла, а его удаление освободит приблизительно 2 ГБ дискового пространства. Могут ли быть продолжены прерванные процессы построения?:: Это зависит от того, насколько далеко зашел процесс построения перед тем, как была обнаружена проблема. В общем случае процесс `make buildworld` строит новые копии необходимых инструментальных средств и системные библиотеки. Затем эти средства и библиотеки устанавливаются. Новые инструментальные средства и библиотеки затем используются для перестроения самих себя и повторно устанавливаются. Система в целом теперь перестраивается с новыми системными файлами. + На последней стадии выполнение этих команд является достаточно безопасным, поскольку они не отменяют работу предыдущего `make buildworld`: + [source,shell] .... # cd /usr/src # make -DNO_CLEAN all .... + Если в выводе `make buildworld` появляется такое сообщение: + [source,shell] .... -------------------------------------------------------------- Building everything.. -------------------------------------------------------------- .... + то делать так вероятно достаточно безопасно. + Если такое сообщение не выводится, всегда лучше подстраховаться и запустить сборку с самого начала. Можно ли ускорить сборку мира?:: Ускорить процесс сборки мира может несколько действий. Например, весь процесс можно выполнять в однопользовательском режиме. Однако, это не позволит пользователям иметь доступ к системе, пока этот процесс не завершится. + Тщательный подход к проектированию файловой системы или использование датасетов ZFS позволит почувствовать разницу. Задумайтесь о размещении [.filename]#/usr/src# и [.filename]#/usr/obj# на различных файловых системах. По возможности размещайте файловые системы на различных дисках и дисковых контроллерах. При монтировании [.filename]#/usr/src# используйте параметр `noatime`, который отключает запись информации о времени доступа к файлу. Если [.filename]#/usr/src# не расположен на собственной файловой системе, подумайте о перемонтировании [.filename]#/usr# с `noatime`. + Файловая система, на которой располагается [.filename]#/usr/obj#, может быть смонтирована (или перемонтирована) с параметром `async`. Это приведёт к тому, что операции записи на диск будут выполняться асинхронно. Другими словами, запись будет завершаться немедленно, но данные записываться на диск несколькими секундами позже. Это позволит объединять операции записи и приведёт к значительному приросту производительности. + Файловую систему с [.filename]#/usr/obj# можно смонтировать с `async` для записи на диск в асинхронном режиме. В этом случае операции записи завершаются мгновенно, а сами данные записываются на диск через несколько секунд. Это позволяет писать кластеризованно, что может дать значительный прирост производительности. + [WARNING] ==== Имейте в виду, что эта опция делает вашу файловую систему менее устойчивой. С этой опцией имеется больше шансов, что при перезагрузке машины после неожиданного сбоя при пропадании напряжения файловая система окажется в невосстановимом состоянии. Если каталог [.filename]#/usr/obj# - это всё, что есть на этой файловой системе, то это не проблема. Если на той же самой файловой системе имеются какие-то важные данные, то проверьте давность ваших резервных копий перед включением этой опции. ==== + Выключите генерацию профилирующего кода, установив "NO_PROFILE=true" в файле [.filename]#/etc/make.conf#. + Передайте утилите man:make[1] параметр `-j__n__` для запуска параллельно нескольких процессов. Обычно это помогает вне зависимости от того, сколько процессоров установлено в машине. Что делать, если что-то пошло не так?:: Скрупулезно проверьте, чтобы в вашем окружении не было мешающих остатков от предыдущих построений: + [source,shell] .... # chflags -R noschg /usr/obj/usr # rm -rf /usr/obj/usr # cd /usr/src # make cleandir # make cleandir .... + Да, команду `make cleandir` действительно нужно выполнять дважды. + После этого повторите весь процесс снова, начиная с `make buildworld`. + Если у вас всё ещё есть проблемы, пришлите текст ошибки и вывод команды `uname -a` в {freebsd-questions}. Будьте готовы ответить на другие вопросы о конфигурации вашей системы! [[small-lan]] == Отслеживание исходных текстов для нескольких машин Если нужно отслеживать одно и то же дерево исходных текстов на множестве машин, то загрузка кода и полное перестроение системы на каждой из них выглядит как ненужная трата ресурсов: дискового пространства, пропускной способности сети и процессорного времени. Решением является выделение одной машины, которая выполняет основной объём работы, в то время как остальные используют результаты работы посредством NFS. В этом разделе описывается именно этот метод. Для получения информации об использовании NFS обращайтесь в crossref:network-servers[network-nfs,Network File System (NFS)]. Первым делом определите набор машин, на которых будет выполняться единый набор программ, который мы будем называть _набором для построения_. Каждая машина может иметь собственное уникальное ядро, но они будут работать с одними и теми же программами пользователя. Из этого набора выберите машину, которая будет являться _машиной построения_, на которой будут строиться ядро и всё окружение. В идеальном случае это быстрая машина с достаточно незагруженным CPU для выполнения команд `make buildworld` и `make buildkernel`. Выберите _тестовую машину_, которая будет выполнять проверку обновлений программного обеспечения, прежде чем они пойдут в работу. Это _должна_ быть машина, которая может находиться в нерабочем состоянии достаточно долго. Это также может быть машина построения, но не обязательно. Всем машинам в этом наборе для построения нужно смонтировать [.filename]#/usr/obj# и [.filename]#/usr/src# по NFS с машины построения. В случае нескольких наборов для построения каталог [.filename]#/usr/src# должен находиться на одной машине построения и монтироваться на остальных по NFS. Удостоверьтесь, что [.filename]#/etc/make.conf# и [.filename]#/etc/src.conf# на всех машинах в заданном наборе для построения согласуются с машиной построения. Это означает, что машина построения должна строить все те части базовой системы, которые будут устанавливаться на каждой машине из набора для построения. Кроме того, у каждой машины построения должно быть задано имя ядра в переменной `KERNCONF` в [.filename]#/etc/make.conf#, и машина построения должна перечислить их все в переменной `KERNCONF`, причём первым должно идти имя её собственного ядра. Машина построения должна хранить конфигурационные файлы ядра каждой машины в каталоге [.filename]#/usr/src/sys/arch/conf#. Постройте ядро и всё окружение на машине построения так, как это описано в <>, но ничего не устанавливайте на самой машине. Вместо этого, установите собранное ядро на тестовой машине. Для этого смонтируйте [.filename]#/usr/src# и [.filename]#/usr/obj# по NFS. Затем выполните команду `shutdown now` для перехода в однопользовательский режим, для того чтобы установить новое ядро и всё окружение, после чего выполните команду `mergemaster` обычным образом. После этих действий перезагрузитесь для возврата к обычному режиму работы в многопользовательском режиме. После того, как вы убедитесь в нормальной работе всего на тестовой машине, проведите эту процедуру для установки нового программного обеспечения на каждой из оставшихся машин в наборе для построения. Такой же подход можно использовать и для дерева портов. Сперва нужно смонтировать [.filename]#/usr/ports# по NFS на всех машинах в наборе для построения. Чтобы настроить [.filename]#/etc/make.conf# для использования общего каталога с дистрибутивными файлами, задайте переменную `DISTDIR` так, чтобы она указывала на общедоступный каталог, доступный для записи тому пользователю, который отображается в пользователя `root` для точек монтирования NFS. Каждая машина должна задавать `WRKDIRPREFIX` так, чтобы она указывала на локальный каталог, если порты будут собираться локально. Если же пакеты будут распространяться, задайте на машине построения переменную `PACKAGES`, чтобы она указывала на каталог, соответствующий `DISTDIR`. diff --git a/documentation/content/ru/books/handbook/eresources/_index.adoc b/documentation/content/ru/books/handbook/eresources/_index.adoc index ab38313b46..e542e6e826 100644 --- a/documentation/content/ru/books/handbook/eresources/_index.adoc +++ b/documentation/content/ru/books/handbook/eresources/_index.adoc @@ -1,1047 +1,1047 @@ --- title: Приложение C. Ресурсы в интернет part: Часть V. Приложения prev: books/handbook/bibliography next: books/handbook/pgpkeys --- [appendix] [[eresources]] = Ресурсы в интернет :doctype: book :icons: font :sectnums: :sectnumlevels: 6 :source-highlighter: rouge :experimental: :skip-front-matter: :toc-title: Содержание :table-caption: Таблица :figure-caption: Рисунок :example-caption: Пример :xrefstyle: basic :relfileprefix: ../ :outfilesuffix: :sectnumoffset: C include::shared/mirrors.adoc[] include::shared/authors.adoc[] include::shared/releases.adoc[] include::shared/ru/mailing-lists.adoc[] include::shared/ru/teams.adoc[] include::shared/ru/urls.adoc[] Высокая скорость прогресса FreeBSD делает непрактичным использование печатных изданий для информирования о последних разработках. Электронные ресурсы это лучший, а зачастую и единственный способ информирования о новых возможностях. Поскольку FreeBSD основывается на усилиях добровольцев, сообщество пользователей само по себе зачастую выполняет роль "службы технической поддержки", а электронная почта, веб форумы и новости USENET это наиболее эффективный способ обращения к этому сообществу. Наиболее важная контактная информация сообщества пользователей FreeBSD показана ниже. Если вам известно о других ресурсах, не упомянутых здесь, пожалуйста отправьте информацию о них в {freebsd-doc}, чтобы мы могли включить в этот документ. [[eresources-mail]] == Списки рассылки Обращение в списки рассылки является наиболее простым способом задания вопросов или открытия технических дискуссий в сосредоточенной аудитории пользователей и разработчиков FreeBSD. Существует большое разнообразие списков по десяткам разных тем FreeBSD. Обращение в наиболее подходящий список рассылки обеспечит вас более быстрым и более точным ответом. [WARNING] ==== Все сообщения в приведенные ниже списки рассылки должны быть составлены _только на английском языке_. ==== Описание каждой рассылки дано в конце этого документа. _Пожалуйста, прочтите описание перед подпиской или отправкой почты в любой из списков_. Большинство наших подписчиков получают многие сотни относящихся к FreeBSD сообщений каждый день, и определяя правила использования рассылок мы стремимся удержать высокое соотношение "сигнал к шуму". При меньшем соотношении списки рассылки перестанут быть эффективной средой общения участников проекта. [NOTE] ==== _Если вы желаете проверить возможность отправки сообщений в списки рассылки FreeBSD, пошлите тестовое сообщение на {freebsd-test}._ Пожалуйста, не шлите тестовые сообщения в любой другой список рассылки. ==== Если вы сомневаетесь, в какой именно список рассылки нужно направить вопрос, то прочтите статью link:{freebsd-questions-article}[Как эффективно использовать список рассылки FreeBSD-questions]. Перед тем, как направлять сообщение в любой список рассылки, пожалуйста, выясните, как лучше всего их использовать, например, как избежать частого повторения одних и тех же дискуссий, прочитав документ link:{mailing-list-faq}[Часто задаваемые вопросы о списках рассылки] (FAQ). Архивы поддерживаются для всех списков рассылки и поиск по ним организован на link:https://www.FreeBSD.org/ru/search/[WWW сервере FreeBSD]. Поиск в архиве по ключевым словам дает отличный способ получения ответов на часто задаваемые вопросы и должен быть выполнен перед отправкой вопроса. Следует также отметить то, что отправленные в списки рассылок сообщения сохраняются в архивах навсегда. Если есть необходимость сохранить приватность, то задействуйте любой доступный вам второстепенный адрес электронной почты, предоставляя в сообщении лишь публичную информацию. [[eresources-summary]] === Списки рассылки _Общие списки:_ Ниже представлены общие списки рассылки, к которым каждый может (и приглашается) присоединиться: [.informaltable] [cols="1,1", frame="none", options="header"] |=== | Список | Назначение |link:{freebsd-advocacy-url}[freebsd-advocacy] |В защиту FreeBSD |{freebsd-announce} |Важные события и вехи проекта |link:{freebsd-arch-url}[freebsd-arch] |Обсуждения архитектуры и дизайна системы |link:{freebsd-bugbusters-url}[freebsd-bugbusters] |Обсуждения, относящиеся к поддержке базы данных сообщений о проблемах FreeBSD и соответствующим инструментам |link:{freebsd-bugs-url}[freebsd-bugs] |Сообщения о проблемах |link:{freebsd-chat-url}[freebsd-chat] |Не-технические темы, относящиеся к сообществу FreeBSD |link:{freebsd-chromium-url}[freebsd-chromium] |Вопросы, относящиеся к Chromium во FreeBSD |{freebsd-current} |Обсуждения, относящиеся к использованию FreeBSD-CURRENT |link:{freebsd-isp-url}[freebsd-isp] |Вопросы использования FreeBSD провайдерами |link:{freebsd-jobs-url}[freebsd-jobs] |Вакансии и резюме, относящиеся к FreeBSD, с полной и частичной занятостью |link:{freebsd-policy-url}[freebsd-policy] |Публикация правил FreeBSD Core team. Только для чтения, малое количество сообщений |link:{freebsd-questions-url}[freebsd-questions] |Вопросы пользователей и техническая поддержка |{freebsd-security-notifications} |Уведомления безопасности |{freebsd-stable} |Обсуждения, относящиеся к использованию FreeBSD-STABLE |{freebsd-test} |Рассылка для отправки тестовых сообщений (вместо обычных списков рассылки |=== _Технические списки:_ Следующие списки предназначены для технических обсуждений. Вам необходимо внимательно прочитать описание перед подпиской или отправкой почты в один из этих списков, поскольку они предназначены для использования внутри проекта. [.informaltable] [cols="1,1", frame="none", options="header"] |=== | Список | Назначение |{freebsd-acpi} |Разработка ACPI и системы управления энергопотреблением |link:{freebsd-afs-url}[freebsd-afs] |Портирование AFS на FreeBSD |link:{freebsd-aic7xxx-url}[freebsd-aic7xxx] |Разработка драйверов для Adaptec(R) AIC 7xxx |link:{freebsd-amd64-url}[freebsd-amd64] |Портирование FreeBSD на системы AMD64 |link:{freebsd-apache-url}[freebsd-apache] |Обсуждение портов, относящихся к Apache |link:{freebsd-arm-url}[freebsd-arm] |Портирование FreeBSD на процессоры ARM(R) |link:{freebsd-atm-url}[freebsd-atm] |Использование ATM сетей с FreeBSD |link:{freebsd-audit-url}[freebsd-audit] |Проект аудита исходных текстов |link:{freebsd-binup-url}[freebsd-binup] |Дизайн и разработка системы бинарных обновлений |link:{freebsd-bluetooth-url}[freebsd-bluetooth] |Использование технологии Bluetooth(R) во FreeBSD |link:{freebsd-cluster-url}[freebsd-cluster] |Использование FreeBSD в кластерах |link:{freebsd-cvsweb-url}[freebsd-cvsweb] |Поддержка CVSweb |link:{freebsd-database-url}[freebsd-database] |Обсуждение использования и разработки баз данных под FreeBSD |link:{freebsd-doc-url}[freebsd-doc] |Создание относящихся к FreeBSD документов |link:{freebsd-drivers-url}[freebsd-drivers] |Создание драйверов устройств для FreeBSD |link:{freebsd-eclipse-url}[freebsd-eclipse] |Использование в FreeBSD Eclipse IDE, а также приложений и портов для нее. |link:{freebsd-eol-url}[freebsd-eol] |Взаимная поддержка относящегося к FreeBSD программного обеспечения, более не поддерживаемого проектом FreeBSD. |link:{freebsd-embedded-url}[freebsd-embedded] |Использование FreeBSD во встроенных системах |link:{freebsd-emulation-url}[freebsd-emulation] |Эмуляция других систем, таких как Linux/MS-DOS(R)/Windows(R) |link:{freebsd-firewire-url}[freebsd-firewire] |Техническое обсуждение FreeBSD FireWire(R) (iLink, IEEE 1394) |link:{freebsd-fs-url}[freebsd-fs] |Файловые системы |link:{freebsd-gecko-url}[freebsd-gecko] |Проблемы со средствами визуализации Gecko |link:{freebsd-geom-url}[freebsd-geom] |Относящиеся к GEOM обсуждения и реализации |link:{freebsd-gnome-url}[freebsd-gnome] |Портирование GNOME и приложений GNOME |link:{freebsd-hackers-url}[freebsd-hackers] |Общее техническое обсуждение |link:{freebsd-hardware-url}[freebsd-hardware] |Общее обсуждение оборудования для FreeBSD |link:{freebsd-i18n-url}[freebsd-i18n] |Интернационализация FreeBSD |link:{freebsd-ia32-url}[freebsd-ia32] |FreeBSD на платформе IA-32 (Intel(R) x86) |link:{freebsd-ia64-url}[freebsd-ia64] |Портирование FreeBSD на будущие системы Intel(R) IA64 |link:{freebsd-ipfw-url}[freebsd-ipfw] |Технические обсуждения, относящиеся к переработке кода IP брандмауэра |link:{freebsd-isdn-url}[freebsd-isdn] |Разработчики ISDN |link:{freebsd-jail-url}[freebsd-jail] |Обсуждение man:jail[8] |link:{freebsd-java-url}[freebsd-java] |Разработчики Java(TM) и те, кто занимается переносом JDK(TM) на FreeBSD |link:{freebsd-kde-url}[freebsd-kde] |Портирование KDE и приложений KDE |link:{freebsd-lfs-url}[freebsd-lfs] |Портирование LFS на FreeBSD |link:{freebsd-libh-url}[freebsd-libh] |Второе поколение программы установки системы и пакетов |link:{freebsd-mips-url}[freebsd-mips] |Портирование FreeBSD на MIPS(R) |link:{freebsd-mobile-url}[freebsd-mobile] |Обсуждение портативных компьютеров |link:{freebsd-mono-url}[freebsd-mono] |Mono и C# приложения на FreeBSD |link:{freebsd-mozilla-url}[freebsd-mozilla] |Портирование Mozilla на FreeBSD |{freebsd-multimedia} |Мультимедиа приложения |link:{freebsd-new-bus-url}[freebsd-new-bus] |Технические обсуждения архитектуры шины |link:{freebsd-net-url}[freebsd-net] |Обсуждения, относящиеся к сети и исходному тексту TCP/IP |link:{freebsd-office-url}[freebsd-office] |Офисные приложения во FreeBSD |link:{freebsd-performance-url}[freebsd-performance] |Вопросы оптимизации производительности для быстрых/работающих под большой нагрузкой серверов |link:{freebsd-perl-url}[freebsd-perl] |Поддержка различных портов, относящихся к Perl |link:{freebsd-pf-url}[freebsd-pf] |Обсуждение брандмауэра на базе packet filter |link:{freebsd-platforms-url}[freebsd-platforms] |Относится к портам для платформ не-Intel(R) архитектуры |link:{freebsd-ports-url}[freebsd-ports] |Обсуждения Коллекции Портов |link:{freebsd-ports-bugs-url}[freebsd-ports-bugs] |Обсуждения относящихся к портам ошибок/PR |link:{freebsd-ppc-url}[freebsd-ppc] |Портирование FreeBSD на PowerPC(R) |link:{freebsd-proliant-url}[freebsd-proliant] |Работа FreeBSD на серверной платформе HP ProLiant |link:{freebsd-python-url}[freebsd-python] |Вопросы, специфичные для использования Python во FreeBSD |link:{freebsd-rc-url}[freebsd-rc] |Обсуждения, касающиеся системы [.filename]#rc.d# и работы над ней |link:{freebsd-realtime-url}[freebsd-realtime] |Разработка расширений реального времени для FreeBSD |link:{freebsd-ruby-url}[freebsd-ruby] |Обсуждения, касающиеся специфики использования Ruby во FreeBSD |link:{freebsd-scsi-url}[freebsd-scsi] |Подсистема SCSI |{freebsd-security} |Сообщения безопасности, касающиеся FreeBSD |link:{freebsd-small-url}[freebsd-small] |Использование FreeBSD во встроенных приложениях (устарел; следует использовать link:{freebsd-embedded-url}[freebsd-embedded]) |link:{freebsd-sparc64-url}[freebsd-sparc64] |Портирование FreeBSD на системы, основанные на SPARC(R) |link:{freebsd-standards-url}[freebsd-standards] |Соответствие FreeBSD стандартам C99 и POSIX(R) |link:{freebsd-sysinstall-url}[freebsd-sysinstall] |Разработка man:sysinstall[8] |link:{freebsd-threads-url}[freebsd-threads] |Потоки в FreeBSD |link:{freebsd-testing-url}[freebsd-testing] |Тестирование производительности и стабильности FreeBSD |link:{freebsd-tilera-url}[freebsd-tilera] |Портирование FreeBSD на процессоры Tilera |link:{freebsd-tokenring-url}[freebsd-tokenring] |Поддержка Token Ring в FreeBSD |link:{freebsd-toolchain-url}[freebsd-toolchain] |Поддержка встроенных инструментальных средств FreeBSD |link:{freebsd-usb-url}[freebsd-usb] |Обсуждение поддержки USB в FreeBSD |link:{freebsd-virtualization-url}[freebsd-virtualization] |Обсуждение различных техник виртуализации, поддерживаемых FreeBSD |link:{freebsd-vuxml-url}[freebsd-vuxml] |Обсуждение инфраструктуры VuXML |link:{freebsd-x11-url}[freebsd-x11] |Сопровождение и поддержка X11 в FreeBSD |link:{freebsd-xen-url}[freebsd-xen] |Обсуждение портирования FreeBSD на Xen(TM) - реализация и использование |=== _Ограниченные списки:_ Следующие списки рассылки предназначены для более специализированной (и более официальной) аудитории и вероятно не могут заинтересовать широкую публику. Вероятно хорошей идеей будет сначала наладить общение в технических списках рассылки перед присоединением к ограниченным спискам, так вы сможете освоить этику общения. [.informaltable] [cols="1,1", frame="none", options="header"] |=== | Список | Назначение |link:{freebsd-hubs-url}[freebsd-hubs] |Люди, поддерживающие зеркала (поддержка инфраструктуры) |link:{freebsd-user-groups-url}[freebsd-user-groups] |Координация групп пользователей |link:{freebsd-vendors-url}[freebsd-vendors] |Координация поставщиков перед релизом |link:{freebsd-wip-status-url}[freebsd-wip-status] |Статус начатых работ (Work-In-Progress) во FreeBSD |link:{freebsd-wireless-url}[freebsd-wireless] |Обсуждение разработки стека 802.11, утилит, драйверов устройств |link:{freebsd-www-url}[freebsd-www] |Ответственные за link:https://www.FreeBSD.org/[www.FreeBSD.org] |=== _Дайджест рассылки:_ Все вышеприведенные списки доступны в формате дайджеста. После подписки на рассылку, вы можете изменить параметры дайджеста в разделе настроек учетной записи. _CVS и SVN рассылки:_ Следующие рассылки предназначены для людей, заинтересованных в просмотре сообщений об изменении в различных областях дерева исходных текстов. Это списки _только для чтения_ и вы не должны отправлять туда почту. [.informaltable] [cols="1,1,1", frame="none", options="header"] |=== | Рассылка | Область исходного текста | Описание области исходного текста |link:{cvs-all-url}[cvs-all] |[.filename]#/usr/(CVSROOT\|doc\|ports)# |Все изменения в любой области дерева исходных текстов (надмножество других списков рассылки CVS) |link:{cvs-doc-url}[cvs-doc] |[.filename]#/usr/(doc\|www)# |Все изменения в дереве исходных текстов документации и Web-сервера |link:{cvs-ports-url}[cvs-ports] |[.filename]#/usr/ports# |Все изменения в дереве портов |link:{cvs-projects-url}[cvs-projects] |[.filename]#/usr/projects# |Все изменения в дереве проектов |link:{cvs-src-url}[cvs-src] |[.filename]#/usr/src# |Все изменения в дереве исходных текстов системы (создаваемых во время импорта из SVN в CVS) |{svn-src-all} |[.filename]#/usr/src# |Все изменения в репозитории Subversion (за исключением [.filename]#user# и [.filename]#projects#) |{svn-src-head} |[.filename]#/usr/src# |Все изменения в ветке "head" репозитория Subversion (ветка FreeBSD-CURRENT) |link:{svn-src-projects-url}[svn-src-projects] |[.filename]#/usr/projects# |Все изменения в части [.filename]#projects# дерева исходных текстов репозитория Subversion |link:{svn-src-release-url}[svn-src-release] |[.filename]#/usr/src# |Все изменения в части [.filename]#release# дерева исходных текстов репозитория Subversion |link:{svn-src-releng-url}[svn-src-releng] |[.filename]#/usr/src# |Все изменения в части [.filename]#releng# дерева исходных текстов репозитория Subversion |link:{svn-src-stable-url}[svn-src-stable] |[.filename]#/usr/src# |Все изменения во всех ветках stable дерева исходных текстов репозитория Subversion |link:{svn-src-stable-6-url}[svn-src-stable-6] |[.filename]#/usr/src# |Все изменения в ветке [.filename]#stable/6# дерева исходных текстов репозитория Subversion |link:{svn-src-stable-7-url}[svn-src-stable-7] |[.filename]#/usr/src# |Все изменения в ветке [.filename]#stable/7# дерева исходных текстов репозитория Subversion |link:{svn-src-stable-8-url}[svn-src-stable-8] |[.filename]#/usr/src# |Все изменения в ветке [.filename]#stable/8# дерева исходных текстов репозитория Subversion |link:{svn-src-stable-other-url}[svn-src-stable-other] |[.filename]#/usr/src# |Все изменения в предыдущих ветках [.filename]#stable# дерева исходных текстов репозитория Subversion |link:{svn-src-svnadmin-url}[svn-src-svnadmin] |[.filename]#/usr/src# |Все изменения в административных скриптах, хуках (hook) и других конфигурационных параметрах дерева исходных текстов репозитория Subversion |link:{svn-src-user-url}[svn-src-user] |[.filename]#/usr/src# |Все изменения в экспериментальной части [.filename]#user# дерева исходных текстов репозитория Subversion |link:{svn-src-vendor-url}[svn-src-vendor] |[.filename]#/usr/src# |Все изменения в части дерева исходных текстов репозитория Subversion, выделенной для работы поставщиков (vendor) |=== [[eresources-subscribe]] === Как подписаться -Для подписки на рассылку, нажмите на название списка рассылки выше или воспользуйтесь ссылкой {mailman-lists-url} и нажмите на имя рассылки, которой вы заинтересовались. Страница списка рассылки содержит все необходимые инструкции по подписке. +Для подписки на рассылку, нажмите на название списка рассылки выше или воспользуйтесь ссылкой {mailing-lists-url} и нажмите на имя рассылки, которой вы заинтересовались. Страница списка рассылки содержит все необходимые инструкции по подписке. Для отправки сообщения в выбранный список рассылки, отправьте письмо в mailto:listname@FreeBSD.org[listname@FreeBSD.org]. Это письмо будет разослано участникам рассылки по всему миру. Для отписки от рассылки, нажмите на ссылку, находящуюся внизу каждого письма, отправляемого через список рассылки. Возможна также отписка путем отправки письма на mailto:listname-unsubscribe@FreeBSD.org[listname-unsubscribe@FreeBSD.org]. Напоминаем, что обсуждение в технических списках рассылки должно оставаться в рамках технической темы. Если вас интересует только получение важных анонсов, мы предлагаем подписаться на рассылку с небольшим трафиком {freebsd-announce}. [[eresources-charters]] === Описание рассылок _Все_ списки рассылки FreeBSD имеют определенные основные правила, которых должен придерживаться каждый использующий их. Несоблюдение этих правил приведет к отправлению двух (2) предупреждений от FreeBSD Postmaster mailto:postmaster@FreeBSD.org[postmaster@FreeBSD.org], после которых, после третьего нарушения, подписчик будет удален из всех списков рассылки FreeBSD и дальнейшие его сообщения будут отфильтровываться. Мы сожалеем, что эти правила и меры вообще необходимы, но современный интернет это довольно суровая среда и многие его механизмы довольно слабы. Основные правила: * Тема любого сообщения должна соответствовать назначению списка рассылки, в который это сообщение отправляется. Например, если список рассылки посвящен техническим вопросам, сообщение должно быть техническим. Продолжающееся обсуждение вне темы, или флейм только понижают ценность рассылки для всех ее участников и поэтому не разрешаются. Для обсуждений вне какой-либо определенной темы необходимо использовать {freebsd-chat}, специально для этого предназначенный. * Ни одно сообщение не должно отправляться более чем в 2 рассылки, отправка сообщения в 2 рассылки должна выполняться только при наличии простой и очевидной причины для дублирования сообщения. В большинстве рассылок подписчикам уже приходит много избыточного материала, и за исключением редких случаев (скажем, "-stable & -scsi"), на самом деле нет причины отправлять сообщение более чем в один список рассылки. Если сообщение отправлено вам так, что в поле `Cc` находятся несколько списков рассылки, необходимо урезать поле `Cc` перед отправкой ответа. _Именно вы отвечаете за собственные сообщения, независимо от того, кто был автором исходного письма._ * Персональные нападки и профанация (в контексте аргументов) не разрешены, это относится и к пользователям, и к разработчикам. Грубые нарушения сетевой этики, такие как цитирование или пересылка личной переписки без специального на то разрешения, осуждаются но специальные меры в этом случае не принимаются. _Однако_, существует несколько специальных случаев, когда такие письма не отвечают назначению списка рассылки и, следовательно, могут повлечь отправку предупреждения (или исключение из списка рассылки). * Реклама не-FreeBSD продуктов или сервисов строго запрещена и исключение из списка рассылки последует незамедлительно, если станет очевидным, что это спам. _Описания рассылок:_ {freebsd-acpi}:: _Разработка ACPI и системы управления энергопотреблением_ link:{freebsd-afs-url}[freebsd-afs]:: _Andrew File System_ + Этот список предназначен для обсуждения портирования и использования AFS от CMU/Transarc {freebsd-announce}:: _Важные события / вехи проекта_ + Этот список рассылки предназначен для тех, кто интересуется только периодическими анонсами значительных событий FreeBSD. Сюда включаются анонсы снэпшотов и других релизов, а также новых возможностей FreeBSD. Рассылка может содержать призыв к добровольцам и т.п. Это строго модерируемый список рассылки с малым объемом трафика. link:{freebsd-arch-url}[freebsd-arch]:: _Обсуждение архитектуры и дизайна системы_ + Эта рассылка предназначена для обсуждения архитектуры FreeBSD. Сообщения в основном строго технические. Примеры подходящих тем: ** Как изменить систему сборки для одновременной сборки нескольких по-разному настроенных систем. ** Что необходимо исправить в VFS для включения слоев Heidemann. ** Как необходимо изменить интерфейс драйверов устройств для использования одних и тех же драйверов на множестве шин и архитектур. ** Как написать сетевой драйвер. link:{freebsd-audit-url}[freebsd-audit]:: _Проект аудита исходных текстов_ + Это список рассылки для проекта аудита исходных текстов FreeBSD. Хотя первоначально он предназначался для изменений, связанных с безопасностью, его назначение было расширено для пересмотра всех изменений кода. + В эту рассылку отправляется большой объем исправлений, и она вероятно не представляет интереса для обычного пользователя FreeBSD. Обсуждения безопасности, не относящиеся к определенному изменению в коде, ведутся в freebsd-security. Разработчикам предлагается отправлять изменения в этот список рассылки для просмотра, особенно если эти изменения затрагивают части кода, ошибки в которых могут повлечь нарушение целостности системы. link:{freebsd-binup-url}[freebsd-binup]:: _Проект бинарного обновления FreeBSD_ + Этот список предназначен для обсуждений системы бинарного обновления системы, или binup. В этой рассылке обсуждаются вопросы дизайна, детали реализации, исправления, сообщения об ошибках, сообщения о статусе, запросы на расширение функциональности, протоколы коммитов, и все, что относится к binup. link:{freebsd-bluetooth-url}[freebsd-bluetooth]:: _Bluetooth(R) во FreeBSD_ + Это форум, где собираются пользователи Bluetooth(R) во FreeBSD. Обсуждения касаются вопросов архитектуры, деталей реализации, патчей, сообщений об ошибках, состояния работы, запросов на добавление функций и всего, что относится к Bluetooth(R). link:{freebsd-bugbusters-url}[freebsd-bugbusters]:: _Координация усилий по обработке сообщений о проблемах_ + Назначение этой рассылки в координации и предоставлении места для обсуждения для лиц, обслуживающих базу данных сообщений о проблемах (bugmeister, bugbusters) и для всех сторон, интересующихся базой данных PR. Эта рассылка не предназначена для обсуждения отдельных проблем, исправлений или PR. link:{freebsd-bugs-url}[freebsd-bugs]:: _Сообщения об ошибках_ + Этот список рассылки предназначен для отправки сообщений об ошибках в FreeBSD. Когда это возможно, сообщения должны отправляться с использованием man:send-pr[1] или через link:https://www.FreeBSD.org/ru/send-pr/[WEB интерфейс] к `send-pr`. link:{freebsd-chat-url}[freebsd-chat]:: _Не-технические темы, относящиеся к сообществу FreeBSD_ + В эту рассылку входят все темы, не подходящие для других рассылок, с не-технической, социальной информацией. Она включает обсуждения на темы: кто пьет слишком много кофе, где варят лучшее пиво, кто варит пиво в своем подвале, и так далее. Нерегулярные анонсы важных событий (такие как будущие встречи, свадьбы, дни рождения, новая работа и т.д.) могут быть опубликованы в технических рассылках, но ответы должны отправляться в -chat. link:{freebsd-chromium-url}[freebsd-chromium]:: _Вопросы, относящиеся к Chromium во FreeBSD_ + Список рассылки, предназначенный для обсуждения поддержки Chromium во FreeBSD. Это технический список рассылки, в котором обговаривается разработка и установка Chromium. {core-name}:: _Команда FreeBSD core_ + Это внутренний список рассылки, используемый членами core. Сообщения в эту рассылку могут быть отправлены по серьезной, имеющей отношение к FreeBSD причине, которая требует рассмотрения на самом высоком уровне. {freebsd-current}:: _Обсуждения, касающиеся использования FreeBSD-CURRENT_ + Это список рассылки для пользователей FreeBSD-CURRENT. Он включает предупреждения о новых возможностях, вносимых в -CURRENT, влияющих на пользователей, и инструкции относительно действий, которые должны быть предприняты для поддержки -CURRENT. Всякий, работающий с "CURRENT", должен подписаться на эту рассылку. Это технический список рассылки, все сообщения должны быть строго техническими. link:{freebsd-cvsweb-url}[freebsd-cvsweb]:: _FreeBSD CVSweb Project_ + Технические обсуждения использования, разработки и поддержки FreeBSD-CVSweb. link:{freebsd-doc-url}[freebsd-doc]:: _Проект документирования_ + Этот список рассылки предназначен для обсуждения вопросов и проектов, относящихся к созданию документации для FreeBSD. Члены этой рассылки все вместе обозначаются как "The FreeBSD Documentation Project". Это открытая рассылка; присоединяйтесь и участвуйте! link:{freebsd-drivers-url}[freebsd-drivers]:: _Создание драйверов устройств для FreeBSD_ + Этот список рассылки предназначен для технических дискуссий, относящихся к написанию драйверов устройств для FreeBSD. Это наилучшее место для того, чтобы задать вопросы по форматам и протоколам общенияi (API) драйверов устройств с ядром FreeBSD. link:{freebsd-eclipse-url}[freebsd-eclipse]:: _Список рассылки для пользователей системы Eclipse IDE под FreeBSD, а также ее приложений и портов._ + Этот список рассылки призван оказать помощь тем, кто выбирает, устанавливает, использует, разрабатывает и поддерживает работу Eclipse IDE под FreeBSD, а также портирует их под FreeBSD. + Кроме того, в данном списке для общего блага пересекаются и обмениваются информацией сообщества Eclipse и FreeBSD. + Хотя данный список предназначен главным образом для тех, кто использует Eclipse, в нем также можно обсуждать средства разработки приложений для FreeBSD при помощи среды Eclipse. link:{freebsd-embedded-url}[freebsd-embedded]:: _Использование FreeBSD во встроенных системах_ + Этот список рассылки, предназначенный для технических обсуждений, рассматривает работу FreeBSD в особо стесненных условиях, в частности, во встроенных (embedded) системах. В данном случае встроенными считаются вычислительные устройства, отличные от настольных компьютеров и выполняющие, как правило, специализированные задачи. Примером могут служить смартфоны, сетевые устройства, такие как маршрутизаторы, коммутаторы и офисные АТС, телеметрические системы, КПК, кассовые терминалы и т.п. link:{freebsd-emulation-url}[freebsd-emulation]:: _Эмуляция других систем, таких как Linux/MS-DOS(R)/Windows(R) _ + Этот список рассылки предназначен для обсуждения вопросов запуска и эксплуатации под FreeBSD программ, предназначенных для работы под другими операционными системами. link:{freebsd-eol-url}[freebsd-eol]:: _Взаимная поддержка относящегося к FreeBSD программного обеспечения, более не поддерживаемого проектом FreeBSD._ + Этот список рассылки предназначен для интересующихся предоставлением или использованием взаимной поддержки относящегося к FreeBSD программного обеспечения, для которого проект FreeBSD более не предоставляет официальной поддержки (например, в виде сообщений безопасности или патчей). link:{freebsd-firewire-url}[freebsd-firewire]:: _FireWire(R) (iLink, IEEE 1394)_ + Это список рассылки, предназначенный для обсуждения дизайна и реализации подсистемы FireWire(R) (также известной как IEEE 1394 или iLink) в FreeBSD. Соответствующие темы относятся к стандартам, устройствам шины и их протоколам, наборам плат/карт/чипов адаптера, а также архитектуре и реализации кода для их правильной поддержки. link:{freebsd-fs-url}[freebsd-fs]:: _Файловые системы_ + Обсуждения, относящиеся к файловым системам FreeBSD. Это технический список рассылки, предназначенный только для технических обсуждений. link:{freebsd-gecko-url}[freebsd-gecko]:: _Средства визуализации Gecko_ + Дискуссия о приложениях Gecko, используемых на FreeBSD. + Обсуждение сосредоточено вокруг портированных приложений Gecko, их установки, разработки и поддержки во FreeBSD. link:{freebsd-geom-url}[freebsd-geom]:: _GEOM_ + Обсуждения, относящиеся к GEOM и связанным с GEOM реализациям. Это технический список рассылки, предназначенный только для технических обсуждений. link:{freebsd-gnome-url}[freebsd-gnome]:: _GNOME_ + Обсуждения, относящиеся к графической среде GNOME для системы FreeBSD. Это технический список рассылки, предназначенный только для технических обсуждений. link:{freebsd-ipfw-url}[freebsd-ipfw]:: _IP брандмауэр_ + Это форум для технических обсуждений, относящихся к перепроектированию кода межсетевого экрана IP во FreeBSD. Это технический список рассылки, предназначенный только для технических обсуждений. link:{freebsd-ia64-url}[freebsd-ia64]:: _Портирование FreeBSD на IA64_ + Это технический список рассылки для тех, кто активно работает над портированием FreeBSD на платформу IA-64 от Intel(R), предназначенный для поднятия вопросов или обсуждения альтернативных решений. Те, кто интересуется обсуждаемыми проблемами, также приглашаются к участию в рассылке. link:{freebsd-isdn-url}[freebsd-isdn]:: _ISDN соединения_ + Это список рассылки для обсуждения разработки поддержки ISDN для FreeBSD. link:{freebsd-java-url}[freebsd-java]:: _Разработка Java(TM)_ + Этот список рассылки предназначен для обсуждения ключевых приложений Java(TM) для FreeBSD, а также портирования и поддержки JDK(TM). [[eresources-charters-jobs]] link:{freebsd-jobs-url}[freebsd-jobs]:: _Предложение и поиск работы_ + Это форум для публикации вакансий и резюме, относящихся к FreeBSD. Например, если вы ищете работу, относящеюся к FreeBSD, или у вас есть работа, связанная с FreeBSD, вы можете разместить соответствующую информацию именно здесь. Эта рассылка _не_ предназначена для обсуждения общих вопросов о приеме на работу, поскольку форумы на соответствующие темы уже существуют на других сайтах. + Имейте ввиду, что эта рассылка, как и другие рассылки `FreeBSD.org`, распространяется по всему миру. Поэтому вам необходимо чётко указать свое местоположение и область, с которой возможны телекоммуникации или помощь в перемещении. + Письма должны быть составлены только в открытых форматах - предпочтителен чистый текст, но Portable Document Format (PDF), HTML, и некоторые другие форматы могут быть прочитаны многими. Закрытые форматы, такие как Microsoft(R) Word ([.filename]#.doc#) будут отброшены сервером почтовой рассылки. link:{freebsd-kde-url}[freebsd-kde]:: _KDE_ + Обсуждения, относящиеся к KDE в системах FreeBSD. Это технический список рассылки, предназначенный только для технических обсуждений. link:{freebsd-hackers-url}[freebsd-hackers]:: _Технические обсуждения_ + Это форум для технических обсуждений, относящихся к FreeBSD. Это в основном технический список рассылки. Он предназначен для тех, кто активно работает над FreeBSD, и служит для поднятия вопросов или обсуждения альтернативных решений. Те, кто интересуется обсуждаемыми вопросами, также приглашаются к участию в обсуждении. Это технический список рассылки, предназначенный только для технических обсуждений. link:{freebsd-hardware-url}[freebsd-hardware]:: _Общее обсуждение оборудования FreeBSD_ + Общее обсуждение типов оборудования, на котором работает FreeBSD, различных проблем и предложений относительно того, какое оборудование можно покупать а какое нет. link:{freebsd-hubs-url}[freebsd-hubs]:: _Сайты зеркал_ + Анонсы и обсуждения для поддерживающих зеркала FreeBSD. link:{freebsd-isp-url}[freebsd-isp]:: _Вопросы использования FreeBSD провайдерами_ + Этот список рассылки предназначен для обсуждения тем, имеющих значение для провайдеров, использующих FreeBSD. Это технический список рассылки, предназначенный только для технических обсуждений. link:{freebsd-mono-url}[freebsd-mono]:: _Mono и C# приложения на FreeBSD_ + Этот список рассылки посвящен обсуждениям разработки инфраструктуры Mono на FreeBSD. Это технический список рассылки, который предназначен для людей, активно работающих над портированием Mono или C# приложений на FreeBSD, для освещения проблем или обсуждения альтернативных решений. Также к дискуссии приглашаются все заинтересованные данной темой. link:{freebsd-office-url}[freebsd-office]:: _Офисные приложения во FreeBSD_ + Тема этого списка рассылки - офисные приложения, установка офисных приложений, их разработка и поддержка во FreeBSD. link:{freebsd-performance-url}[freebsd-performance]:: _Обсуждения оптимизации или повышения скорости FreeBSD_ + Этот список рассылки существует как место для обсуждения тем, имеющих отношение к производительности FreeBSD, хакерами, администраторами, и/или заинтересованными сторонами. Приемлемые темы включают обсуждения установок FreeBSD, которые находятся под высокой нагрузкой и сталкиваются с проблемами производительности, или преодоление ограничений FreeBSD. Заинтересованным сторонам, собирающимся работать над улучшением производительности FreeBSD, настоятельно рекомендуется подписаться на эту рассылку. Это техническая рассылка, идеально подходящая для пользователей, хакеров или администраторов, заинтересованных в скорости, стабильности и расширяемости FreeBSD. Это не рассылка вопросов-и-ответов, заменяющая чтение документации, а место, где можно внести свой вклад или получить информацию по еще незатронутой теме, связанной с производительностью. link:{freebsd-pf-url}[freebsd-pf]:: _Обсуждение брандмауэра на базе packet filter_ + Обсуждения, касающиеся работы пакетного фильтра pf под FreeBSD. Допускаются как вопросы пользователей, так и технические дискуссии. Помимо этого, в данном списке уместно обсуждать инфраструктуру ALTQ QoS. link:{freebsd-platforms-url}[freebsd-platforms]:: _Портирование на не-Intel(R) платформы_ + Кросс-платформенные вопросы FreeBSD, общее обсуждение и предложения для не-Intel(R) портов FreeBSD. Это технический список рассылки, предназначенный только для технических обсуждений. link:{freebsd-policy-url}[freebsd-policy]:: _Правила core team_ + Это рассылка с малым количеством сообщений, только для чтения, предназначенная для публикации решений FreeBSD Core Team. link:{freebsd-ports-url}[freebsd-ports]:: _Обсуждения "ports"_ + Обсуждения, относящиеся к "коллекции портов" FreeBSD, ([.filename]#/usr/ports#), инфраструктуры портов и общих усилий по координации портов. Это технический список рассылки, предназначенный только для технических обсуждений. link:{freebsd-ports-bugs-url}[freebsd-ports-bugs]:: _Обсуждение проблем в "ports"_ + Обсуждения, относящиеся к сообщениям о проблемах для "коллекции портов" FreeBSD ([.filename]#/usr/ports#), предлагаемых портов, или изменений к портам. Это технический список рассылки, предназначенный только для технических обсуждений. link:{freebsd-proliant-url}[freebsd-proliant]:: _Работа FreeBSD на серверной платформе HP ProLiant_ + Этот список используется для обсуждения технических аспектов использования FreeBSD на серверах HP ProLiant, в том числе для обсуждения специфичных для ProLiant драйверов, управляющего ПО, систем конфигурации и обновлений BIOS. В частности, это основное место для обсуждения модулей hpasmd, hpasmcli и hpacucli. link:{freebsd-python-url}[freebsd-python]:: _Python во FreeBSD_ + Этот список рассылки посвящён обсуждениям, связанным с улучшением поддержки Python во FreeBSD. Это технический список рассылки. Он предназначен тем, кто работает над портированием во FreeBSD языка Python, модулей сторонних разработчиков для него и Zope. К участию приглашаются также все, кому интересны технические вопросы. link:{freebsd-questions-url}[freebsd-questions]:: _Вопросы пользователей_ + Это список рассылки по вопросам о FreeBSD. Вы не должны отправлять вопросы "как сделать" в технические рассылки, если только не уверены, что ваш вопрос чисто технический. link:{freebsd-ruby-url}[freebsd-ruby]:: _Обсуждения, касающиеся специфики использования Ruby во FreeBSD_ + Список рассылки по вопросам поддержки Ruby на FreeBSD. Это технический список рассылки, который предназначен для людей, работающих над портами Ruby, над инфраструктурой и библиотеками от третьих сторон. + Также к обсуждению приглашаются все, кто заинтересован этой технической дискуссией. link:{freebsd-scsi-url}[freebsd-scsi]:: _Подсистема SCSI_ + Это список рассылки для тех, кто работает над подсистемой SCSI для FreeBSD. Это технический список рассылки, предназначенный только для технических обсуждений. {freebsd-security}:: _Вопросы безопасности_ + Вопросы безопасности FreeBSD (DES, Kerberos, известные проблемы безопасности и исправления, и т.п.). Это технический список рассылки, предназначенный только для технических обсуждений. Обратите внимание, что это не рассылка вопросов-и-ответов, но дополнения в FAQ (И вопрос И ответ) приветствуются. {freebsd-security-notifications}:: _Уведомления безопасности_ + Уведомления о проблемах безопасности FreeBSD и исправления. Эта рассылка не предназначена для обсуждений. Для обсуждения предназначена рассылка FreeBSD-security. link:{freebsd-small-url}[freebsd-small]:: _Использование FreeBSD во встроенных приложениях_ + В этой рассылке обсуждаются темы, связанные с необычно малыми и встроенными установками FreeBSD. Это технический список рассылки, предназначенный только для технических обсуждений. + [NOTE] ==== Этот список рассылки устарел; следует использовать link:{freebsd-embedded-url}[freebsd-embedded]. ==== {freebsd-stable}:: _Обсуждения, касающиеся использования FreeBSD-STABLE_ + Этот список рассылки предназначен для пользователей FreeBSD-STABLE. Он включает предупреждения о новых возможностях, добавляемых в -STABLE, и влияющих на пользователей, и инструкции по действиям, которые необходимы для поддержки системы в состоянии -STABLE. Всякий, использующий "STABLE", должен подписаться на эту рассылку. Это технический список рассылки, предназначенный только для технических обсуждений. link:{freebsd-standards-url}[freebsd-standards]:: _Соответствие C99 и POSIX_ + Это форум для технических обсуждений, относящихся к соответствию FreeBSD стандартам C99 и POSIX. link:{freebsd-toolchain-url}[freebsd-toolchain]:: _Поддержка встроенных инструментальных средств FreeBSD_ + Список рассылки для технических дискуссий, относящихся к поддержке инструментальных средств, поставляемых с FreeBSD. Сюда включено состояние Clang и GCC, а также части программного обеспечения, такого как ассемблеры, компоновщики и отладчики. link:{freebsd-usb-url}[freebsd-usb]:: _Обсуждение поддержки USB в FreeBSD_ + Это форум для технических обсуждений, относящихся к поддержке в FreeBSD устройств с интерфейсом USB. link:{freebsd-user-groups-url}[freebsd-user-groups]:: _Список координации групп пользователей_ + Этот список рассылки предназначен для обсуждения вопросов координаторами каждой группы пользователей и назначенным членом Core Team. Обсуждения в этой рассылке ограничены темой встреч и координацией проектов, относящихся к группам пользователей. link:{freebsd-vendors-url}[freebsd-vendors]:: _Поставщики_ + Обсуждения, относящиеся к координации между FreeBSD Project и поставщиками программного и аппаратного обеспечения для FreeBSD. link:{freebsd-virtualization-url}[freebsd-virtualization]:: _Обсуждение различных техник виртуализации, поддерживаемых FreeBSD_ + Список рассылки, который предназначен для обсуждений различных техник виртуализации, поддерживаемых FreeBSD. С одной стороны фокус сосредоточен на реализации базовой функциональности, также, как и на добавлении новых возможностей. С другой стороны, пользователи получают возможность обратиться за помощью в случае возникновения проблем или обсудить их конкретные варианты использования. link:{freebsd-wip-status-url}[freebsd-wip-status]:: _Статус начатых работ (Work-In-Progress) во FreeBSD_ + Этот список рассылки может быть использован для анонсов начала и прогресса вашей работы над FreeBSD. Сообщения модерируются. Предполагается, что сообщение посылается ("To:") в тематический список рассылки FreeBSD, а в этот список отправляется копия ("BCC:"). Таким образом ваша работа может обсуждаться в тематическом списке рассылки, так как в этом списке дискуссии не разрешены. + Выборочный обзор сообщений из этого списка рассылки может публиковаться на сайте FreeBSD как часть Status Reports . + Если вам нужны подходящие примеры сообщений, загляните в архивы рассылки или на страницу Status Reports. link:{freebsd-wireless-url}[freebsd-wireless]:: _Обсуждение разработки стека 802.11, утилит, драйверов устройств_ + Список рассылки FreeBSD-wireless предназначен для обсуждения разработки стека 802.11 (sys/net80211), утилит и драйверов устройств. Сообщения о проблемах и новых функциональных возможностях также направляются в эту рассылку. link:{freebsd-xen-url}[freebsd-xen]:: _Обсуждение портирования FreeBSD на Xen(TM) - реализация и использование_ + Список рассылки, предназначенный для дискуссий на тему портирования FreeBSD на Xen(TM). Ожидаемый объем сообщений довольно невелик, поэтому эта рассылка объединяет как технические обсуждения реализации и деталей дизайна, так и административные вопросы развертывания. [[eresources-mailfiltering]] === Фильтрация списков рассылки Списки рассылки FreeBSD фильтруются различными способами для предотвращения распространения спама, вирусов, и другой нежелательной почты. Действия по фильтрации, описанные в этом разделе, не включают всех используемых для фильтрации списков рассылки проекта действий. Только определенные типы вложений разрешены в списках рассылки. Все вложения с типами MIME содержимого, не входящие в список ниже, будут вырезаться перед тем, как письмо будет отправлено в список рассылки. * application/octet-stream * application/pdf * application/pgp-signature * application/x-pkcs7-signature * message/rfc822 * multipart/alternative * multipart/related * multipart/signed * text/html * text/plain * text/x-diff * text/x-patch [NOTE] ==== Некоторые из списков рассылки могут пропускать вложения других типов MIME, но список выше применим к большинству рассылок. ==== Если письмо содержит как HTML, так и только текстовую версию, версия HTML будет удалена. Если письмо содержит только HTML версию, она будет конвертирована в простой текст. [[eresources-news]] == Новостные группы Usenet В дополнение к двум относящимся к FreeBSD группам новостей, существуют множество других, где обсуждается FreeBSD или куда помещается другая информация, относящаяся к пользователям FreeBSD. http://minnie.tuhs.org/BSD-info/bsdnews_search.html[Архивы с поиском по ключевому слову] доступны для некоторых из этих новостных групп благодаря Warren Toomey mailto:wkt@cs.adfa.edu.au[wkt@cs.adfa.edu.au]. === Относящиеся к BSD новостные группы * link:news:comp.unix.bsd.freebsd.announce[comp.unix.bsd.freebsd.announce] * link:news:comp.unix.bsd.freebsd.misc[comp.unix.bsd.freebsd.misc] * link:news:de.comp.os.unix.bsd[de.comp.os.unix.bsd] (German) * link:news:fr.comp.os.bsd[fr.comp.os.bsd] (French) * link:news:it.comp.os.freebsd[it.comp.os.freebsd] (Italian) * link:news:tw.bbs.comp.386bsd[tw.bbs.comp.386bsd] (Traditional Chinese) === Другие интересные UNIX(R) новостные группы * link:news:comp.unix[comp.unix] * link:news:comp.unix.questions[comp.unix.questions] * link:news:comp.unix.admin[comp.unix.admin] * link:news:comp.unix.programmer[comp.unix.programmer] * link:news:comp.unix.shell[comp.unix.shell] * link:news:comp.unix.user-friendly[comp.unix.user-friendly] * link:news:comp.security.unix[comp.security.unix] * link:news:comp.sources.unix[comp.sources.unix] * link:news:comp.unix.advocacy[comp.unix.advocacy] * link:news:comp.unix.misc[comp.unix.misc] * link:news:comp.bugs.4bsd[comp.bugs.4bsd] * link:news:comp.bugs.4bsd.ucb-fixes[comp.bugs.4bsd.ucb-fixes] * link:news:comp.unix.bsd[comp.unix.bsd] === X Window System * link:news:comp.windows.x.i386unix[comp.windows.x.i386unix] * link:news:comp.windows.x[comp.windows.x] * link:news:comp.windows.x.apps[comp.windows.x.apps] * link:news:comp.windows.x.announce[comp.windows.x.announce] * link:news:comp.windows.x.intrinsics[comp.windows.x.intrinsics] * link:news:comp.windows.x.motif[comp.windows.x.motif] * link:news:comp.windows.x.pex[comp.windows.x.pex] * link:news:comp.emulators.ms-windows.wine[comp.emulators.ms-windows.wine] [[eresources-web]] == Серверы World Wide Web <>, <>, <>, <>, <>, <>, <>, <>, <>, <>, <>, <>, <>, <>, <>, <>, <>, <>, <>, <>, <>, <>, <>, <>, <>. (as of UTC) [[central-mirrors]] *{central}* * {central-www} [[armenia-mirrors]] *{mirrors-armenia}* * {mirrors-armenia-www-httpv6} (IPv6) [[australia-mirrors]] *{mirrors-australia}* * {mirrors-australia-www-http} * {mirrors-australia-www2-http} [[austria-mirrors]] *{mirrors-austria}* * {mirrors-armenia-www-httpv6} (IPv6) [[czech-republic-mirrors]] *{mirrors-czech}* * {mirrors-czech-www-httpv6} (IPv6) [[denmark-mirrors]] *{mirrors-denmark}* * {mirrors-denmark-www-httpv6} (IPv6) [[finland-mirrors]] *{mirrors-finland}* * {mirrors-finland-www-http} [[france-mirrors]] *{mirrors-france}* * {mirrors-france-www-http} [[germany-mirrors]] *{mirrors-germany}* * {mirrors-germany-www-http} [[hong-kong-mirrors]] *{mirrors-hongkong}* * {mirrors-hongkong-www} [[ireland-mirrors]] *{mirrors-ireland}* * {mirrors-ireland-www} [[japan-mirrors]] *{mirrors-japan}* * {mirrors-japan-www-httpv6} (IPv6) [[latvia-mirrors]] *{mirrors-latvia}* * {mirrors-latvia-www} [[lithuania-mirrors]] *{mirrors-lithuania}* * {mirrors-lithuania-www} [[netherlands-mirrors]] *{mirrors-netherlands}* * {mirrors-netherlands-www} [[norway-mirrors]] *{mirrors-norway}* * {mirrors-norway-www} [[russia-mirrors]] *{mirrors-russia}* * {mirrors-russia-www-httpv6} (IPv6) [[slovenia-mirrors]] *{mirrors-slovenia}* * {mirrors-slovenia-www} [[south-africa-mirrors]] *{mirrors-south-africa}* * {mirrors-south-africa-www} [[spain-mirrors]] *{mirrors-spain}* * {mirrors-spain-www} * {mirrors-spain-www2} [[sweden-mirrors]] *{mirrors-sweden}* * {mirrors-sweden-www} [[switzerland-mirrors]] *{mirrors-switzerland}* * {mirrors-switzerland-www-httpv6} (IPv6) * {mirrors-switzerland-www2-httpv6} (IPv6) [[taiwan-mirrors]] *{mirrors-taiwan}* * {mirrors-taiwan-www} * {mirrors-taiwan-www2} * {mirrors-taiwan-www4} * {mirrors-taiwan-www5-httpv6} (IPv6) [[uk-mirrors]] *{mirrors-uk}* * {mirrors-uk-www} * {mirrors-uk-www3} [[usa-mirrors]] *{mirrors-us}* * {mirrors-us-www5-httpv6} (IPv6) [[eresources-web-social]] === Форумы, блоги и социальные сети * Страница http://forums.freebsd.org/[форумов FreeBSD] предоставляет веб форум для технических дискуссий и вопросов о FreeBSD. * Страница http://planet.freebsdish.org/[Planet FreeBSD] содержит коллекцию ссылок на десятки блогов, ведомых разработчиками FreeBSD. Многие разработчики используют свои блоги для размещения коротких сообщений о своих текущих занятостях, о новых патчах и о прогрессе в своих работах. * Страница http://www.youtube.com/bsdconferences[Конференций BSD на YouTube] предоставляет коллекцию видеозаписей с Конференций BSD со всего мира. Это прекрасная возможность ознакомиться с презентациями от ключевых разработчиков, освещающих новые работы во FreeBSD. [[eresources-web-mirrors]] === Официальные зеркала [[eresources-email]] == Адреса Email Следующие группы пользователей предоставляют для своих участников почтовые адреса. Приведенные в списке администраторы оставляют за собой право удалить адреса при любом злоупотреблении. [.informaltable] [cols="1,1,1,1", frame="none", options="header"] |=== | Домен | Возможности | Группа пользователей | Администратор |ukug.uk.FreeBSD.org |Только пересылка |mailto:ukfreebsd@uk.FreeBSD.org[ukfreebsd@uk.FreeBSD.org] |Lee Johnston mailto:lee@uk.FreeBSD.org[lee@uk.FreeBSD.org] |=== diff --git a/documentation/content/zh-cn/books/handbook/cutting-edge/_index.adoc b/documentation/content/zh-cn/books/handbook/cutting-edge/_index.adoc index 1d5090f28f..de0235edf3 100644 --- a/documentation/content/zh-cn/books/handbook/cutting-edge/_index.adoc +++ b/documentation/content/zh-cn/books/handbook/cutting-edge/_index.adoc @@ -1,1560 +1,1560 @@ --- title: 第 25 章 更新与升级 FreeBSD part: 部分 III. 系统管理 prev: books/handbook/l10n next: books/handbook/dtrace --- [[updating-upgrading]] = 更新与升级 FreeBSD :doctype: book :toc: macro :toclevels: 1 :icons: font :sectnums: :sectnumlevels: 6 :source-highlighter: rouge :experimental: :skip-front-matter: :toc-title: 目录 :table-caption: 表 :figure-caption: 图 :example-caption: 例 :xrefstyle: basic :relfileprefix: ../ :outfilesuffix: :sectnumoffset: 25 ifeval::["{backend}" == "html5"] :imagesdir: ../../../images/books/handbook/cutting-edge/ endif::[] ifeval::["{backend}" == "pdf"] :imagesdir: ../../../../static/images/books/handbook/cutting-edge/ endif::[] ifeval::["{backend}" == "epub3"] :imagesdir: ../../../../static/images/books/handbook/cutting-edge/ endif::[] include::shared/authors.adoc[] include::shared/releases.adoc[] include::shared/zh-cn/mailing-lists.adoc[] include::shared/zh-cn/teams.adoc[] include::shared/zh-cn/urls.adoc[] toc::[] [[updating-upgrading-synopsis]] == 概述 FreeBSD 在发行版之间始终是持续开发的。 一些人喜欢使用官方发行的版本, 另一些喜欢与最新的开发保持同步。 然而, 即使是官方的发行版本也常常需要安全补丁和重大修正方面的更新。 不论你使用了何种版本, FreeBSD 都提供了所有更新系统所需的工具, 让你轻松的在不同版本间升级。 这一章节将帮助你决定是跟踪开发系统还是坚持使用某个发行的版本。 同时还列出了一些保持系统更新所需的基本工具。 读了本章后,您将了解到: * 使用哪些工具来更新系统与 Ports Collection。 * 如何使用 freebsd-update, CVSup, CVS, or CTM 让你的系统保持更新。 * 如何比较已安装的系统与原来已知拷贝的状态。 * 如何使用 CVSup 或者文档 ports 来更新本地的文档。 * 两个开发分支 FreeBSD-STABLE 和 FreeBSD-CURRENT 的区别。 * 如何通过 `make buildworld` 重新编译安装整个基本系统(等等)。 在读本章这前,您应该了解的: * 正确设置网络连接 (crossref:advanced-networking[advanced-networking,高级网络])。 * 知道怎样安装附加的第三方软件(crossref:ports[ports,安装应用程序. Packages 和 Ports])。 [NOTE] ==== 整个这一章中,`cvsup` 命令都被用来获取 FreeBSD 源代码的更新。 你需要安装 package:net/cvsup[] port 或者二进制包(如果你不想要安装图形界面的 `cvsup` 客户端的话, 则可以安装 package:net/cvsup-without-gui[] port)。 你也可以使用 man:csup[1] 代替, 它现在已经是基本系统的一部分了。 ==== [[updating-upgrading-freebsdupdate]] == FreeBSD 更新 打安全补丁是对于维护计算机软件的一个重要部分, 特别是对于操作系统。对于 FreeBSD 来说, 很长的一段时间以来这都不是一件容易的事情。 补丁打在源代码上,代码需要被重新编译为二进制, 然后再重新安装编译后的程序。 FreeBSD 引入了 `freebsd-update` 工具之后这便不再是问题了。这个工具提供了 2 种功能。 第一,它可以把二进制的安全和勘误更新直接应用于 FreeBSD 的基本系统,而不需要重新编译和安装。第二, 这个工具还支持主要跟次要的发行版的升级。 [NOTE] ==== 由安全小组支持的各种体系结构和发行版都可使用二进制更新。 在升级到一个新的发行版本之前, 应先阅读一下当前发行版的声明, 因为它们可能包含有关于你期望升级版本的重要消息。 这些发行声明可以通过以下链接查阅: http://www.FreeBSD.org/releases/[http://www.FreeBSD.org/releases/]。 ==== 如果 `crontab` 中存在有用到 `freebsd-update` 特性的部分, 那么这些在开始以下操作前必须先被禁止。 [[freebsdupdate-config-file]] === 配置文件 有些用户可能希望通过调整配置文件 [.filename]#/etc/freebsd-update.conf# 中的默认配置来更好地控制升级的过程。 可用的参数在文档中介绍的很详细, 但下面的这些可能需要进一步的解释: [.programlisting] .... # Components of the base system which should be kept updated. Components src world kernel .... 这个参数是控制 FreeBSD 的哪一部分将被保持更新。 默认的是更新源代码,整个基本系统还有内核。 这些部件跟安装时的那些相同,举例来说, 在这里加入 `world/games` 就会允许打入游戏相关的补丁。 使用 `src/bin` 则是允许更新 [.filename]#src/bin# 目录中的源代码。 最好的选择是把这个选项保留为默认值, 因为如果要修改它去包含一些指定的选项, 就需要用户列出每一个想要更新的项目。 这可能会引起可怕的后果, 因为部分的源代码和二进制程序得不到同步。 [.programlisting] .... # Paths which start with anything matching an entry in an IgnorePaths # statement will be ignored. IgnorePaths .... 添加路径,比如 [.filename]#/bin# 或者 [.filename]#/sbin# 让这些指定的目录在更新过程中不被修改。 这个选项能够防止本地的修改被 `freebsd-update` 覆盖。 [.programlisting] .... # Paths which start with anything matching an entry in an UpdateIfUnmodified # statement will only be updated if the contents of the file have not been # modified by the user (unless changes are merged; see below). UpdateIfUnmodified /etc/ /var/ /root/ /.cshrc /.profile .... 更新指定目录中的未被修改的配置文件。 用户的任何修改都会使这些文件的自动更新失效。 还有另外一个选项, `KeepModifiedMetadata`, 这个能让 `freebsd-update` 在合并时保存修改。 [.programlisting] .... # When upgrading to a new FreeBSD release, files which match MergeChanges # will have any local changes merged into the version from the new release. MergeChanges /etc/ /var/named/etc/ .... 一个 `freebsd-update` 应该尝试合并的配置文件的列表。文件合并的过程是 一系列的 man:diff[1] 补丁类似于更少选项的 man:mergemaster[8] 合并的选项是接受,打开一个文本编辑器,或者 `freebsd-update` 会被中止。 在不能确定的时候,请先备份 [.filename]#/etc# 然后接受合并。更多关于 `mergemaster` 的信息请参阅 <>。 [.programlisting] .... # Directory in which to store downloaded updates and temporary # files used by FreeBSD Update. # WorkDir /var/db/freebsd-update .... 这个目录是放置所有补丁和临时文件的。 用户做一个版本升级的话,请确认此处至少有 1 GB 的可用磁盘空间。 [.programlisting] .... # When upgrading between releases, should the list of Components be # read strictly (StrictComponents yes) or merely as a list of components # which *might* be installed of which FreeBSD Update should figure out # which actually are installed and upgrade those (StrictComponents no)? # StrictComponents no .... 当设置成 `yes` 时, `freebsd-update` 将假设这个 `Components` 列表时完整的, 并且对此列表以外的项目不会修改。实际上就是 `freebsd-update` 会尝试更新 `Componets` 列表里的每一个文件。 [[freebsdupdate-security-patches]] === 安全补丁 安全补丁存储在远程的机器上, 可以使用如下的命令下载并安装: [source,shell] .... # freebsd-update fetch # freebsd-update install .... 如果给内核打了补丁,那么系统需要重新启动。 如果一切都进展顺利,系统就应该被打好了补丁而且 `freebsd-update` 可由夜间 man:cron[8] 执行。在 [.filename]#/etc/crontab# 中加入以下条目足以完成这项任务: [.programlisting] .... @daily root freebsd-update cron .... 这条记录是说明每天运行一次 `freebsd-update` 工具。 用这种方法, 使用了 `cron` 参数, `freebsd-update` 仅检查是否存在更新。 如果有了新的补丁,就会自动下载到本地的磁盘, 但不会自动给系统打上。`root` 会收到一封电子邮件告知需手动安装补丁。 如果出现了错误,可以使用下面的 `freebsd-update` 命令回退到上一次的修改: [source,shell] .... # freebsd-update rollback .... 完成以后如果内核或任何的内核模块被修改的话, 就需要重新启动系统。这将使 FreeBSD 装载新的二进制程序进内存。 `freebsd-update` 工具只能自动更新 [.filename]#GENERIC# 内核。 如果您使用自行联编的内核, 则在 `freebsd-update` 安装完更新的其余部分之后需要手工重新联编和安装内核。 不过, `freebsd-update` 会检测并更新位于 [.filename]#/boot/GENERIC# (如果存在) 中的 [.filename]#GENERIC# 内核, 即使它不是当前 (正在运行的) 系统的内核。 [NOTE] ==== 保存一份 [.filename]#GENERIC# 内核的副本到 [.filename]#/boot/GENERIC# 是一个明智的主意。 在诊断许多问题, 以及在 <> 中介绍的使用 `freebsd-update` 更新系统时会很有用。 ==== 除非修改位于 [.filename]#/etc/freebsd-update.conf# 中的配置, `freebsd-update` 会随其他安装一起对内核的源代码进行更新。 重新联编并安装定制的内核可以以通常的方式来进行。 [NOTE] ==== 通过 `freebsd-update` 发布的更新有时并不会涉及内核。 如果在执行 `freebsd-update install` 的过程中内核代码没有进行变动, 就没有必要重新联编内核了。 不过, 由于 `freebsd-update` 每次都会更新 [.filename]#/usr/src/sys/conf/newvers.sh# 文件, 而修订版本 (`uname -r` 报告的 `-p` 数字) 来自这个文件, 因此, 即使内核没有发生变化, 重新联编内核也可以让 man:uname[1] 报告准确的修订版本。 在维护许多系统时这样做会比较有帮助, 因为这一信息可以迅速反映机器上安装的软件更新情况。 ==== [[freebsdupdate-upgrade]] === 重大和次要的更新 这个过程会删除旧的目标文件和库, 这将使大部分的第三方应用程序无法删除。 建议将所有安装的 ports 先删除然后重新安装,或者稍后使用 package:ports-mgmt/portupgrade[] 工具升级。 大多数用户将会使用如下命令尝试编译: [source,shell] .... # portupgrade -af .... 这将确保所有的东西都会被正确的重新安装。 请注意环境变量 `BATCH` 设置成 `yes` 的话将在整个过程中对所有询问回答 `yes`,这会帮助在编译过程中免去人工的介入。 如果正在使用的是定制的内核, 则升级操作会复杂一些。 您会需要将一份 [.filename]#GENERIC# 内核的副本放到 [.filename]#/boot/GENERIC#。 如果系统中没有 [.filename]#GENERIC# 内核, 可以用以下两种方法之一来安装: * 如果只联编过一次内核, 则位于 [.filename]#/boot/kernel.old# 中的内核, 就是 [.filename]#GENERIC# 的那一个。 只需将这个目录改名为 [.filename]#/boot/GENERIC# 即可。 * 假如能够直接接触机器, 则可以通过 CD-ROM 介质来安装 [.filename]#GENERIC# 内核。 将安装盘插入光驱, 并执行下列命令: + [source,shell] .... # mount /cdrom # cd /cdrom/X.Y-RELEASE/kernels # ./install.sh GENERIC .... + 您需要将 [.filename]#X.Y-RELEASE# 替换为您正在使用的版本。 [.filename]#GENERIC# 内核默认情况下会安装到 [.filename]#/boot/GENERIC#。 * 如果前面的方法都不可用, 还可以使用源代码来重新联编和安装 [.filename]#GENERIC# 内核: + [source,shell] .... # cd /usr/src # env DESTDIR=/boot/GENERIC make kernel # mv /boot/GENERIC/boot/kernel/* /boot/GENERIC # rm -rf /boot/GENERIC/boot .... + 如果希望 `freebsd-update` 能够正确地将内核识别为 [.filename]#GENERIC#, 您必须确保没有对 [.filename]#GENERIC# 配置文件进行过任何变动。 此外, 建议您取消任何其他特殊的编译选项 (例如使用空的 [.filename]#/etc/make.conf#)。 上述步骤并不需要使用这个 [.filename]#GENERIC# 内核来引导系统。 重大和次要的更新可以由 `freebsd-update` 命令后指定一个发行版本来执行, 举例来说,下面的命令将帮助你升级到 FreeBSD 8.1: [source,shell] .... # freebsd-update -r 8.1-RELEASE upgrade .... 在执行这个命令之后,`freebsd-update` 将会先解析配置文件和评估当前的系统以获得更新系统所需的必要信息。 然后便会显示出一个包含了已检测到与未检测到的组件列表。 例如: [source,shell] .... Looking up update.FreeBSD.org mirrors... 1 mirrors found. Fetching metadata signature for 8.0-RELEASE from update1.FreeBSD.org... done. Fetching metadata index... done. Inspecting system... done. The following components of FreeBSD seem to be installed: kernel/smp src/base src/bin src/contrib src/crypto src/etc src/games src/gnu src/include src/krb5 src/lib src/libexec src/release src/rescue src/sbin src/secure src/share src/sys src/tools src/ubin src/usbin world/base world/info world/lib32 world/manpages The following components of FreeBSD do not seem to be installed: kernel/generic world/catpages world/dict world/doc world/games world/proflibs Does this look reasonable (y/n)? y .... 此时,`freebsd-update` 将会尝试下载所有升级所需的文件。在某些情况下, 用户可能被问及需安装些什么和如何进行之类的问题。 当使用定制内核时, 前面的步骤会产生类似下面的警告: [source,shell] .... WARNING: This system is running a "MYKERNEL" kernel, which is not a kernel configuration distributed as part of FreeBSD 8.0-RELEASE. This kernel will not be updated: you MUST update the kernel manually before running "/usr/sbin/freebsd-update install" .... 此时您可以暂时安全地无视这个警告。 更新的 [.filename]#GENERIC# 内核将在升级过程的中间步骤中使用。 在下载完针对本地系统的补丁之后, 这些补丁会被应用到系统上。 这个过程需要消耗的时间取决于机器的速度和其负载。 这个过程中将会对配置文件所做的变动进行合并 - 这一部分需要用户的参与, 文件可能会自动合并, 屏幕上也可能会给出一个编辑器, 用于手工完成合并操作。 在处理过程中, 合并成功的结果会显示给用户。 失败或被忽略的合并, 则会导致这一过程的终止。 用户可能会希望备份一份 [.filename]#/etc# 并在这之后手工合并重要的文件, 例如 [.filename]#master.passwd# 和 [.filename]#group#。 [NOTE] ==== 系统至此还没有被修改,所有的补丁和合并都在另外一个目录中进行。 当所有的补丁都被成功的打上了以后,所有的配置文件都被合并后, 我们就已经完成了整个升级过程中最困难的部分, 下面就需要用户来安装这些变更了。 ==== 一旦这个步骤完成后,使用如下的命令将升级后的文件安装到磁盘上。 [source,shell] .... # freebsd-update install .... 内核和内核模块会首先被打上补丁。 此时必须重新启动计算机。 如果您使用的是定制的内核, 请使用 man:nextboot[8] 命令来将下一次用于引导系统的内核 [.filename]#/boot/GENERIC# (它会被更新): [source,shell] .... # nextboot -k GENERIC .... [WARNING] ==== 在使用 [.filename]#GENERIC# 内核启动之前, 请确信它包含了用于引导系统所需的全部驱动程序 (如果您是在远程进行升级操作, 还应确信网卡驱动也是存在的)。 特别要注意的情形是, 如果之前的内核中静态联编了通常以内核模块形式存在的驱动程序, 一定要通过 [.filename]#/boot/loader.conf# 机制来将这些模块加载到 [.filename]#GENERIC# 内核的基础上。 此外, 您可能也希望临时取消不重要的服务、 磁盘和网络挂载等等, 直到升级过程完成为止。 ==== 现在可以用更新后的内核引导系统了: [source,shell] .... # shutdown -r now .... 在系统重新上线后,需要再次运行 `freebsd-update`。 升级的状态被保存着,这样 `freebsd-update` 就无需重头开始,但是会删除所有旧的共享库和目标文件。 执行如下命令继续这个阶段的升级: [source,shell] .... # freebsd-update install .... [NOTE] ==== 取决与是否有库的版本更新,通常只有 2 个而不是 3 个安装阶段。 ==== 现在需要重新编译和安装第三方软件。 这么做的原因是某些已安装的软件可能依赖于在升级过程中已删除的库。 可使用 package:ports-mgmt/portupgrade[] 自动化这个步骤,以如下的命令开始: [source,shell] .... # portupgrade -f ruby # rm /var/db/pkg/pkgdb.db # portupgrade -f ruby18-bdb # rm /var/db/pkg/pkgdb.db /usr/ports/INDEX-*.db # portupgrade -af .... 一旦这个完成了以后,再最后一次运行 `freebsd-update` 来结束升级过程。 执行如下命令处理升级中的所有细节: [source,shell] .... # freebsd-update install .... 如果您临时用过 [.filename]#GENERIC# 内核来引导系统, 现在是按照通常的方法重新联编并安装新的定制内核的时候了。 重新启动机器进入新版本的 FreeBSD 升级过程至此就完成了。 [[freebsdupdate-system-comparison]] === 系统状态对照 `freebsd-update` 工具也可被用来对着一个已知完好的 FreeBSD 拷贝测试当前的版本。 这个选项评估当前的系统工具,库和配置文件。 使用以下的命令开始对照: [source,shell] .... # freebsd-update IDS >> outfile.ids .... [WARNING] ==== 这个命令的名称是 IDS, 它并不是一个像 package:security/snort[] 这样的入侵检测系统的替代品。因为 `freebsd-update` 在磁盘上存储数据, 很显然它们有被篡改的可能。 当然也可以使用一些方法来降低被篡改的可能性,比如设置 `kern.securelevel` 和不使用时把 `freebsd-update` 数据放在只读文件系统上,例如 DVD 或 安全存放的外置 USB 磁盘上。 ==== 现在系统将会被检查,生成一份包含了文件和它们的 man:sha256[1] 哈希值的清单,已知发行版中的值与当前系统中安装的值将会被打印到屏幕上。 这就是为什么输出被送到了 [.filename]#outfile.ids# 文件。 它滚动的太块无法用肉眼对照,而且会很快填满控制台的缓冲区。 这个文件中有非常长的行,但输出的格式很容易分析。 举例来说,要获得一份与发行版中不同哈希值的文件列表, 已可使用如下的命令: [source,shell] .... # cat outfile.ids | awk '{ print $1 }' | more /etc/master.passwd /etc/motd /etc/passwd /etc/pf.conf .... 这份输出时删节缩短后的,其实是有更多的文件。 其中有些文件并非人为修改,比如 [.filename]#/etc/passwd# 被修改是因为添加了用户进系统。在某些情况下, 还有另外的一些文件,诸如内核模块与 `freebsd-update` 的不同是因为它们被更新过了。 为了指定的文件或目录排除在外,把它们加到 [.filename]#/etc/freebsd-update.conf# 的 `IDSIgnorePaths` 选项中。 除了前面讨论过的部分之外, 这也能被当作是对升级方法的详细补充。 [[updating-upgrading-portsnap]] == Portsnap: 一个 Ports Collection 更新工具 FreeBSD 基本系统也包括了一个更新 Ports Collection 的工具: man:portsnap[8]。在运行之后,它会连上一个远程网站, 校验安全密钥,然后下载一份 Ports Collection 的拷贝。 密钥是用来校验所有下载文件的完整性,确保它们在传输是未被修改。 使用以下的命令下载最新的 Ports Collection: [source,shell] .... # portsnap fetch Looking up portsnap.FreeBSD.org mirrors... 3 mirrors found. Fetching snapshot tag from portsnap1.FreeBSD.org... done. Fetching snapshot metadata... done. Updating from Wed Aug 6 18:00:22 EDT 2008 to Sat Aug 30 20:24:11 EDT 2008. Fetching 3 metadata patches.. done. Applying metadata patches... done. Fetching 3 metadata files... done. Fetching 90 patches.....10....20....30....40....50....60....70....80....90. done. Applying patches... done. Fetching 133 new ports or files... done. .... 这个例子展示的是 man:portsnap[8] 发现并校验了几个用于当前 ports 的补丁。这还表明以前运行过, 如果是第一次运行的话,那么仅仅只会下载 Ports Collection。 在 man:portsnap[8] 成功地完成一次 `fetch` 操作之后, 会将校验过的 Ports 套件和后续的补丁保存在本地。 首次执行 `portsnap` 之后, 你必须使用 `extract` 安装下载的文件: [source,shell] .... # portsnap extract /usr/ports/.cvsignore /usr/ports/CHANGES /usr/ports/COPYRIGHT /usr/ports/GIDs /usr/ports/KNOBS /usr/ports/LEGAL /usr/ports/MOVED /usr/ports/Makefile /usr/ports/Mk/bsd.apache.mk /usr/ports/Mk/bsd.autotools.mk /usr/ports/Mk/bsd.cmake.mk ... .... 使用 `portsnap update` 命令更新已安装的 Ports: [source,shell] .... # portsnap update .... 至此更新就完成了,然后便可以使用更新后的 Ports Collection 来安装或升级应用程序。 `fetch` 和 `extract` 或 `update` 可以作为连续的动作执行, 如下例所示: [source,shell] .... # portsnap fetch update .... 这个命令将会下载最新版本的 Ports 并更新本地位于 [.filename]#/usr/ports# 的拷贝。 [[updating-upgrading-documentation]] == 更新系统附带的文档 除了基本系统和 Ports 套件之外, 文档也是 FreeBSD 操作系统的一个组成部分。 尽管您总是可以通过 http://www.freebsd.org/doc/[FreeBSD 网站] 来访问最新的 FreeBSD 文档, 一些用户的网络连接可能很慢, 甚至完全没有网络连接。 幸运的是, 有很多方法可以用来更新随发行版本附带的 FreeBSD 文档的本地副本。 [[csup-doc]] === 使用 CVSup 来更新文档 FreeBSD 文档的源代码和安装版本都可以通过 CVSup 来以与基本系统 (参考 <>) 类似的方法来升级。 这一节中将会介绍: * 如何安装联编文档所需的工具集, 用于从源代码来联编 FreeBSD 文档所需的那些工具。 * 如何使用 CVSup 将文档下载到 [.filename]#/usr/doc#。 * 如何从源代码联编 FreeBSD 文档, 并将其安装到 [.filename]#/usr/shared/doc#。 * 联编文档的过程中支持的一些编译选项, 例如只联编某些语言的版本, 或只联编特定的输出格式。 [[installing-documentation-toolchain]] === 安装 CVSup 和文档工具集 从源代码联编 FreeBSD 文档需要大量的工具。 这些工具并不是 FreeBSD 基本系统的一部分, 因为这些工具需要占用大量的磁盘空间, 而且并不是对所有 FreeBSD 用户都有用; 只有活跃地撰写 FreeBSD 新文档, 或经常从源代码更新文档的用户才需要这些工具。 全部所需的工具, 均可通过 Ports 套件来安装。 package:textproc/docproj[] port 是由 FreeBSD 文档计划开发的方便安装和更新这些工具的主 port。 [NOTE] ==== 如果不需要 PostScript(R) 或 PDF 文档的话, 也可以考虑安装 package:textproc/docproj-nojadetex[] port。 这套文档工具集包含除了 teTeX typesetting 引擎之外的其他全部工具。 teTeX 是一个很大的工具集, 因此如果不需要 PDF 输出的话, 排除它会节省很多时间和磁盘空间。 ==== 如欲了解关于安装和使用 CVSup 的进一步信息, 请参阅 crossref:mirrors[cvsup,使用 CVSup]。 [[updating-documentation-sources]] === 更新文档源代码 CVSup 工具能够下载文档源代码的原始副本, 您可使用 [.filename]#/usr/shared/examples/cvsup/doc-supfile# 文件作为配置模板来修改。 在 [.filename]#doc-supfile# 中的默认主机名是一个无效的占位主机名, 但 man:cvsup[1] 能够通过命令行来指定主机名, 因此文档源代码可以使用下面的命令从 CVSup 服务器获得: [source,shell] .... # cvsup -h cvsup.FreeBSD.org -g -L 2 /usr/shared/examples/cvsup/doc-supfile .... 您应将 _cvsup.FreeBSD.org_ 改为最近的 CVSup 服务器。 参见 crossref:mirrors[cvsup-mirrors,CVSup 站点] 关于镜像站点的完整列表。 初始的文档源代码下载需要一些时间, 您需要耐心等待它完成。 后续的更新可以用同样的命令来进行。 由于 CVSup 工具只下载上次运行之后所发生过的更新, 因此在首次运行之后再运行 CVSup 应该是很快的。 在签出源代码之后, 还可以使用另一种由 [.filename]#/usr/doc# 目录中的 [.filename]#Makefile# 支持的方法来更新它。 通过在 [.filename]#/etc/make.conf# 中配置 `SUP_UPDATE`、 `SUPHOST` 和 `DOCSUPFILE`, 可以通过运行: [source,shell] .... # cd /usr/doc # make update .... 来完成更新。 典型的 [.filename]#/etc/make.conf# 中的 man:make[1] 选项是: [.programlisting] .... SUP_UPDATE= yes SUPHOST?= cvsup.freebsd.org DOCSUPFILE?= /usr/shared/examples/cvsup/doc-supfile .... [NOTE] ==== 将 `SUPHOST` 和 `DOCSUPFILE` 的值使用 `?=` 来指定的好处是使 make 命令行能够覆盖这些选项。 在向 [.filename]#make.conf# 中增加选项时推荐这样做, 以避免在测试时反复修改这个文件。 ==== [[updating-documentation-options]] === 文档源代码中可调的选项 FreeBSD 文档的更新和联编系统支持一些方便只更新一部分文档, 或只联编特定格式及译文的选项。 这些选项可以在 [.filename]#/etc/make.conf# 文件中配置, 也可以通过 man:make[1] 工具来指定。 这些选项包括: `DOC_LANG`:: 准备联编和安装的语言列表。 例如, 指定为 `en_US.ISO8859-1` 表示只联编英文版的文档。 `FORMATS`:: 准备输出的格式列表。 目前, 系统支持 `html`、 `html-split`、 `txt`、 `ps`、 `pdf`、 和 `rtf`。 `SUPHOST`:: 用于用来更新的 CVSup 服务器的主机名。 `DOCDIR`:: 用于安装文档的目录。 默认为 [.filename]#/usr/shared/doc#。 如欲了解 FreeBSD 中其他可供配置的全局 make 变量, 请参阅 man:make.conf[5]。 关于 FreeBSD 文档联编系统的其他详情, 请参阅 link:{fdp-primer}[FreeBSD 文档计划入门之新手必读部分]。 [[updating-installed-documentation]] === 从源代码安装 FreeBSD 文档 在 [.filename]#/usr/doc# 中下载了最新的文档源代码快照之后, 就可以开始动手联编文档了。 要更新全部 `DOC_LANG` 中定义的语言的文档, 需要执行下面的命令: [source,shell] .... # cd /usr/doc # make install clean .... 如果在 [.filename]#make.conf# 中配置了正确的 `DOCSUPFILE`、 `SUPHOST` 和 `SUP_UPDATE` 选项, 则可以将更新源代码和安装一步完成: [source,shell] .... # cd /usr/doc # make update install clean .... 如果只需要更新某个特定语言的文档, 可以在 [.filename]#/usr/doc# 中与之对应的目录中运行 man:make[1]: [source,shell] .... # cd /usr/doc/en_US.ISO8859-1 # make update install clean .... 此外, 还可以透过 make 变量 `FORMATS` 来控制输出格式, 例如: [source,shell] .... # cd /usr/doc # make FORMATS='html html-split' install clean .... [[doc-ports]] === 使用文档 Ports 在之前的章节中, 我们已展示了从源代码更新 FreeBSD 文档的方法。 基于源代码的更新的方法可能并不是对于所有的 FreeBSD 系统都可行有效。 编译文档源代码需要一大堆的工具, _文档工具链_, 对于 CVS 的一定了解和从仓库中检出源代码, 还有一些编译已检出代码的手工步骤。 这一章节我们将介绍一种使用 Ports 来更新已安装的 FreeBSD 文档: * 下载并安装预编译好的文档快照, 而不用在本地编译任何部份 (这样便不再需要安装整个文档工具链了)。 * 下载文档的源代码并使用 ports 框架编译 (使得检出和编译的步骤更容易些)。 这两种更新 FreeBSD 文档的方法都由一组 {doceng} 每月更新的 _文档 ports_ 提供支持。 这些都列在了 FreeBSD Ports http://www.freshports.org/docs/[docs] 虚拟分类下面。 [[doc-ports-install-make]] ==== 编译和安装文档 Ports 文档 ports 使用 ports 的构建框架使得文档的编译变得更加容易。 自动化了检出文档源代码, 配以适合的环境设置和命令行参数运行 man:make[1], 它们使得安装或卸载文档变得就像安装 FreeBSD 其他 port 或二进制包那样容易。 [NOTE] ==== 另一个特性便是当在本地编译文档 ports 时, _文档工具链_ ports 会被列入依赖关系, 并自动安装。 ==== 文档 ports 按以下的方式组织: * 一个 "主 port", 在 package:misc/freebsd-doc-en[] 下可以找到这个文档 port。 它是所有文档 ports 的基础。 在默认的情况下, 它只安装英文版文档。 * 一个 "合集 port", package:misc/freebsd-doc-all[], 它将构建并安装所有语言版本的所有文档。 * 最后是各种翻译的 "从属 port", 比如: package:misc/freebsd-doc-hu[] 是匈牙利文版的文档。 所有这些都基于主 port 并会安装上对应语言的翻译文档。 以 `root` 用户身份运行如下的命令安装文档: [source,shell] .... # cd /usr/ports/misc/freebsd-doc-en # make install clean .... 这将会安装分章节的英文版本 HTML 格式文档 (与link:http://www.FreeBSD.org[http://www.FreeBSD.org] 上的相同) 到 [.filename]#/usr/local/shared/doc/freebsd# 目录。 [[doc-ports-options]] ===== 常见的调节选项 文档 ports 有许多用来修改默认行为的选项。 以下是一段简要列表: `WITH_HTML`:: 允许构建 HTML 格式: 每份文档为一个单一的 HTML 文件。 此种文档的文件名视情况而定通常是 [.filename]#article.html#, 或 [.filename]#book.html#, 另外附加一些图片。 `WITH_PDF`:: 允许构建 Adobe(R) Portable Document Format, 可使用 Adobe(R) Acrobat Reader(R), Ghostscript 或者其他的 PDF 阅读器查阅。 此种文档的文件名视情况而定通常是 [.filename]#article.pdf# 或 [.filename]#book.pdf#。 `DOCBASE`:: 文档将被安装到的目录。默认值 [.filename]#/usr/local/shared/doc/freebsd#。 + [NOTE] ==== 请注意默认的目录与 CVSup 方法种所使用的目录不同。 这是因为我们正在安装的是一个 port, 而 ports 通常会被安装到 [.filename]#/usr/local# 目录。 这可以指定 `PREFIX` 变量覆盖默认值。 ==== 这是一份简短的关于如何使用以上提到变量来安装 PDF 格式的匈牙利文档: [source,shell] .... # cd /usr/ports/misc/freebsd-doc-hu # make -DWITH_PDF DOCBASE=share/doc/freebsd/hu install clean .... [[doc-ports-install-package]] ==== 使用文档 Packages 正如上文所述, 从 ports 构建文档需要在本地安装一份文档工具链和一些编译所需的磁盘空间。 当不够资源安装文档工具链, 或者从源代码编译需要太多的磁盘空间时, 我们仍然可以安装预编译好的文档快照的 ports。 {doceng} 每个月都会制作 FreeBSD 文档快照的包。 这些二进制包可以通过包工具来操作, 比如 man:pkg_add[1], man:pkg_delete[1], 等等。 [NOTE] ==== 当使用二进制包时, 将安装所指定语言相关的 FreeBSD 文档的 _所有_ 可用格式。 ==== 举例来说, 以下的命令将安装最新预编译的匈牙利语文档: [source,shell] .... # pkg_add -r hu-freebsd-doc .... [NOTE] ==== 二进制包使用了以下与对应 ports 名称不同的命名格式: `lang-freebsd-doc`。 这里的 _lang_ 是语言代码的简短形式, 比如 `hu` 表示匈牙利语, 或者 `zh_cn` 表示简体中文。 ==== [[doc-ports-update]] ==== 更新文档 Ports 任何用于更新 ports 的工具都可以被用来更新已安装的文档 port。 举例来说, 下面的命令通过 package:ports-mgmt/portupgrade[] 工具来更新已安装的匈牙利语文档二进制包。 [source,shell] .... # portupgrade -PP hu-freebsd-doc .... [[current-stable]] == 追踪开发分支 FreeBSD 有两个开发分支: FreeBSD-CURRENT 和 FreeBSD-STABLE。 这一章节将对每个分支作相应介绍与如何保持你的系统更新。 我们将先介绍 FreeBSD-CURRENT 然后是 FreeBSD-STABLE。 [[current]] === 使用最新的 FreeBSD CURRENT 这里再次强调, FreeBSD-CURRENT 是 FreeBSD 开发的 "最前沿"。 FreeBSD-CURRENT 用户要有较高的技术能力, 并且应该有能力自已解决困难的系统问题。 如果您是个 FreeBSD 新手, 那么在安装之前最好三思。 ==== FreeBSD-CURRENT 是什么? FreeBSD-CURRENT 是 FreeBSD 的发展前沿。 包括了在下一个官方发行的软件中可能存在, 也可能不存在的发展、 试验性改动、 以及过渡性的机制。 尽管许多 FreeBSD 开发者每天都会编译 FreeBSD-CURRENT 源代码, 但有时这些代码仍然会是不能编译的。 虽然这些问题会很快解决, 但 FreeBSD-CURRENT 是带来破坏还是您正希望的功能性改善, 很可能完全取决于您获取源代码的的时机! ==== 谁需要 FreeBSD-CURRENT? FreeBSD-CURRENT 适合下边三种主要兴趣团体: . FreeBSD 社区的成员: 积极工作在源码树的某部分的人和为保持 "最新" 为绝对需求的人。 . FreeBSD 社区的成员: 为促使 FreeBSD-CURRENT 保持尽可能的健全而愿花时间去解决问题的积极的测试者; 以及那些愿意提出关于 FreeBSD 变化和总体方向的建设性建议并且提供补丁实现它们的人们。 . 那些只是想关注或为了参考目的使用当前 (current) 源码的人们 (如,为了__阅读__,而不是执行)。 这些人也偶尔做做注释或贡献代码。 ==== FreeBSD-CURRENT __不是__什么? . 追求最新功能, 您听说里面有一些很酷的新功能, 并希望成为您周围的人中第一个尝试它们的人。 尽管您能够因此首先了解到最新的功能, 但这也意味着在出现新的 bug 时您也首当其冲。 . 修复错漏的快捷方式。任何 FreeBSD-CURRENT 的既定版本在修复已知错漏的同时又可能会产生新的错漏。 . 无所不在的"官方支持"。 我们尽最大努力在3个"合法的" FreeBSD-CURRENT 组之一真诚给人们提供帮助,但是我们 __没有时间__提供技术支持。 这并不是因为我们是那种不喜欢帮助人解困的无耻之徒 (如果我们是的话,就不会制作 FreeBSD 了)。 我们不能每天简单地回复上百的消息,__而且__ 我们继续发展 FreeBSD! 在改善 FreeBSD 和回复大量关于实验代码的问题之间如果要做个选择的话, 开发人员会选择前者。 ==== 使用 FreeBSD-CURRENT . 加入 {freebsd-current} 和 {svn-src-head} 列表。 这个不仅仅是个好主意,而且很 _重要_。如果您不去 _{freebsd-current}_, 您就不会看到人们所做的关于系统当前状态的说明, 这样您就有可能在别人已经发现并解决了的一大堆问题面前难倒。 更重要的是您会错过一些重要的公告---对于您的系统安全可能是至关重要的。 + {svn-src-head} 列表允许您看到每个变化的提交记录, 因为这些记录与其它相关信息是同步的。 + -要加入这些列表,或其它可能的列表,请访问 {mailman-lists-url} ,并且点击您想订阅的列项。 关于其它步骤的说明那里有提供。 如果你有兴趣追踪整个原代码树的变更记录, 我们建议你订阅 {svn-src-all} 邮件列表。 +要加入这些列表,或其它可能的列表,请访问 {mailing-lists-url} ,并且点击您想订阅的列项。 关于其它步骤的说明那里有提供。 如果你有兴趣追踪整个原代码树的变更记录, 我们建议你订阅 {svn-src-all} 邮件列表。 . 从FreeBSD crossref:mirrors[mirrors,镜像站点] 获取源码。 您有两种方式选择: .. + 与称作 [.filename]##standard-supfile## 的 [.filename]##supfile## 一起使用 crossref:mirrors[cvsup,cvsup],这个可以从 [.filename]##/usr/shared/examples/cvsup##得到。 这是最被推荐的方式,因为它允许您一次获取整个集合, 以后就只取更改过的部分。许多人从 `cron` 运行 `cvsup`,以保持他们的源码自动更新。 您须要定制上边的 [.filename]##supfile## 样本,并且配置 crossref:mirrors[cvsup,cvsup] 以适应您的环境。 + [NOTE] ==== [.filename]#standard-supfile# 例子是为追踪指定的 FreeBSD 安全分支而指定的, 而不是 FreeBSD-CURRENT。 你需要编辑这个文件并把如下这行: [.programlisting] .... *default release=cvs tag=RELENG_X_Y .... 替换为: [.programlisting] .... *default release=cvs tag=. .... 可以参阅手册中的 crossref:mirrors[cvs-tags,CVS Tags] 章节获得更多可用 tag 的详细说明。 ==== + 使用工具 CTM。 如果您的连接性能不太好(高价连接或只能通过电子邮件存取), CTM 是个选择。 但这也颇有争议并且常常得到到坏文件。因此很少使用它, 这也注定了不能长期用它来工作。对于使用 9600 bps 或更快连接的人,我们推荐使用 CVSup。 . 如果您获取源码是用于运行,而不只是看看,那么就获取 _整个_ FreeBSD-CURRENT,不要选部分。 这样做的原因是源码的大部分都依赖于其他部分, 要是您试着只编译其中一部分的话,保证您会陷入麻烦。 + 在编译 FreeBSD-CURRENT 之前,请仔细阅读 [.filename]#/usr/src# 里的 [.filename]#Makefile# 文件。 尽管是部分的升级过程,您至少也要首先<>。阅读 {freebsd-current} 邮件列表和 [.filename]#/usr/src/UPDATING#, 会让您在其它循序渐进的过程中保持最新, 这对于我们向下一个发行版转移是很有必要的。 . 热心一点!如果您正运行 FreeBSD-CURRENT, 我们很想知道您关于它的一些想法, 尤其是关于错漏修复或增进的建议。 非常欢迎带有代码的建议! [[stable]] === 使用最新的 FreeBSD STABLE ==== FreeBSD-STABLE 是什么? FreeBSD-STABLE 是我们的发展分支,我们的主要发行版就由此而来。 这个分支会以不同速度变化,并且假定这些是第一次进入 FreeBSD-CURRENT 进行测试。然而,这 _仍然_ 是个发展中的分支,这意味着在一定的时候,FreeBSD-STABLE 源码可能或不可能满足一些特殊的要求。 它只不过是另一个工程发展途径,并不是终端用户的资源。 ==== 谁需要 FreeBSD-STABLE? 如果您有兴趣追随 FreeBSD 的开发过程或为其做点贡献, 尤其是和下一个 "非计划" 的 FreeBSD 发行版有关时, 您应该考虑采用 FreeBSD-STABLE。 尽管安全更新也会进入 FreeBSD-STABLE 分支,但您并不 _必须_ 使用 FreeBSD-STABLE 来达到这样的目的。 每一个 FreeBSD 的安全公告都会解释如何修复受到影响的发行版中的问题 ,而因为安全原因而去采用一个开发分支显然可能会同时引入一些不希望的修改。 尽管我们尽力确保 FreeBSD-STABLE 分支在任何时候都能够正确编译和运行, 但没有人能够担保它在任何时候都总可以。 此外, 尽管代码在进入 FreeBSD-STABLE 之前都是在 FreeBSD-CURRENT 上完成开发, 但使用 FreeBSD-STABLE 的人要比使用 FreeBSD-CURRENT 的更多。 有证据显示, 犄角旮旯里的各种问题有些时候仍然会由于在 FreeBSD-CURRENT 不那么明显 而在 FreeBSD-STABLE 暴露出来。 基于这些原因, _不_ 推荐您盲目地追随 FreeBSD-STABLE, 并且, 在粗略地测试过代码之前不要更新任何生产服务器到 FreeBSD-STABLE 也非常重要。 如果您没有用于完成这些工作的资源, 我们推荐您使用最新的 FreeBSD 发行版, 并使用发行版提供的二进制更新机制来在发行版之间完成迁移。 ==== 使用FreeBSD-STABLE . 加入 {freebsd-stable} 列表。让您随时了解可能出现在 FreeBSD-STABLE 里的"build 依赖性"或其它需要特别注意的问题。 当开发员正在考虑某些有争议的修复或更新时, 他们就会在这个邮件列表里发表声明,给用户机会回应, 看他们对于提出的变化是否还有什么问题。 + 加入相关的 SVN 列表来追踪你所关心的分支。比如,如果你在追踪 7-STABLE 分支,加入 link:{svn-src-stable-7-url}[svn-src-stable-7] 列表。 这样每次这个分支上有改动的时候就能让你看到提交记录, 还包括了修改可能引起的副作用之类的相关信息。 + -要加入这些列表或其他可用的,访问 {mailman-lists-url} 并点击您希望订阅的列表。关于其它步骤的说明可以在那里看到。 如果你有兴趣追踪整个原代码树的变更记录, 我们建议你订阅 {svn-src-all} 邮件列表。 +要加入这些列表或其他可用的,访问 {mailing-lists-url} 并点击您希望订阅的列表。关于其它步骤的说明可以在那里看到。 如果你有兴趣追踪整个原代码树的变更记录, 我们建议你订阅 {svn-src-all} 邮件列表。 . 如果您正安装一个新系统, 并希望它运行每月从 FreeBSD-STABLE 编译的快照, 请察看 link:https://www.FreeBSD.org/snapshots/[ Snapshots] 网页以了解更多信息。 另外, 也可以从 crossref:mirrors[mirrors,镜像站点] 安装最新的 FreeBSD-STABLE 发行版, 并按照其中的说明将系统更新到最新的 FreeBSD-STABLE 源代码。 + 如果您已经在运行较早的 FreeBSD 版本, 并希望通过源代码方式升级, 则可以通过 FreeBSD crossref:mirrors[mirrors,镜像站点] 来完成。 这可以通过两种方式来进行: .. + 与称作 [.filename]#stable-supfile# 的 [.filename]#supfile# 一起使用 crossref:mirrors[cvsup,cvsup],这个可以从 [.filename]#/usr/shared/examples/cvsup# 得到。 这是最被推荐的方式,因为它允许您一次获取整个集合, 以后就只取更改过的部分。许多人从 `cron` 运行 `cvsup`,以保持他们的源码自动更新。 您须要定制上边的 [.filename]#supfile# 样本,并且配置 crossref:mirrors[cvsup,cvsup] 以适应您的环境。 .. + 使用工具 CTM。 如果您的连接性能不太好(高价连接或只能通过电子邮件存取), CTM 是个选择。 但这也颇有争议并且常常得到到坏文件。因此很少使用它, 这也注定了不能长期用它来工作。对于使用 9600 bps 或更快连接的人,我们推荐使用 CVSup。 . 本质上说,如果您需要快速存取源码并且不计较通信宽带的话,可以使用 `cvsup` 或 `ftp`。否则,就使用 CTM。 . + 在编译 FreeBSD-STABLE 之前,请仔细阅读 [.filename]#/usr/src# 里的 [.filename]#Makefile#。 您至少应该<>, 首先做为升级过程的一部分。阅读 {freebsd-stable} 邮件列表和 [.filename]#/usr/src/UPDATING#, 可能让您在其它循序渐进的过程中保持更新, 这在我们向下一发行版转移时是很有必要的。 [[synching]] == 同步您的源码 有许多方式通过互联网(或电子邮件)与 FreeBSD 项目源码特定领域或所有领域保持更新,主要依赖于您的兴趣。 我们提供的主要服务是crossref:mirrors[anoncvs,匿名 CVS]、 crossref:mirrors[cvsup,CVSup],和 crossref:mirrors[ctm,CTM]。 [WARNING] ==== 虽然只更新源码树中的部分是可能的, 唯一被支持的更新过程是更新整个树、并且重编译用户区 (如:在用户空间运行的所有程序,像 [.filename]##/bin## 和 [.filename]##/sbin##下边的)和内核源码。 只更新源码树中的部分,或只有内核,或只有用户区 (userland) 通常会出现错误。这些问题包括有编译错误、内核崩溃 (kernel panics)、数据出错。 ==== 匿名 CVS 和 CVSup 使用 _下拉(pull)_ 模式来更新源代码。 在 CVSup 中, 用户 (或者 `cron` 脚本) 会调用 `cvsup` 程序, 后者会同某一个 `cvsupd` 服务进行交互, 以更新您的文件。 您接到的更新是更新时刻最新的, 并且您只会收到那些需要的更新。 您可以很容易地限制更新的范围, 只更新那些您需要的文件。 服务器端会根据您手头已经有的文件即时地生成更新内容。 匿名 CVS 相对于 CVSup 而言要简单一些, 因为它只是对 CVS 的一种扩展, 让您可以从远程的 CVS 代码库得到更新。 CVSup 相对而言, 要比 匿名 CVS 更有效率, 然而后者却更容易使用。 另一种方法是 CTM。 这种方法并不能将您手头的代码与中央代码库中的版本进行比较, 也不能下载它们。 在主 CTM 服务器上运行的脚本会每天执行多次, 每次运行都能够自动地识别所有文件自上次运行以来所发生的变化, 如果发现有文件发生了变动, 就会压缩、 标上一个序列号, 并进行便于使用电子邮件进行传送的编码操作 (其中只包括可打印的 ASCII 字符)。 一旦接收到, 这些"CTM deltas"就会被传送给 man:ctm_rmail[1] 工具---可以自动进行解码、校验和应用这些变化到用户的复制的源码里。 这个过程比 CVSup 更为有效, 而且更少占用我们的服务器资源,因为它不仅仅采用 _下拉(pull)_ 模式,还采用 _上推(push)_ 模式。 当然, 这样做也会带来一些不便。 如果您不经意删除了您的压缩包的部分内容, CVSup 会检测到并为您重建破坏的部分。 CTM 是不会这样做的, 如果您删除了您的源码树中的某部分(并已不能恢复), 那么您就必须从破坏处 (从最新的CVS "base delta") 开始,使用 CTM 或 匿名 CVS 进行重建,仅仅删除坏的数据并再同步。 [[makeworld]] == 重新编译 "world" 只要您根据一定版本的 FreeBSD (FreeBSD-STABLE、FreeBSD-CURRENT 等等), 已经同步了您本地的源码树,那么您就可以使用这些源码树来重建系统。 [WARNING] .做好备份 ==== 无需强调在行动 _之前_ 备份整个系统是多么的重要。 尽管重新编译系统是 (如果您按照文档的指示做的话) 一件很容易完成的工作, 但出错也是在所难免的, 另外, 别人在源码里面引入的错误也可能造成系统无法引导。 请确信自己已经做过备份, 并且在手边有恢复软盘或可以引导的光盘。 您可能永远也不会用到它, 但安全第一嘛! ==== [WARNING] .订阅恰当的邮件列表 ==== FreeBSD-STABLE 和 FreeBSD-CURRENT 分支自然是 _发展中的_。为 FreeBSD 做贡献的都是人,偶尔也会犯错误。 有时这些错误没什么危害,只是引起您的系统生成新的诊断警告。 有时是灾难性的,并导致您的系统不能启动或破坏您的文件系统 (甚至更糟)。 如果出现了类似的问题, 贴一封"小心(heads up)"帖到相关的邮件列表里, 讲清问题的本质以及受影响的系统。在问题解决后,再贴封"解除(all clear)"声明。 如果使用 FreeBSD-STABLE 或 FreeBSD-CURRENT 而又不阅读 {freebsd-stable} 和 {freebsd-current} 各自的邮件列表, 那么您是自找麻烦。 ==== [WARNING] .不要使用 `make world` ==== 许多较早的文档推荐使用 `make world` 来完成这项工作。 这样做会跳过一些必要的步骤, 因此只有在您知道自己在做什么的时候才可以这样做。 几乎所有的情况下 `make world` 都是不应该做的事情, 您应该使用这里描述的方法。 ==== [[canonical-build]] === 更新系统的规范方法 在更新系统时, 一定要首先查看 [.filename]#/usr/src/UPDATING# 文件, 以便了解在 buildworld 之前需要进行的操作, 然后按照下面列出的步骤进行操作: 这些更新步骤假定您使用的是包含旧编译器、 内核以及用户态工具及配置的旧版 FreeBSD。 我们使用 "world" 来表示系统中的核心执行文件、 函数库和程序文件。 编译器是 "world" 的一部分, 但有其特殊性。 此外, 我们还假定您已经获得了较新版本操作系统的源代码。 如果您正更新的系统中的源代码也是旧版系统所附带的, 您还需要参阅 <> 来把代码同步到较新的版本。 从源代码更新系统, 有时会比初看上去的时候更麻烦一些, 另一方面, FreeBSD 的开发人员有时会不得不修改推荐的更新步骤, 特别是当出现了一些无法避免的依赖关系的时候。 这一节余下的部分, 将介绍目前推荐的更新步骤背后的原理。 成功的更新操作必须解决下面的这些问题: * 旧的编译器可能无法编译新的内核。 (另一方面, 旧的编译器很可能有 bug。) 因此, 新的内核应该以新的编译器编译。 更具体地说, 新的编译器应在新内核开始联编之前已经完成了联编步骤。 请注意, 新的编译器并不一定需要在联编新内核之前 _安装_ 到系统中。 * 新的 world 有可能依赖一些新的内核特性。 因此, 新内核必须在新的 world 之前安装。 这两个问题就是为什么我们将在后面的章节中介绍的, 需要按照 `buildworld`、 `buildkernel`、 `installkernel`、 `installworld` 的顺序来更新系统的原因。 这并不是您需要遵守推荐的更新操作的全部原因, 除了这两个最重要的理由之外, 还有一些并不那么显而易见的原因: * 旧的 world 可能无法配合新的内核正常工作, 因此, 您在安装完新内核之后, 应尽快将 world 也随之更新。 * 有些配置文件的变动必须在安装新的 world 之前完成, 而另一些配置文件的变动则有可能导致旧 world 工作不正常。 因此, 通常而言会需要两次不同的配置文件更新步骤。 * 多数情况下, 更新步骤只会替换或增加文件; 换言之, 现有的旧文件并不会被删除。 有时, 这可能会导致一些其他问题。 因此, 有时安装操作会指明, 必须在某些操作之前手工删除一些文件。 这些在未来可能会被自动化, 也可能不会自动化。 由于有这些考虑, 因此一般情况下我们建议使用下列更新步骤。 请注意, 具体的更新操作中可能会需要一些附加的步骤, 但核心的过程应该是不会轻易发生变化的: . `make buildworld` + 这步操作会联编新的编译器, 以及少量相关工具, 并在随后使用新的编译器来联编 world。 联编的结果会存放在 [.filename]#/usr/obj#。 . `make buildkernel` + 与旧式的、 使用 man:config[8] 和 man:make[1] 的方法不同, 这种做法会使用存放于 [.filename]#/usr/obj# 中的 _新的_ 编译器。 这种做法使得您免去了由于编译器与内核源代码不一致导致的问题。 . `make installkernel` + 安装新的内核及其模块, 使系统能够以更新后的内核启动。 . 重启系统并进入单用户模式。 + 单用户模式使得更新正在运行的软件可能导致的问题减到最少。 此外, 它也使配合新内核运行旧 world 可能出现的问题减到最少。 . `mergemaster -p` + 这步操作会进行完成安装新的 world 所需的配置文件更新操作。 例如, 它可能会在系统的密码数据库中添加新的用户组或用户。 这些操作通常在上次更新之后增加了新的用户组或特殊系统用户之后是需要的, 因为 `installworld` 这步操作会需要这些用户或组才能顺利完成。 . `make installworld` + 从 [.filename]#/usr/obj# 中复制 world。 这步操作之后, 您在盘上的系统, 包括内核和 world 就都是新的了。 . `mergemaster` + 更新余下的配置文件, 因为您的 world 已经更新完成了。 . 重启系统。 + 这步操作将加在新的内核, 以及新的 world 和更新过的配置文件。 注意, 如果您正从同一 FreeBSD 版本分支升级, 例如, 从 7.0 到 7.1, 则上述过程可能没有那么必要, 因为您不太可能遇到严重的编译器、 内核源代码、 用户态程序源代码或配置文件不匹配的情形。 旧式的 `make world` 然后再联编新内核的升级方法, 很可能有机会能够正常运作而完成升级工作。 但是, 在大版本升级的过程中, 不按照前面所介绍的操作来进行升级时, 便很可能遇到一些问题。 此外, 还需要注意的是, 有些时候升级的过程中 (例如从 4._X_ 到 5.0) 可能会需要一些额外的步骤 (例如在 installworld 之前更名或删除一些文件)。 请仔细阅读 [.filename]#/usr/src/UPDATING# 这个文件, 特别是它的结尾部分所介绍的推荐的升级操作顺序。 由于开发人员发现不可能完全避免一些不匹配方面的问题, 这个过程一直在演化过程中。 不过幸运的是, 目前推荐的这个升级步骤, 应该能够在很长一段时间内不需要做任何调整。 总结一下, 目前推荐的从源代码升级 FreeBSD 的方法是: [source,shell] .... # cd /usr/src # make buildworld # make buildkernel # make installkernel # shutdown -r now .... [NOTE] ==== 有时, 可能需要额外地执行一次 `mergemaster -p` 才能够完成 `buildworld` 步骤。 这些要求, 会在 [.filename]#UPDATING# 中进行描述。 一般而言, 您可以简单地跳过这一步, 只要进行的不是大跨度的 FreeBSD 版本升级。 ==== 在 `installkernel` 成功完成之后, 您需要引导到单用户模式 (举例而言, 可以在加载器提示后输入 `boot -s`)。 接下来执行: [source,shell] .... # adjkerntz -i # mount -a -t ufs # mergemaster -p # cd /usr/src # make installworld # mergemaster # reboot .... .阅读进一步的说明 [WARNING] ==== 前面所给出的, 只是帮助您开始工作的简要说明。 要清楚地理解每一步, 特别是如果打算自行定制内核配置, 就应阅读下面的内容。 ==== [[src-updating]] === 阅读 [.filename]#/usr/src/UPDATING# 在您做其它事之前,请阅读 [.filename]#/usr/src/UPDATING# (或在您的源码里的等效的文件)。 这个文件要包含有关于您可能遇到的问题的重要信息, 或指定了您可能使用到的命令的执行顺序。如果 [.filename]#UPDATING# 与您这里读到相矛盾,那就先依据 [.filename]#UPDATING#。 [IMPORTANT] ==== 正如先前所述,阅读 [.filename]#UPDATING# 并不能替代订阅正确的邮件列表。两都是互补的,并不彼此排斥。 ==== [[make-conf]] === 检查 [.filename]#/etc/make.conf# 检查 [.filename]#/usr/shared/examples/etc/make.conf# 以及 [.filename]#/etc/make.conf#。 第一个文件包含了一些默认的定义 - 它们中的绝大多数都注释掉了。 为了在重新编译系统时能够使用它们, 请把这些选项加入到 [.filename]#/etc/make.conf#。 请注意在 [.filename]#/etc/make.conf# 中的任何设置同时也会影响每次运行 `make` 的结果, 因此设置一些适合自己系统的选项是一个好习惯。 一般的用户通常会从 [.filename]#/usr/shared/examples/etc/make.conf# 复制 `CFLAGS` 和 `NO_PROFILE` 这样的设置到 [.filename]#/etc/make.conf# 中并令它们生效。 请考虑其他的一些选项 (例如 `COPTFLAGS`、 `NOPORTDOCS` 等等), 看看是否合用。 [[updating-etc]] === 更新 [.filename]#/etc# 里的文件 [.filename]#/etc# 目录包含有除了您的系统启动时执行的脚本外大部分的系统配置信息。 有些脚本随 FreeBSD 的版本而不同。 有些配置文件在天天运行的系统里也是要使用到的。尤其是 [.filename]#/etc/group#。 偶尔, 作为安装过程的一部分, `make installworld` 会要求事先创建某些特定的用户或组。 在进行升级时, 它们可能并不存在。 这会给升级造成问题。 有时, `make buildworld` 会检查它们是否已经存在。 最近就有个这样的例子, 当时新增了 `smmsp` 用户。 当用户尝试完成安装操作时, 在 man:mtree[8] 尝试建立 [.filename]#/var/spool/clientmqueue# 时失败了。 解决办法是通过使用 `-p` 选项以构建前 (pre-buildworld) 模式运行 man:mergemaster[8]。 这表示只对比那些对于成功执行 `buildworld` 或 `installworld` 起关键作用的文件。 在第一次这样做时, 如果使用的是早期的不支持 `-p` 的 `mergemaster` 版本的话, 使用源码中的新版本即可。 [source,shell] .... # cd /usr/src/usr.sbin/mergemaster # ./mergemaster.sh -p .... [TIP] ==== 如果您是个偏执狂 (paranoid), 您可以检查您的系统看看哪个文件属于您已更名或删除了的那个组。 [source,shell] .... # find / -group GID -print .... 将显示所有 _GID_ 组 (可以是组名也可以是数字地组 ID)所有的文件。 ==== [[makeworld-singleuser]] === 改为单用户模式 您可能想在单用户模式下编译系统。 除了对更快处理事情显然有好处外, 重装系统将触及许多重要的系统文件, 包括所有标准系统二进制文件、库文件、包含 (include) 文件等等。 在正运行的系统 (尤其是在有活跃的用户的时候) 中更改这些文件是自寻烦恼。 另一种模式是在多用户模式下编译系统,然后转换到单用户模式下安装。 如果您喜欢这种方式,只需在建立 (build) 完成后才执行下边的步骤。 您推迟转换到单用户模式下直到您必须 `installkernel` 或 `installworld`。 从运行的系统里,以超级用户方式执行: [source,shell] .... # shutdown now .... 这样就会转换到单用户模式。 除此之外, 也可以重启系统, 并在启动菜单处选择 "single user"(单用户) 选项。 这样系统将以单用户模式启动。 接着, 在 shell 提示符处执行: [source,shell] .... # fsck -p # mount -u / # mount -a -t ufs # swapon -a .... 这会检查文件系统,重新将 [.filename]#/# 以读/写模式挂接, 参考 [.filename]#/etc/fstab# 挂接其它所有的 UFS 文件系统,然后启用交换区。 [NOTE] ==== 如果您的 CMOS 时钟是设置为本地时间,而不是 GMT (如果 man:date[1] 命令输出不能显示正确的时间和地区也确有其事), 您可能也需要执行下边的命令: [source,shell] .... # adjkerntz -i .... 这样可以确定您正确的本地时区设置-不这样做, 您以后可能会碰到一些问题。 ==== [[cleaning-usr-obj]] === 删除 [.filename]#/usr/obj# 随着重新构建系统的进行, 编译结果会放到 (默认情况下) [.filename]#/usr/obj# 下。 这些目录会映射到 [.filename]#/usr/src#。 通过删除这个目录, 可以加速 `make buildworld` 的过程, 并避免相互依赖关系等复杂的问题。 [.filename]#/usr/obj# 中的某些文件可能设置了不可改标记 (详情参见 man:chflags[1]), 需要首先去掉这些标志。 [source,shell] .... # cd /usr/obj # chflags -R noschg * # rm -rf * .... [[updating-upgrading-compilebase]] === 重新编译基本系统 ==== 保存输出 建议把执行 man:make[1] 后得到的输出存成一个文件。 如果什么地方出了错,您就会有个错误信息的备份。 尽管这样不能帮您分析哪里出了错, 但如果您把您的问题贴到某个邮件列表里就能帮助其他的人。 这样做最简单的办法是使用 man:script[1] 命令,同是带上参数指定存放输出的文件名。 您应在重建系统之前立即这样做,然后在过程完成时输入 `exit`。 [source,shell] .... # script /var/tmp/mw.out Script started, output file is /var/tmp/mw.out # make TARGET … compile, compile, compile … # exit Script done, … .... 如果您这样做,就 _不要_ 把文件存到 [.filename]#/tmp# 里边。下次启动时,这个目录就会被清除掉。 存放的最好地方是 [.filename]#/var/tmp# (如上个实例)或 `root` 的主目录。 [[make-buildworld]] ==== 编译基本系统 您必须在[.filename]##/usr/src##目录里边: [source,shell] .... # cd /usr/src .... (当然,除非您的源码是在其它地方,真是这样的话更换成那个目录就行了)。 使用 man:make[1] 命令重建系统。这个命令会从 [.filename]#Makefile# (描述组成 FreeBSD 的程序应该怎样被重建, 以什么样的顺序建立等等) 里读取指令。 输入的一般命令格式如下: [source,shell] .... # make -x -DVARIABLE target .... 这个例子里,`-_x_` 是会传递给 man:make[1] 的一个选项。查看 man:make[1] 手册有您可用的选项例子。 `-D_VARIABLE_` 传递一个变量给 [.filename]#Makefile#。这些变量控制了 [.filename]#Makefile# 的行为。这些同 [.filename]#/etc/make.conf# 设置的变量一样, 只是提供了另一种设置它们的方法。 [source,shell] .... # make -DNO_PROFILE target .... 是另一种指定不被建立 (built) 的先定库 (profiled libraries) 的方式,协同 [.filename]#/etc/make.conf# 里的 [.programlisting] .... NO_PROFILE= true # 避免编译性能分析库 .... 一起使用。 _目标 (target)_ 告诉 man:make[1] 什么该做。每个 [.filename]#Makefile# 定义了一定数量不同的"目标 (targets)", 然后您选择的目标就决定了什么会发生。 有些目标列在 [.filename]#Makefile# 里的,但并不意味着您要执行。相反,建立过程 (build process) 利用它们把重建系统的一些必要的步骤分割成几个子步骤。 大部分的时间不需要向 man:make[1] 传递参数,因此您的命令看起来可能象这样: [source,shell] .... # make target .... 此处 _target_ 表示的是若干编译选项。 多数情况下, 第一个 target 都应该是 `buildworld`。 正如名字所暗示的,`buildworld` 在 [.filename]#/usr/obj# 下边建立了一个全新的树, 然后使用另一个 target, `installworld` 在当前的机器里安装它。 将这些选项分开有两个优点。 首先, 它允许您安全地完成建立 (build), 而不对正在运行的系统的组件产生影响。 构建过程是 "自主的 (self hosted)"。 因为这样, 您可以安全地在以多用户模式运行的机器里执行 `buildworld` ,而不用当心不良影响。 但是依然推荐您在单用户模式时运行 `installworld`。 第二,允许您使用 NFS 挂接 (NFS mounts) 升级您网络里的多台计算机。如果您有三台 `A`、`B` 和 `C` 想进行升级,在``A`` 执行 `make buildworld` 和 `make installworld`。 然后将 `A` 上的 [.filename]#/usr/src# 和 [.filename]#/usr/obj# 通过 NFS 挂接到 `B` 和 `C` 上, 接下来, 只需在 `B` 和 `C` 上使用 `make installworld` 来安装构建的结果就可以了。 尽管 `world` target 仍然存在,强烈建议您不要用它。 运行 [source,shell] .... # make buildworld .... 我们提供了一个试验性的功能, 可以在构建过程中为 `make` 指定 `-j` 参数, 令其在构建过程中同时启动多个并发的进程。 对于多 CPU 的机器而言, 这样做有助于发挥其性能。 不过, 由于编译过程中的瓶颈主要是在 IO 而不是 CPU 上, 因此它也会对单 CPU 的机器带来好处。 对典型的单 CPU 机器, 可以使用: [source,shell] .... # make -j4 buildworld .... 这样, man:make[1] 会最多同时启动 4 个进程。 从发到邮件列表中的经验看, 这样做能带来最佳的性能。 如果您使用的机器有多颗 CPU, 并且配置了 SMP 的内核, 也可以试试看 6 到 10 的数值, 并观察是否能带来构建性能上的改善。 ==== 耗时 联编基本系统所需的时间会受到很多因素的影响, 不过, 较新的机器应该都能在一两个小时之内完成 FreeBSD-STABLE 源代码的构建, 而无须任何技巧或捷径。 完成 FreeBSD-CURRENT 源代码的联编, 则通常需要更长一些的时间。 [[new-kernel]] === 编译和安装新内核 要充分利用您的新系统,您应该重新编译内核。 这是很有必要的,因为特定的内存结构已经发生了改变,像 man:ps[1] 和 man:top[1] 这样的程序会不能工作, 除非内核同源码树的版本是一样的。 最简单、最安全的方式是 build 并安装一个基于 [.filename]#GENERIC# 的内核。虽然 [.filename]#GENERIC# 可能没有适合您的系统的所有必要的设备, 但它包括了启动您的系统到单用户模式所必需的内容。 这是个不错的检测新系统是否工作正常的测试。在从 [.filename]#GENERIC# 启动、核实系统可以工作后, 您就可以建立 (build) 一个基于您的正常内核配置文件的新的内核了。 在 FreeBSD 中, 首先完成 <> 然后再编译新内核非常重要。 [NOTE] ==== 如果您想建立一个定制内核,而且已经有了配置文件, 只需象这样使用 `KERNCONF=MYKERNEL:` [source,shell] .... # cd /usr/src # make buildkernel KERNCONF=MYKERNEL # make installkernel KERNCONF=MYKERNEL .... ==== 注意,如果您已把 `内核安全级别(kern.securelevel)` 调高到了 1 以上,而且还设置了 `noschg` 或相似的标识到了您的内核二进制里边,您可能会发现转换到单用户模式里使用 `installkernel` 是很有必要的。 如果您没有设置它, 则应该也能毫无问题地在多用户模式执行这两个命令。 请参考 man:init[8] 以了解更多关于 `内核安全级(kern.securelevel)` 的信息;查看 man:chflags[1] 了解更多关于不同文件标识的信息。 [[new-kernel-singleuser]] === 重启到单用户模式 您应该单用户模式测试新内核。照<>处的说明去做。 [[make-installworld]] === 安装编译好的新系统 您现在应使用 `installworld` 来安装新的系统二进制。 执行 [source,shell] .... # cd /usr/src # make installworld .... [NOTE] ==== 如果在 `make buildworld` 的命令行指定了变量,您就必须在 `make installworld` 命令行里指定同样的变量。 对于其它的选项并不是必需的,如,`-j` 就不能同 `installworld` 一起使用。 举例,您执行了: [source,shell] .... # make -DNO_PROFILE buildworld .... 您就必须使用: [source,shell] .... # make -DNO_PROFILE installworld .... 来安装结果,否则就要试着安装先定 (profiled) 的在 `make buildworld` 阶段没有建立 (built) 的二进制文件。 ==== [[post-installworld-updates]] === 不是由 `make installworld` 更新的更新文件 重新编译整个系统不会使用新的或改过的配置文件更新某些目录 (尤其像 [.filename]#/etc#、[.filename]#/var# 和 [.filename]#/usr#) 更新这些文件最简单的方式就是使用 man:mergemaster[8],手工去做也是可以的,只要您愿意。 不管您选择哪一种,一定记得备份 [.filename]#/etc# 以防出错。 [[mergemaster]] ==== `mergemaster` man:mergemaster[8] 工具是个 Bourne 脚本,用于检测 [.filename]#/etc# 和 [.filename]#/usr/src/etc# 源码树里边的配置文件的不同点。 这是保持系统配置文件同源码树里的一起更新的推荐方式。 在提示符里简单地输入 `mergemaster` 就可以开始,并观看它的开始过程。`mergemaster` 会建立一个临时的根(root)环境,在 [.filename]#/# 下, 放置各种系统配置文件。这些文件然后同当前安装到您系统里的进行比较。 此时,不同的文件会以 man:diff[1] 格式进行显示,使用 `+` 符号标识增加或修改的行,`-` 标识将完全删除的行或将被替换成新行。查看 man:diff[1] 手册可以得到更多关于 man:diff[1] 语法和文件不同点怎样显示的信息。 man:mergemaster[8] 会给您显示每个文件的不同处, 这样您就可以选择是删除新文件 (相对临时文件), 是以未改状态安装临时文件,是以当前安装的文件合并临时文件, 还是再看一次 man:diff[1] 结果。 "选择删除临时文件"将使 man:mergemaster[8] 知道我们希望保留我们当前的文件不改,并删除新的。 并不推荐这个选择,除非您没有更改当前文件的理由。任何时候在 man:mergemaster[8] 提示符里输入 kbd:[?],您就会得到帮助。 如果选择跳过文件,将在其它文件处理完后再次进行。 "选择安装未修改临时文件"将会使新文件替换当前的。 对大部分未改的文件,这是个最好的选择。 "选择合并文件"将为您打开一个文本编辑器, 里边是两个文件的内容。您现在就可以一边合并它们, 一边在屏幕里查看,同时从两者中选取部分生成最终文件。 当两个文件一起比较时,kbd:[l] 键会选择左边的内容, kbd:[r] 会选择右边的。最终的输出是由两个部分组成的一个文件, 用它就可以安装了。这个选项通常用于用户修改了设置的文件。 "选择再次查看 man:diff[1] 结果"将会在提供给选择之前, 显示文件的不同处,就象 man:mergemaster[8] 所做的一样。 在 man:mergemaster[8] 完成了对系统文件的处理后, 您会得到其它的选项。man:mergemaster[8] 可能会问您是否要重建密码文件, 并在最后提示您是否要删除余下的临时文件。 ==== 手动更新 如果想要手工更新,但不要只是从 [.filename]#/usr/src/etc# 把文件复制到 [.filename]#/etc# 就了事。有些文件是必须先"安装"的。 这是因为 [.filename]#/usr/src/etc# 目录并 _不是_ 想像的那样是 [.filename]#/etc# 目录的一个复制。事实上,有些是文件是 [.filename]#/etc# 有的,而 [.filename]#/usr/src/etc# 里边没有。 如果您使用 man:mergemaster[8] (作为推荐),您可以向前跳到 <>。 手工做最简单的方式是安装这些文件到一个新的目录,完成后再来查找不同处。 [WARNING] .备份您已有的 [.filename]#/etc# ==== 虽然,理论上,没有什么会自动访问这个目录, 事情还是做稳操胜当一点。复制已有 [.filename]#/etc# 到一个安全的地方,如: [source,shell] .... # cp -Rp /etc /etc.old .... `-R` 完成递归复制 (译者注:即可以复制目录以下的所有内容),`-p` 保留文件的时间、所属等等。 ==== 您需要建立一个虚目录 (a dummy set of directories) 来安装新的 [.filename]#/etc# 和其它文件。 [.filename]#/var/tmp/root# 是个不错的选择, 除此之外,还有一些子目录是需要的。 [source,shell] .... # mkdir /var/tmp/root # cd /usr/src/etc # make DESTDIR=/var/tmp/root distrib-dirs distribution .... 这样就建好了需要的目录结构,然后安装文件。在 [.filename]#/var/tmp/root# 下建立的大部分子目录是空的, 而且要删除掉。最简单的方式是: [source,shell] .... # cd /var/tmp/root # find -d . -type d | xargs rmdir 2>/dev/null .... 这样会删除所有的空目录。(标准的错误信息被重定向到了 [.filename]#/dev/null#,以防止关于非空目录的警告。) [.filename]#/var/tmp/root# 现在包含了应放在 [.filename]#/# 下某个位置的所有文件。 您现在必须仔细检查每一个文件,检测它们与您已有的文件有多大不同。 注意,有些已经安装在 [.filename]#/var/tmp/root# 下的文件有个"."在开头。在写的时候,像这样唯一的文件是 [.filename]#/var/tmp/root/# 和 [.filename]#/var/tmp/root/root/# 里 shell 启动文件,尽管可能有其它的(依赖于您什么时候读取这个)。 确信使用 `ls -a` 可以看到它们。 最简单的方式是使用 man:diff[1] 去比较两个文件: [source,shell] .... # diff /etc/shells /var/tmp/root/etc/shells .... 这会显示出 [.filename]#/etc/shells# 文件和新的 [.filename]#/var/tmp/root/etc/shells# 文件的不同处。 用这些来决定是合并您已做的变化还是复制您的旧文件过来。 [TIP] .使用日戳 (Time Stamp) 命名新的 Root(根)目录([.filename]#/var/tmp/root#),这样您可以轻松地比较两个版本的不同 ==== 频繁重建系统意味着必须频繁更新 [.filename]#/etc#,而这可能会有点烦琐。 在合并到 [.filename]#/etc# 的文件里, 最新更改的您可以做个复制,由此加快这个(指更新)过程。 下边就给出了一个怎样做的主意。 [.procedure] ====== . 像平常一样建立系统 (Make the world)。当您想更新 [.filename]#/etc# 和其它目录里, 给目标目录一个含有当前日期的名字。假如您是 1998 年 2 月 14 日做的,您可以执行下边的: + [source,shell] .... # mkdir /var/tmp/root-19980214 # cd /usr/src/etc # make DESTDIR=/var/tmp/root-19980214 \ distrib-dirs distribution .... + . 如上边列出的,从这个目录合并变化。 + 在您完成后,_不要_ 删除 [.filename]#/var/tmp/root-19980214# 目录。 . 在您下载了最新版的源码并改过后,执行第一步。 这样将得到一个新的目录,可能叫做 [.filename]#/var/tmp/root-19980221# (如果等了一周做的升级)。 . 您现在能看到两个目录间的不同了---在隔周的时间里使用 man:diff[1] 建立递归 diff 产生的不同: + [source,shell] .... # cd /var/tmp # diff -r root-19980214 root-19980221 .... + 一般情况下,这两种间的不同处比 [.filename]#/var/tmp/root-19980221/etc# 和 [.filename]#/etc# 之间的不同要小很多。 因为不同点更小,也就更容易把这些变化移到您的 [.filename]#/etc# 目录里边。 . 您现在可以删除早先的两个 [.filename]#/var/tmp/root-*# 目录: + [source,shell] .... # rm -rf /var/tmp/root-19980214 .... + . 每次您需要合并这些变化到 [.filename]#/etc# 里,就重复这个流程。 ====== 您可以使用 man:date[1] 自动产生目录的名称: [source,shell] .... # mkdir /var/tmp/root-`date "+%Y%m%d"` .... ==== [[updating-upgrading-rebooting]] === 重启 现在完成了。在您检查所有内容都放置正确后, 您可以重启系统了。只是简单的 man:shutdown[8] 可以这样做: [source,shell] .... # shutdown -r now .... === 结束 恭喜!您现在成功升级了您的 FreeBSD 系统。 如果还有轻微的错误,可以轻易地重建系统的选定部分。 例如,在部分升级或合并 [.filename]#/etc# 时,您不小心删除了 [.filename]#/etc/magic#,man:file[1] 命令就会停止工作。这种情况下,执行下边进行修复: [source,shell] .... # cd /usr/src/usr.bin/file # make all install .... [[updating-questions]] === 问题 ==== 每个变化您都须要重建系统吗? 这个不好说,因为要看变化的情况。如,如果您刚运行了 CVSup,并得到下边更新的文件: [source,shell] .... src/games/cribbage/instr.c src/games/sail/pl_main.c src/release/sysinstall/config.c src/release/sysinstall/media.c src/shared/mk/bsd.port.mk .... 这就不必重建整个系统。您只需到相关的子目录里执行 `make all install`,仅此而已。 但是,如果有重大变化,如 [.filename]#src/lib/libc/stdlib#, 那么您就要重建系统或至少静态连接的那些部分 (除了您增加的部分都是静态连接的)。 在这天后,就是您的事了。要是说每两个星期重建一下系统的话, 您可能会高兴。或者您可能只想重做改变过的部分, 确信您能找出所有依赖关系。 当然,所有这些依赖于您想升级的频率,和您是否想跟踪 FreeBSD-STABLE 或 FreeBSD-CURRENT。 ==== 我的编译失败,并伴随有许多 11信号 11 (或其它的数字信息) 号错误。是怎么回事呀? 这个通常表示硬件错误。 (重)建系统是个强压测试系统硬件的有效地方式, 并且常常产生内存错误。 这些正好表示它们自已做为编译器离奇地死于收到的奇怪信息。 一个确信的指示器是如果重新开始 make,并且整个过程中会死在不同的点上。 对于这种情况,您没有什么可做的,除了更换机器里的部件,看是哪一个坏了。 ==== 我完成后可以删除 /usr/obj 吗? 简短地说,可以。 [.filename]#/usr/obj# 包含了所有在编译阶段生成的目标文件。通常, 在 `make buildworld` 过程中第一步之一就是删除这个目录重新开始。 这种情况下,在您完成后,保留 [.filename]#/usr/obj# 没有多大意义,还可释放一大堆磁盘空间(目前是 2 GB 左右)。 不过, 如果您很了解整个过程, 也可以让 `make buildworld` 跳过这一步。 这会让后续的联编过程执行得更快, 因为大部分的源码都不必再进行编译了。 这样做的负面效果是它可能会触发一些由于敏感的依赖关系导致的问题, 这些问题会导致联编以奇怪的方式出错并失败。 这在 FreeBSD 邮件列表里经常引起沸腾, 当有人抱怨他们 build 失败时,并没意识到这是因为自已是想抄近路。 ==== 中断的 build 可以被恢复吗? 依赖于您在您找到问题之前整个过程进行了多远。 _一般而言_ (当然这并不是硬性规定), `make buildworld` 的过程中将会首先构建新版的基本构建工具 (例如 man:gcc[1], 以及 man:make[1]) 和系统库。 随后会安装这些工具和库。 这些新版本的工具和库在随后将被用于重新编译和连接它们本身。 整个系统 (现在包括了常规的用户程序, 例如 man:ls[1] 或 man:grep[1]) 会同新版的系统文件一起被重新构建。 如果您正处于最后一个阶段, 并且了解它 (因为您已经看过了所保存的输出) 则可以 (相当安全地) 做: [source,shell] .... … 问题修复 … # cd /usr/src # make -DNO_CLEAN all .... 这样就不会取消先前的 `make buildworld` 所做的工作了。 在"make buildworld"的输出中如果看到如下信息: [source,shell] .... -------------------------------------------------------------- Building everything.. -------------------------------------------------------------- .... 出现在 `make buildworld` 的输出中, 则这样做应该不会有什么问题。 如果没有看到这样的信息, 或者您不确定, 则从头开始构建将是万无一失的做法。 ==== 我怎样加快建立系统的速度? * 以单用户模式运行 * 把 [.filename]#/usr/src# 和 [.filename]#/usr/obj# 目录放到不同磁盘里的独立文件系统里。如果可能,这些磁盘在不同的磁盘控制器里。 * 更好的,是把这些文件系统放置到多个使用 man:ccd[4] (连接磁盘驱动器--concatenated disk driver)设备的磁盘里。 * 关掉 profiling (在 [.filename]#/etc/make.conf# 里设置 "NO_PROFILE=true")。您差不多用不了它。 * 在 [.filename]#/etc/make.conf# 里也为 `CFLAGS` 设置上 `-O -pipe`。 最佳优化 `-O2` 会更慢,而且 `-O` 和 `-O2` 之间的优化差别基本上可以忽略。 `-pipe` 让编译器使用管道而不用临时文件进行通信, 这样可以减少磁盘存取 (以内存作为代价)。 * 传递 `-j__n__` 选项给 man:make[1] 以便并发运行多个进程。 这样就不会考虑您的是否是单个或多个处理器机器。 * 存放 [.filename]#/usr/src# 的文件系统可以使用 `noatime` 选项来挂接 (或重新挂接)。 这样会防止文件系统记录文件的存取时间。 您可能并不需要这些信息。 + [source,shell] .... # mount -u -o noatime /usr/src .... + [WARNING] ==== 这个例子里假定 [.filename]#/usr/src# 是在它自已的文件系统里。如果不是 (例如假设它是 [.filename]#/usr# 的部分),那么您就需要那个文件系统挂接点, 而不是 [.filename]#/usr/src#。 ==== * 存放 [.filename]#/usr/obj# 的文件系统可以使用 `async` 选项被挂接 (或重新挂接)。 这样做将启用异步写盘。 换句话说, 对应用程序而言写会立即完成, 而数据则延迟几秒才会写到盘里。 这样做能够成批地写下数据, 从而极大地改善性能。 + [WARNING] ==== 注意, 这个选项会使您的文件系统变得脆弱。 使用这个选项会提高在电源断掉或机器非正常重启时, 文件系统进入不可恢复状态的概率。 如果在这个文件系统里 [.filename]#/usr/obj# 是很关键的,这不是问题。如果您有其它有价值的数据在同一个文件系统, 那么在您使用这个选项这前,确认备份一下。 ==== + [source,shell] .... # mount -u -o async /usr/obj .... + [WARNING] ==== 同上,如果 [.filename]#/usr/obj# 不在自已的文件系统里,使用相关挂接点的名字把它从例子里边替换掉。 ==== === 如果出现了错误我该怎么办? 绝对确信您的环境没有先前 build 留下的残余。这点够简单。 [source,shell] .... # chflags -R noschg /usr/obj/usr # rm -rf /usr/obj/usr # cd /usr/src # make cleandir # make cleandir .... 不错,`make cleandir` 真的要执行两次。 然后重新开始整个过程,使用 `make buildworld` 开始。 如果您还有问题,就把错误和 `uname -a` 的输出发送到 {freebsd-questions} 邮件列表。准备回答其它关于您的设置的问题! [[make-delete-old]] == 删除过时的文件、 目录和函数库 在 FreeBSD 的开发过程中, 随时可能会出现一些文件或其内容过时的情况。 这种情况有可能是由于其功能在其它地方实现了, 函数库的版本号增加, 或完全从基本系统中删去, 等等。 一般的联编和更新过程并不会删去这些旧的文件、 函数库或目录, 在更新系统之后, 应及时予以清理。 清理的好处是这些文件不会再继续占用存储 (以及备份) 空间, 另外, 如果旧的函数库或文件中存在安全或可靠性问题, 您也应更新到新的函数库, 以避免安全隐患或崩溃情形的发生。 过时的文件、 目录和函数库会列在 [.filename]#/usr/src/ObsoleteFiles.inc# 中。 接下来将介绍在系统更新过程中如何删去这些过时的文件。 我们假定您已经按照 <> 介绍的步骤完成了更新操作。 在 `make installworld` 和 `mergemaster` 命令完成之后, 您应使用下面的命令检查系统中是否存在过时的文件或库: [source,shell] .... # cd /usr/src # make check-old .... 如果有过时的文件, 则可以用下面的命令来删除: [source,shell] .... # make delete-old .... [TIP] ==== 参阅 [.filename]#/usr/src/Makefile# 可以了解其他 target 的功用。 ==== 在删除文件时, 系统会针对每个文件都给出提示。 您可以跳过这些提示, 并让系统自动完成删除操作, 方法是使用 make 变量 `BATCH_DELETE_OLD_FILES`, 具体做法如下: [source,shell] .... # make -DBATCH_DELETE_OLD_FILES delete-old .... 您也可以用 `yes` 命令和管道来达到类似的目的: [source,shell] .... # yes|make delete-old .... [WARNING] ==== 删去过时的文件, 有可能会破坏现有的依赖这些文件的应用程序。 对于旧的函数库来说, 这种问题出现的可能性更大。 绝大多数情况下, 您应重新联编使用旧库的所有的程序、 port 或函数库之后再执行 `make delete-old-libs`。 ==== 在 Ports Collection 中提供了一些检测动态连接库依赖关系的工具, 例如 package:sysutils/libchk[] 和 package:sysutils/bsdadminscripts[]。 过时的动态连接库可能会与新库冲突, 导致类似这样的警告消息: [source,shell] .... /usr/bin/ld: warning: libz.so.4, needed by /usr/local/lib/libtiff.so, may conflict with libz.so.5 /usr/bin/ld: warning: librpcsvc.so.4, needed by /usr/local/lib/libXext.so, may conflict with librpcsvc.so.5 .... 要解决这样的问题, 需要确认安装这个库的 port: [source,shell] .... # pkg_info -W /usr/local/lib/libtiff.so /usr/local/lib/libtiff.so was installed by package tiff-3.9.4 # pkg_info -W /usr/local/lib/libXext.so /usr/local/lib/libXext.so was installed by package libXext-1.1.1,1 .... 接着卸载、 重新联编并安装 port。 您可以使用 package:ports-mgmt/portmaster[] 或 package:ports-mgmt/portupgrade[] 工具来自动完成这些操作。 在确认所有的 port 都重新联编, 并且不再使用旧库以后, 您就可以用下面的命令来删除它们了: [source,shell] .... # make delete-old-libs .... [[small-lan]] == 跟踪多台机器 如果您有多台机器想跟踪同样的源码树, 那么让它们都下载源码并重建所有东西,看起有点浪费资源: 磁盘空间、网络带宽以及 CPU 周期。 解决的办法是让一台机器处理大部分的工作,而其它的机器通过 NFS 挂接 (mount) 这些工作。这部分列举了一种这样做的方法。 [[small-lan-preliminaries]] === 准备 首先,确定一批机器,运行的二进制代码是同一套---我们称作 _构建集群 (build set)_。 每台机器可以使用不同的定制内核, 但它们运行的是相同的用户区二进制文件(userland binaries)。 从这批机器中选择一台机器做为 _构建机器(build machine)_。 这将是用于构建(build)系统和内核的机器。想像一下,它应该是一台快速的机器, 有足够的空余的 CPU 来执行``make buildworld``。 您也想要选一台机器做为 _测试机器(test machine)_, 这个将用于软件的更新生成产品之前对他们进行测试。这个 _必须_ 是一台您能提供的平时也可使用的机器。 它可以是"构建机器",但没这个必要。 在这个"构建集群"里的所有机器需要从同一台机器、 同一个点上挂接 [.filename]#/usr/obj# 和 [.filename]#/usr/src#。理想地, 它们在"构建机器"上的两个不同的驱动器里, 但是在那台机器上可以进行 NFS 挂接。如果您有多个"构建集群", [.filename]#/usr/src# 应该在某个"构建机器"上, 而在其它机器上进行 NFS 挂接。 最后,确认"构建集群"里所有机器上的 [.filename]#/etc/make.conf# 和 [.filename]#/etc/src.conf# 与"构建机器"里的相同。 这意味着"构建机器"必须构建部分基本系统用于 "构建集群"里所有机器的安装。同样, 每台"构建机器"要有它自已的内核名字,使用 [.filename]#/etc/make.conf# 里的 `KERNCONF` 进行设置,并且每台"构建机器"应该把它们列在 `KERNCONF` 里,同时把自已的内核列在最前。 "构建机器"的 [.filename]#/usr/src/sys/arch/conf# 里一定要有每台机器的内核配置文件,如果它想构建它们的内核的话。 [[small-lan-base-system]] === 基本系统 既然所有的妥当了,就准备构建所有的东西。如<>中描述的一样在"构建机器"上构建内核和系统, 但是什么也不安装。在构建结束后,转到"测试机器"上, 安装您刚构建的内核。如果这台机器通过 NFS 挂接了 [.filename]#/usr/src# 和 [.filename]#/usr/obj#, 在您重启到单用户模式里,您需要启动网络然后挂接他们。 最简单的方式是启动到多用户模式下,然后执行 `shutdown now` 转到单用户模式。一旦进入,您就可以安装新的内核和系统,并执行 `mergemaster`,就像平常一样。完成后, 重启返回到一般多用户模式操作这台机器。 在您确信所有在 "测试机"里都工作正常后, 就使用相同的过程在 "构建集群"里的其它机器里安装新的软件。 [[small-lan-ports]] === Ports 类似的想法是使用 ports 树。 第一个关键的步骤是从同一台计算机上挂接 [.filename]#/usr/ports# 到 "构建集群" 里的全部计算机。 然后正确设置 [.filename]#/etc/make.conf# 共享 distfiles。您应把 `DISTDIR` 设置到一个共享的目录里, 那里可以被任何一个 `root` 用户写入, 并且是由您的 NFS 挂接映射的。 设置每一台机器的 `WRKDIRPREFIX` 到一个本地构建 (build) 目录。最后,如果您要构建和发布包 (packages),那么您应该设置 `PACKAGES` 到一个类似于 `DISTDIR` 的目录。 diff --git a/documentation/content/zh-cn/books/handbook/eresources/_index.adoc b/documentation/content/zh-cn/books/handbook/eresources/_index.adoc index d8f7613122..def166d8dc 100644 --- a/documentation/content/zh-cn/books/handbook/eresources/_index.adoc +++ b/documentation/content/zh-cn/books/handbook/eresources/_index.adoc @@ -1,1023 +1,1023 @@ --- title: 附录 C. Internet上的资源 part: 部分 V. 附录 prev: books/handbook/bibliography next: books/handbook/pgpkeys --- [appendix] [[eresources]] = Internet上的资源 :doctype: book :icons: font :sectnums: :sectnumlevels: 6 :source-highlighter: rouge :experimental: :skip-front-matter: :toc-title: 目录 :table-caption: 表 :figure-caption: 图 :example-caption: 例 :xrefstyle: basic :relfileprefix: ../ :outfilesuffix: :sectnumoffset: C include::shared/mirrors.adoc[] include::shared/authors.adoc[] include::shared/releases.adoc[] include::shared/zh-cn/mailing-lists.adoc[] include::shared/zh-cn/teams.adoc[] include::shared/zh-cn/urls.adoc[] 发展迅猛的FreeBSD使得现有的印刷、平面媒体跟不上它的发展进度! 而电子版的也许是最好的,通常是唯一一个可以跟上最新发展方向的。FreeBSD来自于志愿者的成果, 用户社区通常也扮演着是"``技术支持部门``"的角色。通过电子邮, Web 论坛件和 USENET 新闻组可以很快的找到他们。 以下列出了尽量多的联系FreeBSD用户社区的方式。如果您发现有其他的资源没有被包括在这儿, 请告诉link:{freebsd-doc},以便将它们加入到这里。 [[eresources-mail]] == 邮件列表 邮件列表通常是提问或是发起有关 FreeBSD 某一方面的专项技术讨论最直接的途径。 有多种针对于不同 FreeBSD 话题的邮件列表。 把你的问题发送到最合适的邮件列表通常能获得更加快速准确的回复。 本文的最后给出了各个不同的邮件列表的使用规则。 _在订阅其中任何一个列表之前,请先阅读使用条文_。 现在订阅这些邮件列表的人每天都会收到上百封关于FreeBSD的信件。 设立列表的使用条文有助于维护讨论质量。否则这些讨论计划的列表将失去其意义。 [NOTE] ==== _如果你想要尝试发送一封邮件到 FreeBSD 邮件列表,你可以把邮件发往 {freebsd-test}。_ 请不要往其他的列表发送测试邮件。 ==== 如果不知道哪个邮件列表适合于发送您的问题, 请参见 link:{freebsd-questions-article}[如何从 FreeBSD-questions 邮件列表中更快地得到答案]。 在列表中发送任何问题之前, 请首先学习使用邮件列表的最佳方式, 例如如何通过阅读 link:{mailing-list-faq}[ 邮件列表常见问题回答集] (FAQ) 文档, 来避免经常重复的讨论。 全部的邮件列表记录都可以在link:https://www.FreeBSD.org/search/[FreeBSD World Wide Web服务器]上找到。此服务器提供了很棒的关键词搜寻功能,可让您找到FAQ的解答。 而在邮件列表上提问之前,请先搜寻是否已有答案。 请注意这意味着所有发往 FreeBSD 邮件列表的消息都会被永久归档保存。 当涉及到隐私保护的话, 可以考虑使用一个可使用后丢弃的电子邮件地址并只发送公开的信息。 [[eresources-summary]] === 列表摘要 _一般性的列表:_ 以下的列表都是一般性的, 而且可以自由地加入,鼓励大家加入他们: [.informaltable] [cols="1,1", frame="none", options="header"] |=== | 目录 | 用途 |link:{freebsd-advocacy-url}[freebsd-advocacy] |FreeBSD鼓吹者 |{freebsd-announce} |重要的事件和里程碑 |link:{freebsd-arch-url}[freebsd-arch] |架构和设计的讨论 |link:{freebsd-bugbusters-url}[freebsd-bugbusters] |与FreeBSD问题报告数据库和有关工具维护相关的讨论 |link:{freebsd-bugs-url}[freebsd-bugs] |报告FreeBSD的Bug |link:{freebsd-chat-url}[freebsd-chat] |和技术无关的FreeBSD讨论区 |link:{freebsd-chromium-url}[freebsd-chromium] |FreeBSD Chromium 相关的讨论 |{freebsd-current} |讨论使用 FreeBSD-CURRENT 有关的一些问题 |link:{freebsd-isp-url}[freebsd-isp] |ISP使用FreeBSD的讨论 |link:{freebsd-jobs-url}[freebsd-jobs] |与FreeBSD有关的工作机会 |link:{freebsd-questions-url}[freebsd-questions] |用户问题和技术支持 |{freebsd-security-notifications} |安全通知 |{freebsd-stable} |讨论使用 FreeBSD-STABLE 有关的一些问题 |{freebsd-test} |在真正发送一个邮件到邮件列表之前可以先发送到这里测试 |=== _技术性的邮件列表:_ 以下的邮件列表是用来讨论技术性问题的。 在加入订阅及讨论之前请务必认真阅读每个列表主题,因为他们讨论的内容都是严格地被限制着的。 [.informaltable] [cols="1,1", frame="none", options="header"] |=== | 目录 | 用途 |{freebsd-acpi} |ACPI 和电源管理的开发 |link:{freebsd-afs-url}[freebsd-afs] |将 AFS 移植到 FreeBSD |link:{freebsd-aic7xxx-url}[freebsd-aic7xxx] |为 Adaptec(R) AIC 7xxx 开发驱动 |link:{freebsd-amd64-url}[freebsd-amd64] |将 FreeBSD 移植到 AMD64 系统 |link:{freebsd-apache-url}[freebsd-apache] |关于与 Apache 有关的 ports 的讨论 |link:{freebsd-arm-url}[freebsd-arm] |将 FreeBSD 移植到 ARM(R) 处理器 |link:{freebsd-atm-url}[freebsd-atm] |在 FreeBSD 上使用 ATM 网络 |link:{freebsd-bluetooth-url}[freebsd-bluetooth] |在 FreeBSD 上使用 Bluetooth(R) 技术 |link:{freebsd-cluster-url}[freebsd-cluster] |在集群环境中使用 FreeBSD |link:{freebsd-cvsweb-url}[freebsd-cvsweb] |CVSweb 维护 |link:{freebsd-database-url}[freebsd-database] |讨论 FreeBSD 下开发和使用数据库 |link:{freebsd-doc-url}[freebsd-doc] |创建 FreeBSD 相关文档 |link:{freebsd-drivers-url}[freebsd-drivers] |为 FreeBSD 撰写驱动 |link:{freebsd-eclipse-url}[freebsd-eclipse] |FreeBSD 上的 Eclipse IDE、工具、 富客户应用, 以及 ports 的用户讨论。 |link:{freebsd-embedded-url}[freebsd-embedded] |在嵌入式应用中使用 FreeBSD |link:{freebsd-eol-url}[freebsd-eol] |关于与 FreeBSD 有关, 但已不再为 FreeBSD Project 所维护的软件的互助支持。 |link:{freebsd-emulation-url}[freebsd-emulation] |在 FreeBSD 上模拟其它系统, 如 Linux/MS-DOS(R)/Windows(R) |link:{freebsd-firewire-url}[freebsd-firewire] |FreeBSD 的 FireWire(R) (iLink, IEEE 1394) 技术讨论 |link:{freebsd-fs-url}[freebsd-fs] |文件系统 |link:{freebsd-gecko-url}[freebsd-gecko] |Gecko 渲染引擎 issues |link:{freebsd-geom-url}[freebsd-geom] |针对 GEOM 的讨论和实现 |link:{freebsd-gnome-url}[freebsd-gnome] |移植 GNOME 和 GNOME应用程序 |link:{freebsd-hackers-url}[freebsd-hackers] |一般性的技术讨论 |link:{freebsd-hardware-url}[freebsd-hardware] |一般性的支持 FreeBSD 的硬件的讨论 |link:{freebsd-i18n-url}[freebsd-i18n] |FreeBSD 的国际化 |link:{freebsd-ia32-url}[freebsd-ia32] |在 IA-32 (Intel(R) x86) 平台上运行 FreeBSD |link:{freebsd-ia64-url}[freebsd-ia64] |将 FreeBSD 移植到 Intel(R) 即将推出的 IA64 系统 |link:{freebsd-ipfw-url}[freebsd-ipfw] |关于 IP 防火墙代码再设计的技术性讨论 |link:{freebsd-isdn-url}[freebsd-isdn] |ISDN开发人员 |link:{freebsd-jail-url}[freebsd-jail] |关于 man:jail[8] 机制的讨论 |link:{freebsd-java-url}[freebsd-java] |Java(TM) 开发人员以及移植 JDK(TM)s 到 FreeBSD 的人们 |link:{freebsd-kde-url}[freebsd-kde] |移植 KDE 和 KDE 应用程序 |link:{freebsd-lfs-url}[freebsd-lfs] |移植 LFS 到FreeBSD上 |link:{freebsd-mips-url}[freebsd-mips] |移植 FreeBSD 到 MIPS(R) |link:{freebsd-mobile-url}[freebsd-mobile] |关于便携式计算机的讨论 |link:{freebsd-mono-url}[freebsd-mono] |FreeBSD 上的 Mono 和 C# 应用 |{freebsd-multimedia} |多媒体应用程序 |link:{freebsd-new-bus-url}[freebsd-new-bus] |技术讨论关于总线架构 |link:{freebsd-net-url}[freebsd-net] |网络子系统和 TCP/IP 源代码的讨论 |link:{freebsd-office-url}[freebsd-office] |FreeBSD 上的办公套件 |link:{freebsd-performance-url}[freebsd-performance] |高性能、负载下安装后的性能调整问题 |link:{freebsd-perl-url}[freebsd-perl] |许多与 perl 相关的 ports 的维护 |link:{freebsd-pf-url}[freebsd-pf] |关于 packet filter 防火墙系统的讨论 |link:{freebsd-platforms-url}[freebsd-platforms] |关于向非 Intel(R) 架构的平台上移植的讨论 |link:{freebsd-ports-url}[freebsd-ports] |关于 Ports Collection 的讨论 |link:{freebsd-ports-bugs-url}[freebsd-ports-bugs] |ports bugs/PRs讨论 |link:{freebsd-ppc-url}[freebsd-ppc] |移植 FreeBSD 到 PowerPC(R) |link:{freebsd-proliant-url}[freebsd-proliant] |关于 FreeBSD 在 HP ProLiant 服务器平台上的技术讨论 |link:{freebsd-python-url}[freebsd-python] |FreeBSD 专属的 Python 问题 |link:{freebsd-rc-url}[freebsd-rc] |关于 [.filename]#rc.d# 系统及其开发的讨论 |link:{freebsd-realtime-url}[freebsd-realtime] |FreeBSD 实时扩展的开发 |link:{freebsd-ruby-url}[freebsd-ruby] |关于 FreeBSD 上 Ruby 的讨论 |link:{freebsd-scsi-url}[freebsd-scsi] |SCSI 子系统 |{freebsd-security} |系统安全 |link:{freebsd-small-url}[freebsd-small] |在嵌入式系统上使用 FreeBSD (已过时; 请使用 link:{freebsd-embedded-url}[freebsd-embedded] 代替) |link:{freebsd-sparc64-url}[freebsd-sparc64] |移植 FreeBSD 到 SPARC(R) 系统 |link:{freebsd-standards-url}[freebsd-standards] |让 FreeBSD 顺应 C99 以及 POSIX(R) 标准 |link:{freebsd-sysinstall-url}[freebsd-sysinstall] |man:sysinstall[8] 的开发 |link:{freebsd-threads-url}[freebsd-threads] |线程 |link:{freebsd-testing-url}[freebsd-testing] |FreeBSD 性能和稳定性测试 |link:{freebsd-tilera-url}[freebsd-tilera] |讨论将 FreeBSD 移植到 Tilera 系列 CPU |link:{freebsd-tokenring-url}[freebsd-tokenring] |在 FreeBSD 中支持 Token Ring |link:{freebsd-toolchain-url}[freebsd-toolchain] |维护在 FreeBSD 中集成的联编工具集 |link:{freebsd-usb-url}[freebsd-usb] |关于 FreeBSD 的 USB 支持的讨论 |link:{freebsd-virtualization-url}[freebsd-virtualization] |讨论各种 FreeBSD 支持的虚拟化技术 |link:{freebsd-vuxml-url}[freebsd-vuxml] |关于 VuXML 的问题讨论 |link:{freebsd-x11-url}[freebsd-x11] |维护和支持在 FreeBSD 上运行的 X11 |link:{freebsd-xen-url}[freebsd-xen] |讨论 FreeBSD Xen(TM) 上的移植 - 实现和使用 |link:{freebsd-xfce-url}[freebsd-xfce] |FreeBSD 上 XFCE 的移植和维护 |=== _限制订阅的列表:_ 以下的列表是针对某些特定的读者而设的, 而且并不适合被当成是一般公开讨论区。您最好在某一技术讨论区参与讨论后再选择订阅这些 限制订阅的邮件列表,因为这样您可以了解到在这些讨论区发言所需要的礼仪。 [.informaltable] [cols="1,1", frame="none", options="header"] |=== | 目录 | 用途 |link:{freebsd-hubs-url}[freebsd-hubs] |运行镜象站点的成员(支持基本服务) |link:{freebsd-user-groups-url}[freebsd-user-groups] |用户组调整 |link:{freebsd-vendors-url}[freebsd-vendors] |商家在发布之前的调整 |link:{freebsd-wip-status-url}[freebsd-wip-status] |FreeBSD 项目进度状态 |link:{freebsd-wireless-url}[freebsd-wireless] |讨论 802.11 栈, 工具和设备驱动开发 |link:{freebsd-www-url}[freebsd-www] |link:https://www.FreeBSD.org/[www.FreeBSD.org]的维护 |=== _分类列表:_ 所有以上的列表在一个分类格式里面是可利用的。 一旦订阅了一个列表,您可以在您的账号选项里面设置您的分类选项。 _CVS 和 SVN 列表:_ 以下的邮件是给对FreeBSD源代码的变更记录有兴趣的人看的, 而且它们是__只读__的邮件列表,您不能发Email给他们。 [.informaltable] [cols="1,1,1", frame="none", options="header"] |=== | 列表 | 源位置 | 描述 |link:{cvs-all-url}[cvs-all] |[.filename]#/usr/(CVSROOT\|doc\|ports)# |所有对源代码的改变纪录 (其他 CVS commit 列表的超集) |link:{cvs-doc-url}[cvs-doc] |[.filename]#/usr/(doc\|www)# |所有对 doc 和 www 源代码的改变记录 |link:{cvs-ports-url}[cvs-ports] |[.filename]#/usr/ports# |所有对 ports 源代码的改变记录 |link:{cvs-projects-url}[cvs-projects] |[.filename]#/usr/projects# |所有对 projects 源代码的改变记录 |link:{cvs-src-url}[cvs-src] |[.filename]#/usr/src# |所有对 src 源代码的改变记录 (由 svn-to-cvs 提交导入程序生成) |{svn-src-all} |[.filename]#/usr/src# |所有对 Subversion 仓库的改变记录 (除了 [.filename]#user# 和 [.filename]#projects#) |{svn-src-head} |[.filename]#/usr/src# |所有对 Subversion 仓库 "head" 分支的改变记录 (FreeBSD-CURRENT 分支) |link:{svn-src-projects-url}[svn-src-projects] |[.filename]#/usr/projects# |所有对 Subversion 源码仓库中有关 [.filename]#projects# 部分的改变记录 |link:{svn-src-release-url}[svn-src-release] |[.filename]#/usr/src# |所有对 Subversion 源码仓库中有关 [.filename]#releases# 部分的改变记录 |link:{svn-src-releng-url}[svn-src-releng] |[.filename]#/usr/src# |所有对 Subversion 源码仓库中有关 [.filename]#releng# 部分的改变记录 (security / release engineering 分支) |link:{svn-src-stable-url}[svn-src-stable] |[.filename]#/usr/src# |所有对 Subversion 源码仓库中有关 stable 分支的改变记录 |link:{svn-src-stable-6-url}[svn-src-stable-6] |[.filename]#/usr/src# |所有对 Subversion 源码仓库中有关 [.filename]#stable/6# 分支的改变记录 |link:{svn-src-stable-7-url}[svn-src-stable-7] |[.filename]#/usr/src# |所有对 Subversion 源码仓库中有关 [.filename]#stable/7# 分支的改变记录 |link:{svn-src-stable-8-url}[svn-src-stable-8] |[.filename]#/usr/src# |所有对 Subversion 源码仓库中有关 [.filename]#stable/8# 分支的改变记录 |{svn-src-stable-9} |[.filename]#/usr/src# |所有对 Subversion 源码仓库中有关 [.filename]#stable/9# 分支的改变记录 |link:{svn-src-stable-other-url}[svn-src-stable-other] |[.filename]#/usr/src# |所有对 Subversion 源码仓库中早期 [.filename]#stable# 分支的改变记录 |link:{svn-src-svnadmin-url}[svn-src-svnadmin] |[.filename]#/usr/src# |所有对 Subversion 源码仓库中管理用脚本, hook 和其他配置数据的改变记录 |link:{svn-src-user-url}[svn-src-user] |[.filename]#/usr/src# |所有对 Subversion 源码仓库中有关 [.filename]#user# 部分的改变记录 |link:{svn-src-vendor-url}[svn-src-vendor] |[.filename]#/usr/src# |所有对 Subversion 源码仓库中有关 vender 部分的改变记录 |=== [[eresources-subscribe]] === 如何订阅 -订阅一个列表,点击上面的列表名字或到 {mailman-lists-url} 并点击进入您感兴趣的列表,这个列表的页面包含了所必需的订阅操作指南。 +订阅一个列表,点击上面的列表名字或到 {mailing-lists-url} 并点击进入您感兴趣的列表,这个列表的页面包含了所必需的订阅操作指南。 其实您只需发送邮件到 mailto:列表名@FreeBSD.org[列表名@FreeBSD.org]。 它将被再次转发到全世界的这个邮件列表的成员。 点击上面的 URL,在列表的底部可以从订阅的列表中退出。 也可以发送一个电子邮件到 mailto:列表名-unsubscribe@FreeBSD.org[列表名-unsubscribe@FreeBSD.org] 来退订。 此外,我们要求您必须保持在技术性的邮件列表中只是讨论技术。 如果您只是对一些重要的公告感兴趣,建议您加入 {freebsd-announce}, 它的通信量比较低。 [[eresources-charters]] === 列表规章 _所有_ FreeBSD 的邮件列表都有同样的基本规则, 所有人必须按照规则来做。 违反这些规则时, FreeBSD Postmaster mailto:postmaster@FreeBSD.org[postmaster@FreeBSD.org] 会在前两次发送警告, 如果第三次违反, FreeBSD Postmaster 将从所有 FreeBSD 的邮件列表中删除这样的人, 并过滤来自发信人之后的所有邮件。 我们很遗憾必须要遵守这样的规则, 但今天的互联网是一个很混乱的环境, 它上面的很多约束机制, 都相当脆弱。 具体规则: * 任何发表的主题都应当附合基本的列表概况。例如,如果列表是有关技术问题的, 那您发表的文章包含技术讨论。不要把不相关的讨论放在一起。 对于没有主题的自由形式的讨论,可以使用 FreeBSD-chat + mailto:freebsd-chat@FreeBSD.org[freebsd-chat@FreeBSD.org]。 * 不要将同一个问题发送到超过两个的邮件列表上,当有一个清晰和明显的必须要 发表到两个列表的要求时,也只能是两个。对于大多数的列表,已经有相当多的订户了, 除了一些比较深奥的问题(如"-stable & -scsi") ,没有必要同时将一个问题发到多个列表上。 如果一个信息以这种方式(多个邮件列表在``Cc``行出现)被发送给您, 那``Cc``行在把它再发送出去之前也将被整理。 _无论谁是最初发表者,都会导致您自己的交叉发送。_ * 不容许进行人身攻击和亵渎(在前后的争论中),包括用户和开发人员。 应当遵守最起码的网络礼节,象需要征得同意才可以引用或张贴私人邮件等。 _然而_,也有非常少的情况下,这样的内容会符合列表规章, 因此,它会在最初给予警告(或禁止)。 * 严格的禁止非FreeBSD相关产品或服务的广告,一旦发现将马上取缔。 _单独的列表规章:_ {freebsd-acpi}:: _ACPI和电源管理开发_ link:{freebsd-afs-url}[freebsd-afs]:: _Andrew文件系统_ + 这个列表是用来讨论porting和从CMU/Transarc使用AFS。 {freebsd-announce}:: _重要事件/里程碑_ + 这是一个发布FreeBSD重大事件的邮件列表。这包括有关snapshots和其他版本的公告, 新的FreeBSD的性能的公告,还可以用于指派志愿者等等。这个列表比较小。 link:{freebsd-arch-url}[freebsd-arch]:: _架构和设计讨论_ + 这个列表是讨论FreeBSD的架构。本质上应保证内容的纯技术性。例如主题是: ** 如何重新创建系统使其同时有几个自己构造的系统运行。 ** 需要什么才能修复VFS来使Heidemann层工作。 ** 我们怎么改变设备驱动程序接口以便能够在多种总线和体系结构上使用同样的驱动程序。 ** 如何写一个网络驱动。 link:{freebsd-bluetooth-url}[freebsd-bluetooth]:: _FreeBSD 上的 Bluetooth(R)_ + 这是一个 FreeBSD 的 Bluetooth(R) 用户聚集的讨论区。 这里欢迎关于设计问题、 实现细节、 补丁、 问题报告、 开发进度报告, 功能需求以及其他与 Bluetooth(R) 相关的讨论。 link:{freebsd-bugbusters-url}[freebsd-bugbusters]:: _同等问题报告处理结果_ + 这个列表的目的是作为一个调整和讨论论坛来服务于Bug列表的成员,Bugbuster列表成员 和其他任何的对PR数据库真正的有兴趣的成员。这个列表不是为了讨论关于Bug细节,补丁或PRs。 link:{freebsd-bugs-url}[freebsd-bugs]:: _Bug报告_ + 这是一个报告FreeBSD的Bug的邮件列表。可以随时通过 man:send-pr[1] 命令或link:https://www.FreeBSD.org/send-pr.html[WEB页面]来提交Bug。 link:{freebsd-chat-url}[freebsd-chat]:: _与FreeBSD社区相关的非技术性项目_ + 这个列表超出了其他有关非技术、社会信息的内容。 包括谈论Jordan看起来是否像一个机敏的侦探,是否句首的字母要大写, 谁喝了很多咖啡, 哪儿的啤酒酿造的最好,谁在他们的地下室里酿造了啤酒等等。对于偶然宣布重大的事件 (例如:将要举行的聚会,婚礼,生日,新工作等等)也能使用这种技术列表,除上述列举之外 任何事情都可以发布在-chat列表上。 link:{freebsd-chromium-url}[freebsd-chromium]:: _FreeBSD 上的 Chromium_ + 这是一个讨论 FreeBSD 上 Chromium 相关问题的邮件列表。 这是一个讨论开发和安装 Chromium 的技术类列表。 {core-name}:: _FreeBSD核心团队_ + 这是一个只供核心成员内部使用的邮件列表,只有当一个与FreeBSD相关的严重的事情需要裁决或严格审核时, 才能发送消息到这个邮件列表。 {freebsd-current}:: _关于使用FreeBSD-CURRENT版的讨论_ + 这是一个针对FreeBSD-CURRENT用户的邮件列表。 它包括一些可能影响用户的新特性的警告,使用FreeBSD-current的一些指导。 任何运行"CURRENT"的人必须同意这个列表,这是一个纯技术的邮件列表。 link:{freebsd-cvsweb-url}[freebsd-cvsweb]:: _FreeBSD CVSweb计划_ + 关于FreeBSD-CVSweb的使用,开发和维护的技术性讨论。 link:{freebsd-doc-url}[freebsd-doc]:: _文档计划_ + 这个邮件列表是与FreeBSD创建的文档的出版和计划的讨论。 这个邮件列表的成员都会提交到"The FreeBSD Documentation Project"。 它是一个开放的列表,可以自由地加入和做贡献! link:{freebsd-drivers-url}[freebsd-drivers]:: _为 FreeBSD 撰写设备驱动_ + 这是关于 FreeBSD 上的设备驱动的技术论坛。 它主要供编写设备驱动的开发人员提出关于如何使用 FreeBSD 内核提供的 API 来编写设备驱动程序的问题。 link:{freebsd-eclipse-url}[freebsd-eclipse]:: _FreeBSD 上的 Eclipse IDE、工具、 富客户应用, 以及 ports 的用户讨论。_ + 这个邮件列表的目的, 是为在 FreeBSD 平台上选择、 安装、 使用、 开发和维护 Eclipse IDE、 工具、 富客户应用的用户, 提供互助式支持, 以及为将 Eclipse IDE 和插件移植到 FreeBSD 环境中提供帮助。 + 另一个目的是建立一个在 Eclipse 社区和 FreeBSD 社区之间的交流管道, 以达到互惠互利。 + 尽管这个列表主要关注的是 Eclipse 用户的诉求, 它也为使用 Eclipse 框架开发 FreeBSD 专用的应用提供了论坛。 link:{freebsd-embedded-url}[freebsd-embedded]:: _在嵌入式应用中使用 FreeBSD_ + 这个列表讨论关于在嵌入式系统中如何使用 FreeBSD 的话题。 这是一个技术性的邮件列表, 其主要内容是技术讨论。 针对这一邮件列表, 我们将嵌入式系统定义为那些不作为桌面系统、 只完成某些单一任务的计算设备。 这些实例包括路由器交换机和 PBX 这样的网络设备、 远程测量设备、 PDA、 PoS 系统,等等。 link:{freebsd-emulation-url}[freebsd-emulation]:: _模拟其他系统, 例如 Linux/MS-DOS(R)/Windows(R)_ + 这是一个讨论关于如何在 FreeBSD 上运行为其他操作系统所撰写的程序的论坛。 link:{freebsd-eol-url}[freebsd-eol]:: _关于与 FreeBSD 有关, 但已不再为 FreeBSD Project 所维护的软件的互助支持。_ + 这个邮件列表主要用于那些有兴趣提供或使用针对已不再为 FreeBSD Project 官方所支持 (例如, 以安全更新或补丁的形式) 的 FreeBSD 相关软件的用户或公司讨论。 link:{freebsd-firewire-url}[freebsd-firewire]:: _FireWire(R) (iLink, IEEE 1394)_ + 这个邮件列表是关于FreeBSD子系统FireWire(R) (aka IEEE 1394 aka iLink)的设计和执行。相关特定的主题包括标准,总线设计和他们的协议, 适配器板/卡/芯片设置,及他们的正确的代码的结构和实施。 link:{freebsd-fs-url}[freebsd-fs]:: _文件系统_ + 关于FreeBSD文件系统的讨论。这是一个纯技术的邮件列表。 link:{freebsd-gecko-url}[freebsd-gecko]:: _Gecko 渲染引擎_ + 这是一个讨论 FreeBSD 上 Gecko 有关的应用程序的邮件列表。 + 围绕 FreeBSD 上 Gecko Ports 应用程序的讨论, 以及它们的安装, 开发和支持。 link:{freebsd-geom-url}[freebsd-geom]:: _GEOM_ + 针对GEOM和相关执行的讨论。这是一个纯技术的邮件列表。 link:{freebsd-gnome-url}[freebsd-gnome]:: _GNOME_ + 讨论关于在FreeBSD系统上的GNOME桌面环境 这是一个纯技术的邮件列表。 link:{freebsd-ipfw-url}[freebsd-ipfw]:: _IP防火墙_ + 这是关于在FreeBSD里重新设计IP防火墙代码的技术讨论论坛。 link:{freebsd-ia64-url}[freebsd-ia64]:: _移植FreeBSD到IA64_ + 这是一个有关将FreeBSD移植到Intel(R) IA64架构上的技术讨论列表, 讨论一些相关的问题与解决方案。也欢迎对这些问题感兴趣的个别讨论者。 link:{freebsd-isdn-url}[freebsd-isdn]:: _ISDN通信_ + 这是一个FreeBSD支持的ISDN系统开发的邮件列表。 link:{freebsd-java-url}[freebsd-java]:: _Java(TM)开发_ + 这是一个讨论Java(TM) 应用开发和 JDK(TM)s的porting与维护的邮件列表。 [[eresources-charters-jobs]] link:{freebsd-jobs-url}[freebsd-jobs]:: _工作的提供和寻找_ + 这个论坛是针对与 FreeBSD 相关的雇佣信息和个人简历, 比如: 如果您想找一个与 FreeBSD 相关的工作或有一个工作需要 FreeBSD 这是一个让您来广告的好地方。 这 _不_ 是对一般性雇佣问题的邮件列表, 对这个问题已经有了足够多的论坛。 + 注意这个列表,像其他的 `FreeBSD.org` 邮件列表一样是会分发给全世界的订阅者的。 因此,您需要明白关于位置和地域问题,确定之间是容易联系和可合作的。 + Email最好应该使用 -纯文本格式,不过基本的PDF,HTML和 很少其他的能被更多读者接受的格式也是可以的。Microsoft(R) Word ([.filename]#.doc#) 格式是被邮件列表服务器拒绝的。 link:{freebsd-kde-url}[freebsd-kde]:: _KDE_ + 讨论关于在FreeBSD系统上使用KDE。 这是一个纯技术的邮件列表。 link:{freebsd-hackers-url}[freebsd-hackers]:: _技术讨论_ + 这是一个与FreeBSD相关的技术讨论论坛,是一个主要的技术性邮件列表。 他是针对个别的工作在FreeBSD上的人来提出问题或讨论相关的解决方案, 也欢迎对这些问题感兴趣的个别的讨论者。这是一个纯技术的邮件列表。 link:{freebsd-hardware-url}[freebsd-hardware]:: _FreeBSD硬件的普通讨论_ + 有关FreeBSD运行的硬件类型的普通讨论,包括是否该买的一些问题和建议。 link:{freebsd-hubs-url}[freebsd-hubs]:: _镜象站点_ + 人们运行FreeBSD的镜象站点的公告和讨论。 link:{freebsd-isp-url}[freebsd-isp]:: _ISP供应商问题_ + 这是一个讨论使用FreeBSD的ISP供应商的邮件列表。这是一个纯技术的邮件列表。 link:{freebsd-mono-url}[freebsd-mono]:: _FreeBSD 上的 Mono 和 C# 应用_ + 这是一个讨论 FreeBSD 上的 Mono 开发框架的邮件列表。 这是一个纯技术的邮件列表。 它是为将 Mono 或 C# 应用移植到 FreeBSD, 以及提出问题及讨论其他解决方案的人准备的。 此外, 也欢迎有兴趣参与讨论的其他人。 link:{freebsd-office-url}[freebsd-office]:: _FreeBSD 上的办公套件应用_ + 关于办公套件应用, 它们的安装、 开发和 FreeBSD 支持的讨论中心。 link:{freebsd-performance-url}[freebsd-performance]:: _讨论关于调整及高速运行FreeBSD_ + 这个邮件列表提供了一个为黑客,管理员和有关的团体去讨论与FreeBSD性能相关的主题的空间。 可以在这里进行讨论的包括在任意高负载下,体验版下或者是有限制的条件下安装FreeBSD。 非常鼓励自愿地为了改进FreeBSD性能的相关团体去订阅这个列表。 这是个高技术含量的列表理论上说适合有丰富经验的FreeBSD用户,黑客,或对FreeBSD的速度、性能 、升级感兴趣的管理员。这不是一个问答式的列表,关于这些应该去读相关文档,但他是 一个可以投稿的地方,或者了解关于待解决的与性能相关的主题。 link:{freebsd-pf-url}[freebsd-pf]:: _关于 packet filter 防火墙系统的问题和讨论_ + 关于 FreeBSD 环境下 packet filter (pf) 防火墙系统的讨论。 这里欢迎技术讨论, 以及一般的应用问题。 此外, 这里也是讨论 ALTQ QoS 框架的合适场所。 link:{freebsd-platforms-url}[freebsd-platforms]:: _移植到非 Intel(R) 平台上_ + 跨平台的 FreeBSD 问题, 关于非 Intel(R) FreeBSD 移植版本的讨论和提议。 这是一个纯技术性的邮件列表, 其讨论内容严格限制为技术。 link:{freebsd-ports-url}[freebsd-ports]:: _"ports"的讨论_ + 关于FreeBSD的"ports collection" ([.filename]#/usr/ports#)的讨论, ports的基础构造和调整过的ports结构。这是一个纯技术的邮件列表。 link:{freebsd-ports-bugs-url}[freebsd-ports-bugs]:: _"ports" bugs的讨论_ + 讨论关于FreeBSD的"ports collection" ([.filename]#/usr/ports#),问题报告 ports建议,或者ports的修正。这是一个纯技术的邮件列表。 link:{freebsd-proliant-url}[freebsd-proliant]:: _关于 FreeBSD 在 HP ProLiant 服务器平台上的技术讨论_ + 这个邮件列表用来讨论在 HP ProLiant 服务器上使用 FreeBSD, 包括讨论 ProLiant 专用的驱动、 管理软件、 配置工具, 以及 BIOS 更新等。 同样地, 这里也是讨论 hpasmd、 hpasmcli, 以及 hpacucli 模块的主要场所。 link:{freebsd-python-url}[freebsd-python]:: _FreeBSD 上的 Python_ + 这是一个讨论关于如何在 FreeBSD 上改善 Python 支持的邮件列表。 这是一个纯技术的邮件列表。 它是为那些移植 Python、 其第三方模块, 以及 Zope 相关软件到 FreeBSD 上的人准备的。 这里也欢迎参与技术讨论的人。 link:{freebsd-questions-url}[freebsd-questions]:: _用户问题_ + 这是一个有关FreeBSD问题的邮件列表。您不应当发送"how to" 问题给技术列表,除非您认为这个问题是非常可爱的技术问题。 link:{freebsd-ruby-url}[freebsd-ruby]:: _有关 FreeBSD 上 Ruby 的讨论_ + 这是一个讨论关于 Ruby 在 FreeBSD 上支持的邮件列表。 这是一个纯技术的邮件列表。它是为那些移植 Ruby、第三方库以及 各种 framework 准备的。 + 这里也欢迎参与技术讨论的人。 link:{freebsd-scsi-url}[freebsd-scsi]:: _SCSI子系统_ + 这是一个讨论FreeBSD的SCSI子系统的邮件列表。这是一个纯技术的列表。 {freebsd-security}:: _安全问题_ + FreeBSD的计算机安全问题(DES,Kerberos,已知的安全漏洞和修复等)。 这是一个纯技术的邮件列表。注意:这不是一个问和答的列表,但是同时给出 问题和答案到FAQ是欢迎的。 {freebsd-security-notifications}:: _安全通知_ + FreeBSD安全问题和修复的通知。这不是一个讨论列表,讨论的列表应当是FreeBSD-security link:{freebsd-small-url}[freebsd-small]:: _在嵌入式应用程序中使用FreeBSD_ + 这个列表讨论了与极小的和嵌入的FreeBSD安装的讨论主题。 这是一个纯技术的列表。 + [NOTE] ==== 这一列表已被 link:{freebsd-embedded-url}[freebsd-embedded] 代替。 ==== {freebsd-stable}:: _讨论关于FreeBSD-STABLE版的使用_ + 这是一个FreeBSD-STABLE用户的邮件列表。它包括-STABLE的新特性可能会影响用户的警告。 任何运行"STABLE"的人应当经常关注这个列表。这是一个纯技术的列表。 link:{freebsd-standards-url}[freebsd-standards]:: _C99 & POSIX一致_ + 这是关于FreeBSD顺应C99和POSIX标准的技术讨论论坛。 link:{freebsd-toolchain-url}[freebsd-toolchain]:: _维护 FreeBSD 中集成的联编工具集_ + 这是关于维护 FreeBSD 中集成的联编工具集的论坛。 这里有包括 Clang 和 GCC, 以及其他类似汇编器、 连接器和调试器等软件的讨论。 link:{freebsd-usb-url}[freebsd-usb]:: _讨论 FreeBSD 的 USB 支持_ + 这个邮件列表是关于 FreeBSD 上的 USB 支持的技术性讨论。 link:{freebsd-user-groups-url}[freebsd-user-groups]:: _用户组调整列表_ + 这个邮件列表为协调从各地的使用群体到彼此相互讨论问题和 从核心团队中指定个人。这个邮件列表应被限制到大纲和协调用户组 计划的范围之内。 link:{freebsd-vendors-url}[freebsd-vendors]:: _商家_ + 讨论FreeBSD计划和FreeBSD软硬件商家的协调。 link:{freebsd-virtualization-url}[freebsd-virtualization]:: _讨论各种 FreeBSD 支持的虚拟化技术_ + 讨论 FreeBSD 所支持的各种虚拟化技术的邮件列表。 在注重实现基本功能,加入新特性的同时, 也为用户提供了一个寻求帮助和讨论他们的使用经验的场所。 link:{freebsd-wip-status-url}[freebsd-wip-status]:: _FreeBSD 项目进度状态_ + 这个邮件列表是用来发布 FreeBSD 相关项目的创建和工作进度的。 发至这个列表的消息将会先被审核。通常建议把消息用 "To:" 发给一个更典型的 FreeBSD 列表,而只仅仅 "BCC:" 给这个列表。 这样你的工作进度就能在典型的列表上讨论, 因为这个列表是不允许讨论问题的。 + 查看一下归档中合适的消息作为例子。 + 可能每隔几个月, 会从这个列表中的消息中提取出一个评论性的消息摘要发到 FreeBSD 网站做为状态报告的一部分 。 你也能从那里找到更多的例子和以往的报告。 link:{freebsd-wireless-url}[freebsd-wireless]:: _讨论 802.11 栈, 工具驱动开发_ + FreeBSD-wireless 邮件列表集中讨论 802.11 栈 (sys/net80211), 驱动程序和工具的开发。 link:{freebsd-xen-url}[freebsd-xen]:: _讨论 FreeBSD 有关 Xen(TM) 上的移植 - 实现和使用_ + 这个邮件列表集中讨论 FreeBSD 的 Xen(TM) 移植。 预期的流量会很小,所以这个列表旨在同时为 设计与实现细节的技术讨论和管理部属问题 提供一个讨论的场所。 link:{freebsd-xfce-url}[freebsd-xfce]:: _XFCE_ + 这是讨论关于向 FreeBSD 移植 XFCE 的论坛。 这是一个技术性的邮件列表。 其成员是目前正活跃地进行 FreeBSD XFCE 移植的开发人员, 主要用于提出问题或讨论其他解决方法。 此外, 也欢迎希望关注相关技术讨论的其他人士。 [[eresources-mailfiltering]] === 过滤邮件列表 FreeBSD邮件列表是使用了多种过滤方法去消除垃圾邮件、病毒和其他没用的电子邮件。 这部分所描述的并不包括所有常用的保护邮件列表的消除方法。 邮件列表只包含一些允许的附件类型。所有在列表中有MIME类型的附件的电子邮件在 邮件列表中被转发之前将被过滤掉。 * application/octet-stream * application/pdf * application/pgp-signature * application/x-pkcs7-signature * message/rfc822 * multipart/alternative * multipart/related * multipart/signed * text/html * text/plain * text/x-diff * text/x-patch [NOTE] ==== 一些邮件列表可以允许附件为其他MIME类型,但是以上列出的 应该被多数的邮件列表所采用。 ==== 如果一个电子邮件包含HTML和纯文本形式,HTML的形式将被删除。 如果一个电子邮件内容只是HTML形式,他将被转换为纯文本格式。 [[eresources-news]] == Usenet新闻组 除了FreeBSD两个特殊的新闻组,还有很多讨论FreeBSD或与FreeBSD用户相关的其他讨论组。 一些新闻组的link:http://minnie.tuhs.org/BSD-info/bsdnews_search.html[关键词搜索档案]是可以使用的, 有什么问题可以与Warren Toomey mailto:wkt@cs.adfa.edu.au[wkt@cs.adfa.edu.au]联系。 === BSD特殊的新闻组 * link:news:comp.unix.bsd.freebsd.announce[comp.unix.bsd.freebsd.announce] * link:news:comp.unix.bsd.freebsd.misc[comp.unix.bsd.freebsd.misc] * link:news:de.comp.os.unix.bsd[de.comp.os.unix.bsd] (德语) * link:news:fr.comp.os.bsd[fr.comp.os.bsd] (法语) * link:news:it.comp.os.freebsd[it.comp.os.freebsd] (意大利语) * link:news:tw.bbs.comp.386bsd[tw.bbs.comp.386bsd] (繁体中文) === Internet上其他的UNIX(R)新闻组 * link:news:comp.unix[comp.unix] * link:news:comp.unix.questions[comp.unix.questions] * link:news:comp.unix.admin[comp.unix.admin] * link:news:comp.unix.programmer[comp.unix.programmer] * link:news:comp.unix.shell[comp.unix.shell] * link:news:comp.unix.user-friendly[comp.unix.user-friendly] * link:news:comp.security.unix[comp.security.unix] * link:news:comp.sources.unix[comp.sources.unix] * link:news:comp.unix.advocacy[comp.unix.advocacy] * link:news:comp.unix.misc[comp.unix.misc] * link:news:comp.bugs.4bsd[comp.bugs.4bsd] * link:news:comp.bugs.4bsd.ucb-fixes[comp.bugs.4bsd.ucb-fixes] * link:news:comp.unix.bsd[comp.unix.bsd] === X Window系统 * link:news:comp.windows.x.i386unix[comp.windows.x.i386unix] * link:news:comp.windows.x[comp.windows.x] * link:news:comp.windows.x.apps[comp.windows.x.apps] * link:news:comp.windows.x.announce[comp.windows.x.announce] * link:news:comp.windows.x.intrinsics[comp.windows.x.intrinsics] * link:news:comp.windows.x.motif[comp.windows.x.motif] * link:news:comp.windows.x.pex[comp.windows.x.pex] * link:news:comp.emulators.ms-windows.wine[comp.emulators.ms-windows.wine] [[eresources-web]] == World Wide Web服务器 [[eresources-web-social]] === 论坛, 部落格, 社会性网络 * http://forums.freebsd.org/[The FreeBSD Forums] 提供了一个基于 web 的论坛用以讨论 FreeBSD 相关问题与技术。 * http://planet.freebsdish.org/[Planet FreeBSD] 提供了众多由 FreeBSD 开发者部落格摘要的集合。 很多的开发者都在上面发表有关他们工作简要的笔记, 新的补丁和工作进度。 * The http://www.youtube.com/bsdconferences[BSDConferences YouTube Channel] 提供了一组世界各地 BSD 峰会的高质量视频。 这个是一个不错的观看重要开发者展示最新 FreeBSD 有关成果的方法。 [[eresources-web-mirrors]] === Official Mirrors <>, <>, <>, <>, <>, <>, <>, <>, <>, <>, <>, <>, <>, <>, <>, <>, <>, <>, <>, <>, <>, <>, <>, <>, <>. (as of UTC) [[central-mirrors]] *{central}* * {central-www} [[armenia-mirrors]] *{mirrors-armenia}* * {mirrors-armenia-www-httpv6} (IPv6) [[australia-mirrors]] *{mirrors-australia}* * {mirrors-australia-www-http} * {mirrors-australia-www2-http} [[austria-mirrors]] *{mirrors-austria}* * {mirrors-armenia-www-httpv6} (IPv6) [[czech-republic-mirrors]] *{mirrors-czech}* * {mirrors-czech-www-httpv6} (IPv6) [[denmark-mirrors]] *{mirrors-denmark}* * {mirrors-denmark-www-httpv6} (IPv6) [[finland-mirrors]] *{mirrors-finland}* * {mirrors-finland-www-http} [[france-mirrors]] *{mirrors-france}* * {mirrors-france-www-http} [[germany-mirrors]] *{mirrors-germany}* * {mirrors-germany-www-http} [[hong-kong-mirrors]] *{mirrors-hongkong}* * {mirrors-hongkong-www} [[ireland-mirrors]] *{mirrors-ireland}* * {mirrors-ireland-www} [[japan-mirrors]] *{mirrors-japan}* * {mirrors-japan-www-httpv6} (IPv6) [[latvia-mirrors]] *{mirrors-latvia}* * {mirrors-latvia-www} [[lithuania-mirrors]] *{mirrors-lithuania}* * {mirrors-lithuania-www} [[netherlands-mirrors]] *{mirrors-netherlands}* * {mirrors-netherlands-www} [[norway-mirrors]] *{mirrors-norway}* * {mirrors-norway-www} [[russia-mirrors]] *{mirrors-russia}* * {mirrors-russia-www-httpv6} (IPv6) [[slovenia-mirrors]] *{mirrors-slovenia}* * {mirrors-slovenia-www} [[south-africa-mirrors]] *{mirrors-south-africa}* * {mirrors-south-africa-www} [[spain-mirrors]] *{mirrors-spain}* * {mirrors-spain-www} * {mirrors-spain-www2} [[sweden-mirrors]] *{mirrors-sweden}* * {mirrors-sweden-www} [[switzerland-mirrors]] *{mirrors-switzerland}* * {mirrors-switzerland-www-httpv6} (IPv6) * {mirrors-switzerland-www2-httpv6} (IPv6) [[taiwan-mirrors]] *{mirrors-taiwan}* * {mirrors-taiwan-www} * {mirrors-taiwan-www2} * {mirrors-taiwan-www4} * {mirrors-taiwan-www5-httpv6} (IPv6) [[uk-mirrors]] *{mirrors-uk}* * {mirrors-uk-www} * {mirrors-uk-www3} [[usa-mirrors]] *{mirrors-us}* * {mirrors-us-www5-httpv6} (IPv6) [[eresources-email]] == Email地址 下面的用户组提供了与FreeBSD相关的邮件地址。如果他被滥用的话, 这个列表的管理员有收回的权利。 [.informaltable] [cols="1,1,1,1", frame="none", options="header"] |=== | 域 | 工具 | 用户组 | 管理员 |ukug.uk.FreeBSD.org |Forwarding only |mailto:ukfreebsd@uk.FreeBSD.org[ukfreebsd@uk.FreeBSD.org] |Lee Johnston mailto:lee@uk.FreeBSD.org[lee@uk.FreeBSD.org] |=== diff --git a/documentation/content/zh-cn/books/handbook/jails/_index.adoc b/documentation/content/zh-cn/books/handbook/jails/_index.adoc index 3fcd136ce6..d5ca770b56 100644 --- a/documentation/content/zh-cn/books/handbook/jails/_index.adoc +++ b/documentation/content/zh-cn/books/handbook/jails/_index.adoc @@ -1,537 +1,537 @@ --- title: 第 16 章 Jails part: 部分 III. 系统管理 prev: books/handbook/security next: books/handbook/mac --- [[jails]] = Jails :doctype: book :toc: macro :toclevels: 1 :icons: font :sectnums: :sectnumlevels: 6 :source-highlighter: rouge :experimental: :skip-front-matter: :toc-title: 目录 :table-caption: 表 :figure-caption: 图 :example-caption: 例 :xrefstyle: basic :relfileprefix: ../ :outfilesuffix: :sectnumoffset: 16 ifeval::["{backend}" == "html5"] :imagesdir: ../../../images/books/handbook/jails/ endif::[] ifeval::["{backend}" == "pdf"] :imagesdir: ../../../../static/images/books/handbook/jails/ endif::[] ifeval::["{backend}" == "epub3"] :imagesdir: ../../../../static/images/books/handbook/jails/ endif::[] include::shared/authors.adoc[] include::shared/releases.adoc[] include::shared/zh-cn/mailing-lists.adoc[] include::shared/zh-cn/teams.adoc[] include::shared/zh-cn/urls.adoc[] toc::[] [[jails-synopsis]] == 概述 这一章将为您介绍 FreeBSD jail 是什么, 以及如何使用它们。 Jail, 有时也被认为是对 _chroot 环境_ 的一种增强型替代品, 对于管理员而言是非常强大的工具, 同时, 它的一些基本用法, 对高级用户而言也相当有用。 读完这章, 您将了解: * jail 是什么, 以及它在您安装的 FreeBSD 中所能发挥的作用。 * 如何联编、 启动和停止 jail。 * 如何从 jail 内部或主机上进行管理的一些基础知识。 其他一些能够为您提供关于 jail 的有用信息的地方还有: * man:jail[8] 联机手册。 这是关于 `jail` - 用于在 FreeBSD 中启动、 停止和控制 FreeBSD jails - 工具的完整说明书。 -* 邮件列表及其存档。 由 {mailman-lists} 提供的 {freebsd-questions} 和其他邮件列表的存档, 已经包含了一系列关于 jails 的有价值的信息。 通常搜索存档或询问 link:{freebsd-questions-url}[freebsd-questions] 邮件列表能够给您带来很多有用的信息。 +* 邮件列表及其存档。 由 {mailing-lists} 提供的 {freebsd-questions} 和其他邮件列表的存档, 已经包含了一系列关于 jails 的有价值的信息。 通常搜索存档或询问 link:{freebsd-questions-url}[freebsd-questions] 邮件列表能够给您带来很多有用的信息。 [[jails-terms]] == 与 Jail 相关的一些术语 为了帮助您更好地理解与 jail 有关的 FreeBSD 系统知识, 以及它们如何与 FreeBSD 的其它部分相互作用, 您应理解下列术语: man:chroot[8] (命令):: 这个工具使用 FreeBSD 的系统调用 man:chroot[2] FreeBSD 来改变进程, 以及进程的所有衍生进程所能看到的根目录。 man:chroot[2] (环境):: 在 "chroot" 中运行的进程环境。 这包括类似文件系统中的可见部分、 可用的用户及用户组 ID、 网络接口以及其他 IPC 机制等资源。 man:jail[8] (命令):: 用以在 jail 环境中运行进程的系统管理工具。 宿主 (系统、 进程、 用户等等):: 能够控制 jail 环境的系统。 宿主系统能够访问全部可用的硬件资源, 并能够控制 jail 环境内外的进程。 宿主系统与 jail 的一项重要区别是, 在宿主系统中的超级用户进程, 并不像在 jail 中那样受到一系列限制。 hosted (系统、 进程、 用户等等):: 可访问资源受 FreeBSD jail 限制的进程、 用户或其他实体。 [[jails-intro]] == 介绍 由于系统管理是一项困难而又令人费解的任务, 因此人们开发了一系列强大的工具, 来让管理员的工作变得更加简单。 这些改进通常是让系统能够以更简单的方式安装、 配置, 并毫无问题地持续运转。 这其中, 许多管理员希望能够为系统正确地进行安全方面的配置, 使其能够用于真正的用途, 而阻止安全方面的风险。 FreeBSD 系统提供的一项用于改善安全的工具就是 _jail_。 jail 是在 FreeBSD 4.X 中由 {phk} 引入的, 它在 FreeBSD 5.X 中又进行了一系列改进, 使得它成为了一个强大而灵活的系统。 目前仍然在对其进行持续的开发, 以提高其可用性、 性能和安全性。 [[jails-what]] === Jail 是什么 BSD-类的操作系统从 4.2BSD 开始即提供了 man:chroot[8]。 man:chroot[2] 工具能够改变一组进程的根目录的位置, 从而建立一个与系统中其他部分相隔离的安全环境: 在 chroot 环境中的进程, 将无法访问其外的文件或其他资源。 正是由于这种能力, 即使攻击者攻破了某一个运行于 chroot 环境的服务, 也不能攻破整个系统。 man:chroot[8] 对于那些不需要很多灵活性或复杂的高级功能的简单应用而言相当好用。 另外, 在引入 chroot 概念的过程中, 曾经发现过许多跳出 chroot 环境的方法, 尽管这些问题在较新的 FreeBSD 版本中已经修正, 但很明显地, man:chroot[8] 并不是一项用于加固服务安全的理想解决方案。 因此, 必须实现一个新的子系统来解决这些问题。 这就是为什么要开发 _jail_ 最主要的原因。 Jail 以多种方式改进了传统的 man:chroot[2] 环境概念。 在传统的 man:chroot[2] 环境中, 只限制了进程能够访问文件系统的哪些部分。 其他部分的系统资源 (例如系统用户、 正在运行的进程, 以及网络子系统) 是由 chroot 进程与宿主系统中的其他进程共享的。 jail 扩展了这个模型, 它不仅将文件系统的访问虚拟化, 而且还将用户、 FreeBSD 的网络子系统, 以及一些其他系统资源虚拟化。 关于这些精细控制以及调整 jail 环境访问能力的更具体的介绍, 可参见 <>。 jail 具有以下四项特点: * 目录子树 - 进入 jail 的起点。 一旦进入了 jail, 进程就不再被允许访问这棵子树以外的对象。 传统上影响到最初 man:chroot[2] 设计的安全问题不会影响 FreeBSD jail。 * 主机名 - 将用于 jail 的主机名。 jail 主要用于存放网络服务, 因此在每个 mail 上能够标注一个有意义的主机名, 能够在很大程度上简化系统管理员的工作。 * IP 地址 - 这个地址是指定给 jail 的, 在 jail 的生命周期内都无法改变。 通常 jail 的 IP 地址是某一个网络接口上的别名地址, 但这并不是必需的。 * 命令 - 准备在 jail 中执行的可执行文件的完整路径名。 这个命令是相对于 jail 环境的根目录的, 随 jail 环境的类型不同, 可能会有很多不同之处。 除了这些之外, jail 也可以拥有自己的用户和自己的 `root` 用户。 自然, 这里的 `root` 用户的权力会受限于 jail 环境, 并且, 从宿主系统的观点看来, jail `root` 用户并不是一个无所不能的用户。 此外, jail 中的 `root` 用户不能执行除了其对应 man:jail[8] 环境之外的系统中的一些关键操作。 关于 `root` 用户的能力和限制, 在后面的 <> 中将加以介绍。 [[jails-build]] == 建立和控制 jail 一些系统管理员喜欢将 jail 分为两类: "完整的" jail, 通常包含真正的 FreeBSD 系统, 以及 "服务" jail, 专用于执行一个可能使用特权的应用或服务。 这只是一种概念上的区分, 并不影响如何建立 jail 的过程。 在联机手册 man:jail[8] 中对如何创建 jail 进行了清晰的阐述: [source,shell] .... # setenv D /here/is/the/jail # mkdir -p $D <.> # cd /usr/src # make buildworld <.> # make installworld DESTDIR=$D <.> # make distribution DESTDIR=$D <.> # mount -t devfs devfs $D/dev <.> .... <.> 第一步就是为 jail 选择一个位置。 这个路径是在宿主系统中 jail 的物理位置。 一种常用的选择是 [.filename]#/usr/jail/jailname#, 此处 _jailname_ 是 jail 的主机名。 [.filename]#/usr/# 文件系统通常会有足够的空间来保存 jail 文件系统, 对于 "完整" 的 jail 而言, 它通常包含了 FreeBSD 默认安装的基本系统中每个文件的副本。 <.> 如果你已经通过使用 `make world` 或者 `make buildworld` 重新编译过了你的 userland, 则可以跳过这一步骤并把现有的 userland 安装进新的 jail。 <.> 这个命令将在 jail 目录中安装所需的可执行文件、 函数库以及联机手册等。 <.> `distribution` 这个 make target 将安装全部配置文件, 或者换句话说, 就是将 [.filename]#/usr/src/etc/# 复制到 jail 环境中的 [.filename]#/etc#: [.filename]#$D/etc/#。 <.> 在 jail 中不是必须要挂接 man:devfs[8] 文件系统。 而另一方面, 几乎所有的应用程序都会需要访问至少一个设备, 这主要取决于应用程序的性质和目的。 控制 jail 中能够访问的设备非常重要, 因为不正确的配置, 很可能允许攻击者在 jail 中进行一些恶意的操作。 通过 man:devfs[8] 实施的控制, 可以通过由联机手册 man:devfs[8] 和 man:devfs.conf[5] 介绍的规则集配置来实现。 一旦装好了 jail, 就可以使用 man:jail[8] 工具来安装它了。 man:jail[8] 工具需要四个必填参数, 这些参数在 <> 中进行了介绍。 除了这四个参数之外, 您还可以指定一些其他参数, 例如, 以特定用户身份来在 jail 中运行程序等等。 这里, `_command_` 参数取决于您希望建立的 jail 的类型; 对于 _虚拟系统_, 可以选择 [.filename]#/etc/rc#, 因为它会完成真正的 FreeBSD 系统启动所需的操作。 对于 _服务_ jail, 执行的命令取决于将在 jail 中运行的应用程序。 Jail 通常应在系统启动时启动, 因此, FreeBSD [.filename]#rc# 机制提供了一些很方便的机制来简化这些工作。 [.procedure] ==== . 在引导时需要启动的 jail 列表应写入 man:rc.conf[5] 文件: + [.programlisting] .... jail_enable="YES" # 如果设为 NO 则表示不自动启动 jail jail_list="www" # 以空格分隔的 jail 名字列表 .... + [NOTE] ====== 在 `jail_list` 中的名字中, 可以使用字母和数字, 而不应使用其他字符。 ====== + . 对于 `jail_list` 中列出的 jail, 还应指定一系列对应的 man:rc.conf[5] 设置, 用以描述具体的 jail: + [.programlisting] .... jail_www_rootdir="/usr/jail/www" # jail 的根目录 jail_www_hostname="www.example.org" # jail 的主机名 jail_www_ip="192.168.0.10" # jail 的 IP 地址 jail_www_devfs_enable="YES" # 在 jail 中挂接 devfs jail_www_devfs_ruleset="www_ruleset" # 在 jail 中应用的devfs 规则集 .... + 默认情况下, 在 man:rc.conf[5] 中配置启动的 jail 会执行其中的 [.filename]#/etc/rc# 脚本, 也就是说, 默认情况下将 jail 作为虚拟系统方式来启动。 对于服务 jail, 您应另外指定启动命令, 方法是设置对应的 `jail__jailname__exec_start` 配置。 + [NOTE] ====== 如欲了解全部可用的选项, 请参阅联机手册 man:rc.conf[5]。 ====== ==== [.filename]#/etc/rc.d/jail# 脚本也可以用于手工启动或停止 [.filename]#rc.conf# 中配置的 jail: [source,shell] .... # /etc/rc.d/jail start www # /etc/rc.d/jail stop www .... 目前, 尚没有一种方法来很干净地关闭 man:jail[8]。 这是因为通常用于正常关闭系统的命令, 目前尚不能在 jail 中使用。 目前, 关闭 jail 最好的方式, 是在 jail 外通过 man:jexec[8] 工具, 在 jail 中执行下列命令: [source,shell] .... # sh /etc/rc.shutdown .... 更进一步的详细说明, 请参见联机手册 man:jail[8]。 [[jails-tuning]] == 微调和管理 您可以为 jail 设置许多不同的选项, 并让 FreeBSD 宿主系统以不同的方式与 jail 交互, 以支持更高级别的应用。 这一节将介绍: * 一些用于微调 jail 行为和安全限制的选项。 * 一些可以通过 FreeBSD Ports 套件安装的高级 jail 管理应用程序, 这些程序可以用于实现一般的基于 jail 的解决方案。 [[jails-tuning-utilities]] === FreeBSD 提供的用于微调 jail 的系统工具 对于 jail 的配置微调, 基本上都是通过设置 man:sysctl[8] 变量来完成的。 系统提供了一个特殊的 sysctl 子树, 全部相关的选项均在这棵子树中; 这就是 FreeBSD 内核的 `security.jail.*` 选项子树。 下面是与 jail 有关的主要 sysctl, 以及这些变量的默认值。 这些名字都比较容易理解, 如欲了解进一步的详情, 请参阅联机手册 man:jail[8] 和 man:sysctl[8]。 * `security.jail.set_hostname_allowed: 1` * `security.jail.socket_unixiproute_only: 1` * `security.jail.sysvipc_allowed: 0` * `security.jail.enforce_statfs: 2` * `security.jail.allow_raw_sockets: 0` * `security.jail.chflags_allowed: 0` * `security.jail.jailed: 0` 系统管理员可以在 _宿主系统_ 中, 透过设置这些变量的值来默认为 `root` 用户增加或取消限制。 需要注意的是, 某些限制是不能够取消的。 在 man:jail[8] 中的 `root` 用户, 无法挂载或卸下文件系统, 此外在 jail 中的 `root` 用户也不能加载或卸载 man:devfs[8] 规则集、 配置防火墙规则, 或执行其他需要修改内核数据的管理操作, 例如设置内核的 `securelevel` 等等。 FreeBSD 的基本系统包含一系列用于查看目前在使用的 jail 信息, 以及接入 jail 并执行管理命令所需的基本工具。 man:jls[8] 和 man:jexec[8] 命令都是 FreeBSD 基本系统的一部分, 并可用于执行简单的任务: * 列出在用的 jail 以及对应的 jail 标识 (JID)、 IP 地址、 主机名和路径。 * 从宿主系统中接入正在运行的 jail, 并在其中执行命令, 以完成一系列 jail 管理任务。 这在 `root` 希望干净地关闭 jail 时非常有用。 man:jexec[8] 工具也可以用于在 jail 中启动 shell 以便对其进行管理; 例如: + [source,shell] .... # jexec 1 tcsh .... [[jails-tuning-admintools]] === 由 FreeBSD Ports 套件提供的高级管理工具 在众多第三方 jail 管理工具中, package:sysutils/jailutils[] 是最完整和好用的。 它是一系列方便 man:jail[8] 管理的小工具。 请参见其网站以了解进一步的详情。 [[jails-application]] == Jail 的应用 [[jails-service-jails]] === 服务 Jail 这一节主要基于 {simon} 的 http://simon.nitro.dk/service-jails.html[http://simon.nitro.dk/service-jails.html] 中的思路, 以及由 Ken Tom mailto:locals@gmail.com[locals@gmail.com] 更新的文档。 这一节中描述了如何配置 FreeBSD 系统的 man:jail[8] 功能为其增加一个安全层次。 这部分假定您运行 RELENG_6_0 或更新版本, 并理解本章之前部分的内容。 [[jails-service-jails-design]] ==== 设计 jail 的一个主要问题是如何对它们进行升级和管理。 由于每个 jail 都是从头联编的, 对于单个 jail 而言升级也许还不是个很严重的问题, 因为升级不会太过麻烦, 而对于多个 jail 而言, 升级不仅会耗费大量时间, 并且是十分乏味的过程。 [WARNING] ==== 这个配置过程需要您对 FreeBSD 有较多的配置和使用经验。 如果这些过程显得太过复杂, 您应考虑使用较简单的系统, 例如 package:sysutils/ezjail[], 它提供了更简单的管理 FreeBSD jail 的方法。 ==== 基本的想法是, 在不同的 jail 中尽可能多地以安全的方式使用共享的资源 - 使用只读的 man:mount_nullfs[8] 挂接, 这会让升级简单许多, 从而使为每个服务建立不同的 jail 这种方案变得更加可行。 另外, 它也为增加、删除以及升级 jail 提供了更为便捷的方法。 [NOTE] ==== 在这里服务的常见例子包括: HTTP 服务、 DNS 服务、 SMTP 服务等等, 诸如此类。 ==== 这节介绍的配置的目的包括: * 建立简单并易于理解的 jail 结构。 也就是说 _不必_ 为每个 jail 执行完整的 installworld 操作。 * 使增删 jail 更容易。 * 使更新或升级 jail 更容易。 * 使运行自订的 FreeBSD 分支成为可能。 * 对安全的更偏执的追求, 尽可能减少被攻陷的可能。 * 尽可能节省空间和 inode。 如前面提到的那样, 这个设计极大程度上依赖于将一份只读的主模板 (known as nullfs) 挂接到每一个 jail 中, 并为每个 jail 配置一个可读写的设备。 这种设备可以是物理磁盘、 分区, 或以 vnode 为后端的 man:md[4] 设备。 在这个例子中, 我们将使用可读写的 nullfs 挂接。 下面的表中描述了文件系统格局: * 每个 jail 挂接到 [.filename]#/home/j# 目录下的一个目录。 * [.filename]#/home/j/mroot# 是每个 jail 共用的模板, 对于所有的 jail 而言都是只读的。 * 在 [.filename]#/home/j# 目录中, 每个 jail 有一个对应的空目录。 * 每个 jail 中都有一个 [.filename]#/s# 目录, 这个目录将连接到系统中的可读写部分。 * 每个 jail 应基于 [.filename]#/home/j/skel# 建立其可读写空间。 * 每个 jailspace (jail 中的可读写部分) 应创建到 [.filename]#/home/js#。 [NOTE] ==== 这假定所有的 jail 都放置于 [.filename]#/home# 分区中。 当然, 您可以根据需要将这个配置改为需要的任何样子, 但在接下来的例子中, 也应相应地加以变动。 ==== [[jails-service-jails-template]] ==== 建立模板 这一节将介绍创建 jail 所需的只读主模板所需的步骤。 一般来说, 您应将系统升级到最新的 FreeBSD -RELEASE 分支, 具体做法请参见本手册的相关 crossref:cutting-edge[makeworld,章节]。 当更新不可行时, 则需要完成 buildworld 过程, 另外, 您还需要 package:sysutils/cpdup[] 软件包。 我们将使用 man:portsnap[8] 工具来下载 FreeBSD Ports 套件。 在使用手册的 crossref:portsnap[portsnap,Portsnap 章节] 中, 提供了针对初学者的介绍。 [.procedure] ==== . 首先, 需要为将要存放只读的 FreeBSD 执行文件的文件系统建立一个目录, 接着进入 FreeBSD 源代码的目录, 并在其中安装 jail 模板: + [source,shell] .... # mkdir /home/j /home/j/mroot # cd /usr/src # make installworld DESTDIR=/home/j/mroot .... + . 接着, 准备一份 FreeBSD Ports 套件, 以及用于执行 mergemaster 的 FreeBSD 源代码: + [source,shell] .... # cd /home/j/mroot # mkdir usr/ports # portsnap -p /home/j/mroot/usr/ports fetch extract # cpdup /usr/src /home/j/mroot/usr/src .... + . 创建系统中可读写部分的骨架: + [source,shell] .... # mkdir /home/j/skel /home/j/skel/home /home/j/skel/usr-X11R6 /home/j/skel/distfiles # mv etc /home/j/skel # mv usr/local /home/j/skel/usr-local # mv tmp /home/j/skel # mv var /home/j/skel # mv root /home/j/skel .... + . 使用 mergemaster 安装缺失的配置文件。 接下来, 删除 mergemaster 创建的多余目录: + [source,shell] .... # mergemaster -t /home/j/skel/var/tmp/temproot -D /home/j/skel -i # cd /home/j/skel # rm -R bin boot lib libexec mnt proc rescue sbin sys usr dev .... + . 现在, 将可读写文件系统连接到只读文件系统中。 请确保您在 [.filename]#s/# 目录中建立了适当的符号连接。 如果没有建立目录或建立的位置不正确, 可能会导致安装失败。 + [source,shell] .... # cd /home/j/mroot # mkdir s # ln -s s/etc etc # ln -s s/home home # ln -s s/root root # ln -s ../s/usr-local usr/local # ln -s ../s/usr-X11R6 usr/X11R6 # ln -s ../../s/distfiles usr/ports/distfiles # ln -s s/tmp tmp # ln -s s/var var .... + . 最后, 创建一个默认的包含下列配置的 [.filename]#/home/j/skel/etc/make.conf#: + [.programlisting] .... WRKDIRPREFIX?= /s/portbuild .... + 配置 `WRKDIRPREFIX` 使得在每个 jail 中分别编译 FreeBSD 成为可能。 请注意 ports 目录是只读系统的一部分。 而自订的 `WRKDIRPREFIX` 则使得联编过程得以在 jail 中的可读写部分完成。 ==== [[jails-service-jails-creating]] ==== 建立 Jail 现在我们已经有了完整的 FreeBSD jail 模板, 可以在 [.filename]#/etc/rc.conf# 中安装并配置它们了。 这个例子中演示了建立 3 个 jail: "NS"、 "MAIL" 和 "WWW"。 [.procedure] ==== . 在 [.filename]#/etc/fstab# 文件中加入下列配置, 以便让系统自动挂接 jail 的只读模板和读写空间: + [.programlisting] .... /home/j/mroot /home/j/ns nullfs ro 0 0 /home/j/mroot /home/j/mail nullfs ro 0 0 /home/j/mroot /home/j/www nullfs ro 0 0 /home/js/ns /home/j/ns/s nullfs rw 0 0 /home/js/mail /home/j/mail/s nullfs rw 0 0 /home/js/www /home/j/www/s nullfs rw 0 0 .... + [NOTE] ====== 扫描批次号 (pass number) 为 0 的分区不会在启动时使用 man:fsck[8] 进行检查, 而转存批次号 (dump number) 为 0 的分区则不会在 man:dump[8] 时备份。 我们不希望 fsck 检查 nullfs 挂接, 或让 dump 备份 jail 中的只读 nullfs 挂接。 这就是为什么在每个 [.filename]#fstab# 条目的最后两列是 "0 0" 的原因。 ====== + . 在 [.filename]#/etc/rc.conf# 中配置 jail: + [.programlisting] .... jail_enable="YES" jail_set_hostname_allow="NO" jail_list="ns mail www" jail_ns_hostname="ns.example.org" jail_ns_ip="192.168.3.17" jail_ns_rootdir="/usr/home/j/ns" jail_ns_devfs_enable="YES" jail_mail_hostname="mail.example.org" jail_mail_ip="192.168.3.18" jail_mail_rootdir="/usr/home/j/mail" jail_mail_devfs_enable="YES" jail_www_hostname="www.example.org" jail_www_ip="62.123.43.14" jail_www_rootdir="/usr/home/j/www" jail_www_devfs_enable="YES" .... + [WARNING] ====== 应把 `jail__name__rootdir` 变量设置成 [.filename]#/usr/home# 而不是 [.filename]#/home# 的原因是 [.filename]#/home# 目录在默认安装的 FreeBSD 上是指向 [.filename]#/usr/home# 的一个符号连接。 而 `jail__name__rootdir` 变量必须是一个 _不_ 包含符号连接的路径, 否则 jail 将拒绝启动。 可以使用 man:realpath[1] 工具来决定这一变量应被赋予一个什么样的值。 更详细的信息请参阅安全公告 FreeBSD-SA-07:01.jail ====== + . 为每个 jail 创建所需的只读文件系统挂接点: + [source,shell] .... # mkdir /home/j/ns /home/j/mail /home/j/www .... + . 在 jail 中安装可读写的模板。 注意您需要使用 package:sysutils/cpdup[], 它能够帮助您确保每个目录都是正确地复制的: + [source,shell] .... # mkdir /home/js # cpdup /home/j/skel /home/js/ns # cpdup /home/j/skel /home/js/mail # cpdup /home/j/skel /home/js/www .... + . 这样, 就完成了 jail 的制作, 可以运行了。 首先为 jail 挂接文件系统, 然后使用 [.filename]#/etc/rc.d/jail# 脚本来启动它们: + [source,shell] .... # mount -a # /etc/rc.d/jail start .... ==== 现在 jail 应该就启动起来了。 要检查它们是否运行正常, 可以使用 man:jls[8] 命令。 它的输出应该类似这样: [source,shell] .... # jls JID IP Address Hostname Path 3 192.168.3.17 ns.example.org /home/j/ns 2 192.168.3.18 mail.example.org /home/j/mail 1 62.123.43.14 www.example.org /home/j/www .... 这时, 就可以登入 jail 并增加用户和配置服务了。 `JID` 列给出了正在运行的 jail 的标识编号。 您可以使用下面的命令来在 `JID` 编号为 3 的 jail 中执行管理任务: [source,shell] .... # jexec 3 tcsh .... [[jails-service-jails-upgrading]] ==== 升级 有时, 由于安全问题, 或新增功能有用, 会希望将系统升级到一个新版本的 FreeBSD。 这种安装方式的设计使得升级现有 jail 变得很容易。 另外, 它也能最大限度地减小停机时间, 因为 jail 只在最后时刻才需要关闭。 另外, 它也提供了简单的回退到先前版本的方法。 [.procedure] ==== . 第一步是按通常的方法升级主机的系统。 接着, 在 [.filename]#/home/j/mroot2# 中建立一个新的临时模板: + [source,shell] .... # mkdir /home/j/mroot2 # cd /usr/src # make installworld DESTDIR=/home/j/mroot2 # cd /home/j/mroot2 # cpdup /usr/src usr/src # mkdir s .... + 在运行 `installworld` 时会创建一些不需要的目录, 应将它们删除: + [source,shell] .... # chflags -R 0 var # rm -R etc var root usr/local tmp .... + . 重建到主系统中的可读写符号连接: + [source,shell] .... # ln -s s/etc etc # ln -s s/root root # ln -s s/home home # ln -s ../s/usr-local usr/local # ln -s ../s/usr-X11R6 usr/X11R6 # ln -s s/tmp tmp # ln -s s/var var .... + . 现在是时候关闭 jail 了: + [source,shell] .... # /etc/rc.d/jail stop .... + . 卸下原先的文件系统: + [source,shell] .... # umount /home/j/ns/s # umount /home/j/ns # umount /home/j/mail/s # umount /home/j/mail # umount /home/j/www/s # umount /home/j/www .... + [NOTE] ====== 可读写的文件系统 ([.filename]#/s#) 会在只读系统之后挂接, 因此应首先卸载。 ====== + . 将先前的只读文件系统挪走, 换成新的系统。 这样做也同时保留了先前系统的备份, 从而可以在出现问题时从中恢复。 这里我们根据新系统的创建时间来命名。 此外我们把先前的 FreeBSD Ports 套件直接移动到新的文件系统中, 以节省磁盘空间和 inode: + [source,shell] .... # cd /home/j # mv mroot mroot.20060601 # mv mroot2 mroot # mv mroot.20060601/usr/ports mroot/usr .... + . 现在新的只读模板就可以用了, 剩下的事情是重新挂接文件系统并启动 jails: + [source,shell] .... # mount -a # /etc/rc.d/jail start .... ==== 最后用 man:jls[8] 检查 jail 启动是否正常。 不要忘记在 jail 中运行 mergemaster。 配置文件和 rc.d 脚本在升级时应进行更新。 diff --git a/documentation/content/zh-cn/books/handbook/mirrors/_index.adoc b/documentation/content/zh-cn/books/handbook/mirrors/_index.adoc index b5fc3f5939..8516dbc1c4 100644 --- a/documentation/content/zh-cn/books/handbook/mirrors/_index.adoc +++ b/documentation/content/zh-cn/books/handbook/mirrors/_index.adoc @@ -1,1681 +1,1681 @@ --- title: 附录 A. 获取 FreeBSD part: 部分 V. 附录 prev: books/handbook/partv next: books/handbook/bibliography --- [appendix] [[mirrors]] = 获取 FreeBSD :doctype: book :icons: font :sectnums: :sectnumlevels: 6 :source-highlighter: rouge :experimental: :skip-front-matter: :toc-title: 目录 :table-caption: 表 :figure-caption: 图 :example-caption: 例 :xrefstyle: basic :relfileprefix: ../ :outfilesuffix: :sectnumoffset: A include::shared/mirrors.adoc[] include::shared/authors.adoc[] include::shared/releases.adoc[] include::shared/zh-cn/mailing-lists.adoc[] include::shared/zh-cn/teams.adoc[] include::shared/zh-cn/urls.adoc[] [[mirrors-cdrom]] == CDROM 和 DVD 发行商 === 零售盒装产品 可以从下面几个零售商那里买到 FreeBSD 的盒装产品 (FreeBSD CD, 附加软件,印刷文档): * CompUSA + WWW: http://www.compusa.com/ * Frys Electronics + WWW: http://www.frys.com/ === CD 和 DVD 光盘 FreeBSD CD 和 DVD 光盘可以从许多在线零售商那里买到: * FreeBSD Mall, Inc. + 700 Harvest Park Ste F + Brentwood, CA 94513 + USA + Phone: +1 925 240-6652 + Fax: +1 925 674-0821 + Email: + WWW: http://www.freebsdmall.com/ * Dr. Hinner EDV + St. Augustinus-Str. 10 + D-81825 München + Germany + Phone: (089) 428 419 + WWW: http://www.hinner.de/linux/freebsd.html * Ikarios + 22-24 rue Voltaire + 92000 Nanterre + France + WWW: http://ikarios.com/form/#freebsd * JMC Software + Ireland + Phone: 353 1 6291282 + WWW: http://www.thelinuxmall.com * The Linux Emporium + Hilliard House, Lester Way + Wallingford + OX10 9TA + United Kingdom + Phone: +44 1491 837010 + Fax: +44 1491 837016 + WWW: http://www.linuxemporium.co.uk/products/bsd/ * Linux+ DVD Magazine + Lewartowskiego 6 + Warsaw + 00-190 + Poland + Phone: +48 22 860 18 18 + Email: + WWW: http://www.lpmagazine.org/ * Linux System Labs Australia + 21 Ray Drive + Balwyn North + VIC - 3104 + Australia + Phone: +61 3 9857 5918 + Fax: +61 3 9857 8974 + WWW: http://www.lsl.com.au * LinuxCenter.Ru + Galernaya Street, 55 + Saint-Petersburg + 190000 + Russia + Phone: +7-812-3125208 + Email: + WWW: http://linuxcenter.ru/shop/freebsd === 发行人 如果您是销售商并且想销售 FreeBSD CDROM 产品, 请和发行人联系: * Cylogistics + 809B Cuesta Dr., #2149 + Mountain View, CA 94040 + USA + Phone: +1 650 694-4949 + Fax: +1 650 694-4953 + Email: + WWW: http://www.cylogistics.com/ * Ingram Micro + 1600 E. St. Andrew Place + Santa Ana, CA 92705-4926 + USA + Phone: 1 (800) 456-8000 + WWW: http://www.ingrammicro.com/ * Kudzu, LLC + 7375 Washington Ave. S. + Edina, MN 55439 + USA + Phone: +1 952 947-0822 + Fax: +1 952 947-0876 + Email: * LinuxCenter.Kz + Ust-Kamenogorsk + Kazakhstan + Phone: +7-705-501-6001 + Email: + WWW: http://linuxcenter.kz/page.php?page=fr * LinuxCenter.Ru + Galernaya Street, 55 + Saint-Petersburg + 190000 + Russia + Phone: +7-812-3125208 + Email: + WWW: http://linuxcenter.ru/freebsd * Navarre Corp + 7400 49th Ave South + New Hope, MN 55428 + USA + Phone: +1 763 535-8333 + Fax: +1 763 535-0341 + WWW: http://www.navarre.com/ [[mirrors-ftp]] == FTP 站点 官方的 FreeBSD 源代码可以从遍布全球的镜像站点 通过匿名 FTP 下载。 站点 link:ftp://ftp.FreeBSD.org/pub/FreeBSD/[ftp://ftp.FreeBSD.org/pub/FreeBSD/] 有着良好的网络连接并且允许大量的并发连接, 但是 您或许更想找一个 "更近的" 镜像站点 (特别是当您想进行某种形式的镜像的时候)。 FreeBSD 可以从下面这些镜像站点通过匿名 FTP 下载。如果您选择了通过匿名 FTP 获取 FreeBSD, 请尽量使用离您比较近的站点。被列为 "主镜像站点" 的镜像站点一般都有完整的 FreeBSD 文件 (针对每种体系结构的所有当前可用的版本), 您或许从您所在的国家或地区的站点下载会得到更快的下载速度。 每个站点提供了最流行的体系结构的最近的版本而有可能不提供完整的 FreeBSD 存档。所有的站点都提供匿名 FTP 访问而有些站点也提供其他的访问方式。对每个站点可用的访问方式 在其主机名后有所说明。 <>, <>, <>, <>, <>, <>, <>, <>, <>, <>, <>, <>, <>, <>, <>, <>, <>, <>, <>, <>, <>, <>, <>, <>, <>, <>, <>, <>, <>, <>, <>, <>, <>, <>. (as of UTC) [[central]] *{central}* {central-ftp} (ftp / ftpv6 / {central-http} / {central-httpv6}) [[primary]] *{mirrors-primary}* In case of problems, please contact the hostmaster `<{mirrors-primary-email}>` for this domain. * {mirrors-primary-ftp1} (ftp) * {mirrors-primary-ftp2} (ftp) * {mirrors-primary-ftp3} (ftp) * {mirrors-primary-ftp4} (ftp / ftpv6 / {mirrors-primary-ftp4-http} / {mirrors-primary-ftp4-httpv6}) * {mirrors-primary-ftp5} (ftp) * {mirrors-primary-ftp6} (ftp) * {mirrors-primary-ftp7} (ftp) * {mirrors-primary-ftp10} (ftp / ftpv6 / {mirrors-primary-ftp10-http} / {mirrors-primary-ftp10-httpv6}) * {mirrors-primary-ftp11} (ftp) * {mirrors-primary-ftp13} (ftp) * {mirrors-primary-ftp14} (ftp / {mirrors-primary-ftp14-http}) [[armenia]] *{mirrors-armenia}* In case of problems, please contact the hostmaster `<{mirrors-armenia-email}>` for this domain. * {mirrors-armenia-ftp} (ftp / {mirrors-armenia-ftp-http} / rsync) [[australia]] *{mirrors-australia}* In case of problems, please contact the hostmaster `<{mirrors-australia-email}>` for this domain. * {mirrors-australia-ftp} (ftp) * {mirrors-australia-ftp2} (ftp) * {mirrors-australia-ftp3} (ftp) [[austria]] *{mirrors-austria}* In case of problems, please contact the hostmaster `<{mirrors-austria-email}>` for this domain. * {mirrors-austria-ftp} (ftp / ftpv6 / {mirrors-austria-ftp-http} / {mirrors-austria-ftp-httpv6}) [[brazil]] *{mirrors-brazil}* In case of problems, please contact the hostmaster `<{mirrors-brazil-email}>` for this domain. * {mirrors-brazil-ftp2} (ftp / {mirrors-brazil-ftp2-http}) * {mirrors-brazil-ftp3} (ftp / rsync) * {mirrors-brazil-ftp4} (ftp) [[czech-republic]] *{mirrors-czech}* In case of problems, please contact the hostmaster `<{mirrors-czech-email}>` for this domain. * {mirrors-czech-ftp} (ftp / {mirrors-czech-ftpv6} / {mirrors-czech-ftp-http} / {mirrors-czech-ftp-httpv6} / rsync / rsyncv6) * {mirrors-czech-ftp2} (ftp / {mirrors-czech-ftp2-http}) [[denmark]] *{mirrors-denmark}* In case of problems, please contact the hostmaster `<{mirrors-denmark-email}>` for this domain. * {mirrors-denmark-ftp} (ftp / ftpv6 / {mirrors-denmark-ftp-http} / {mirrors-denmark-ftp-httpv6}) [[estonia]] *{mirrors-estonia}* In case of problems, please contact the hostmaster `<{mirrors-estonia-email}>` for this domain. * {mirrors-estonia-ftp} (ftp) [[finland]] *{mirrors-finland}* In case of problems, please contact the hostmaster `<{mirrors-finland-email}>` for this domain. * {mirrors-finland-ftp} (ftp) [[france]] *{mirrors-france}* In case of problems, please contact the hostmaster `<{mirrors-france-email}>` for this domain. * {mirrors-france-ftp} (ftp) * {mirrors-france-ftp1} (ftp / {mirrors-france-ftp1-http} / rsync) * {mirrors-france-ftp3} (ftp) * {mirrors-france-ftp5} (ftp) * {mirrors-france-ftp6} (ftp / rsync) * {mirrors-france-ftp7} (ftp) * {mirrors-france-ftp8} (ftp) [[germany]] *{mirrors-germany}* In case of problems, please contact the hostmaster `<{mirrors-germany-email}>` for this domain. * ftp://ftp.de.FreeBSD.org/pub/FreeBSD/ (ftp) * ftp://ftp1.de.FreeBSD.org/freebsd/ (ftp / http://www1.de.FreeBSD.org/freebsd/ / rsync://rsync3.de.FreeBSD.org/freebsd/) * ftp://ftp2.de.FreeBSD.org/pub/FreeBSD/ (ftp / http://ftp2.de.FreeBSD.org/pub/FreeBSD/ / rsync) * ftp://ftp4.de.FreeBSD.org/FreeBSD/ (ftp / http://ftp4.de.FreeBSD.org/pub/FreeBSD/) * ftp://ftp5.de.FreeBSD.org/pub/FreeBSD/ (ftp) * ftp://ftp7.de.FreeBSD.org/pub/FreeBSD/ (ftp / http://ftp7.de.FreeBSD.org/pub/FreeBSD/) * ftp://ftp8.de.FreeBSD.org/pub/FreeBSD/ (ftp) [[greece]] *{mirrors-greece}* In case of problems, please contact the hostmaster `<{mirrors-greece-email}>` for this domain. * {mirrors-greece-ftp} (ftp) * {mirrors-greece-ftp2} (ftp) [[hong-kong]] *{mirrors-hongkong}* {mirrors-hongkong-ftp} (ftp) [[ireland]] *{mirrors-ireland}* In case of problems, please contact the hostmaster `<{mirrors-ireland-email}>` for this domain. * {mirrors-ireland-ftp} (ftp / rsync) [[japan]] *{mirrors-japan}* In case of problems, please contact the hostmaster `<{mirrors-japan-email}>` for this domain. * {mirrors-japan-ftp} (ftp) * {mirrors-japan-ftp2} (ftp) * {mirrors-japan-ftp3} (ftp) * {mirrors-japan-ftp4} (ftp) * {mirrors-japan-ftp5} (ftp) * {mirrors-japan-ftp6} (ftp) * {mirrors-japan-ftp7} (ftp) * {mirrors-japan-ftp8} (ftp) * {mirrors-japan-ftp9} (ftp) [[korea]] *{mirrors-korea}* In case of problems, please contact the hostmaster `<{mirrors-korea-email}>` for this domain. * {mirrors-korea-ftp} (ftp / rsync) * {mirrors-korea-ftp2} (ftp / {mirrors-korea-ftp2-http}) [[latvia]] *{mirrors-latvia}* In case of problems, please contact the hostmaster `<{mirrors-latvia-email}>` for this domain. * {mirrors-latvia-ftp} (ftp / {mirrors-latvia-ftp-http}) [[lithuania]] *{mirrors-lithuania}* In case of problems, please contact the hostmaster `<{mirrors-lithuania-email}>` for this domain. * {mirrors-lithuania-ftp} (ftp / {mirrors-lithuania-ftp-http}) [[netherlands]] *{mirrors-netherlands}* In case of problems, please contact the hostmaster `<{mirrors-netherlands-email}>` for this domain. * {mirrors-netherlands-ftp} (ftp / {mirrors-netherlands-ftp-http} / rsync) * {mirrors-netherlands-ftp2} (ftp) [[new-zealand]] *{mirrors-new-zealand}* * {mirrors-new-zealand-ftp} (ftp / {mirrors-new-zealand-ftp-http}) [[norway]] *{mirrors-norway}* In case of problems, please contact the hostmaster `<{mirrors-norway-email}>` for this domain. * {mirrors-norway-ftp} (ftp / rsync) [[poland]] *{mirrors-poland}* In case of problems, please contact the hostmaster `<{mirrors-poland-email}>` for this domain. * {mirrors-poland-ftp} (ftp) * ftp2.pl.FreeBSD.org [[russia]] *{mirrors-russia}* In case of problems, please contact the hostmaster `<{mirrors-russia-email}>` for this domain. * {mirrors-russia-ftp} (ftp / {mirrors-russia-ftp-http} / rsync) * {mirrors-russia-ftp2} (ftp / {mirrors-russia-ftp2-http} / rsync) * {mirrors-russia-ftp5} (ftp / {mirrors-russia-ftp5-http} / rsync) * {mirrors-russia-ftp6} (ftp) [[saudi-arabia]] *{mirrors-saudi-arabia}* In case of problems, please contact the hostmaster `<{mirrors-saudi-arabia-email}>` for this domain. * {mirrors-saudi-arabia-ftp} (ftp) [[slovenia]] *{mirrors-slovenia}* In case of problems, please contact the hostmaster `<{mirrors-slovenia-email}>` for this domain. * {mirrors-slovenia-ftp} (ftp) [[south-africa]] *{mirrors-south-africa}* In case of problems, please contact the hostmaster `<{mirrors-south-africa-email}>` for this domain. * {mirrors-south-africa-ftp} (ftp) * {mirrors-south-africa-ftp2} (ftp) * {mirrors-south-africa-ftp4} (ftp) [[spain]] *{mirrors-spain}* In case of problems, please contact the hostmaster `<{mirrors-spain-email}>` for this domain. * {mirrors-spain-ftp} (ftp / {mirrors-spain-ftp-http}) * {mirrors-spain-ftp3} (ftp) [[sweden]] *{mirrors-sweden}* In case of problems, please contact the hostmaster `<{mirrors-sweden-email}>` for this domain. * {mirrors-sweden-ftp} (ftp) * {mirrors-sweden-ftp2} (ftp / {mirrors-sweden-ftp2-rsync}) * {mirrors-sweden-ftp3} (ftp) * {mirrors-sweden-ftp4} (ftp / {mirrors-sweden-ftp4v6} / {mirrors-sweden-ftp4-http} / {mirrors-sweden-ftp4-httpv6} / {mirrors-sweden-ftp4-rsync} / {mirrors-sweden-ftp4-rsyncv6}) * {mirrors-sweden-ftp6} (ftp / {mirrors-sweden-ftp6-http}) [[switzerland]] *{mirrors-switzerland}* In case of problems, please contact the hostmaster `<{mirrors-switzerland-email}>` for this domain. * {mirrors-switzerland-ftp} (ftp / {mirrors-switzerland-ftp-http}) [[taiwan]] *{mirrors-taiwan}* In case of problems, please contact the hostmaster `<{mirrors-taiwan-email}>` for this domain. * {mirrors-taiwan-ftp} (ftp / {mirrors-taiwan-ftpv6} / rsync / rsyncv6) * {mirrors-taiwan-ftp2} (ftp / {mirrors-taiwan-ftp2v6} / {mirrors-taiwan-ftp2-http} / {mirrors-taiwan-ftp2-httpv6} / rsync / rsyncv6) * {mirrors-taiwan-ftp4} (ftp) * {mirrors-taiwan-ftp5} (ftp) * {mirrors-taiwan-ftp6} (ftp / {mirrors-taiwan-ftp6v6} / rsync) * {mirrors-taiwan-ftp7} (ftp) * {mirrors-taiwan-ftp8} (ftp) * {mirrors-taiwan-ftp11} (ftp / {mirrors-taiwan-ftp11-http}) * {mirrors-taiwan-ftp12} (ftp) * {mirrors-taiwan-ftp13} (ftp) * {mirrors-taiwan-ftp14} (ftp) * {mirrors-taiwan-ftp15} (ftp) [[ukraine]] *{mirrors-ukraine}* * {mirrors-ukraine-ftp} (ftp / {mirrors-ukraine-ftp-http}) * {mirrors-ukraine-ftp6} (ftp / {mirrors-ukraine-ftp6-http} / {mirrors-ukraine-ftp6-rsync}) * {mirrors-ukraine-ftp7} (ftp) [[uk]] *{mirrors-uk}* In case of problems, please contact the hostmaster `<{mirrors-uk-email}>` for this domain. * {mirrors-uk-ftp} (ftp) * {mirrors-uk-ftp2} (ftp / {mirrors-uk-ftp2-rsync}) * {mirrors-uk-ftp3} (ftp) * {mirrors-uk-ftp4} (ftp) * {mirrors-uk-ftp5} (ftp) [[usa]] *{mirrors-us}* In case of problems, please contact the hostmaster `<{mirrors-us-email}>` for this domain. * {mirrors-us-ftp} (ftp) * {mirrors-us-ftp2} (ftp) * {mirrors-us-ftp3} (ftp) * {mirrors-us-ftp4} (ftp / ftpv6 / {mirrors-us-ftp4-http} / {mirrors-us-ftp4-httpv6}) * {mirrors-us-ftp5} (ftp) * {mirrors-us-ftp6} (ftp) * {mirrors-us-ftp8} (ftp) * {mirrors-us-ftp10} (ftp) * {mirrors-us-ftp11} (ftp) * {mirrors-us-ftp13} (ftp / {mirrors-us-ftp13-http} / rsync) * {mirrors-us-ftp14} (ftp / {mirrors-us-ftp14-http}) * {mirrors-us-ftp15} (ftp) [[mirrors-bittorrent]] == BitTorrent 基本发行版 CD 的 ISO 镜像也可以通过 BitTorrent 获得。 用户下载镜像的 torrent 文件能够在这里找到 http://torrents.freebsd.org:8080/[http://torrents.freebsd.org:8080] BitTorrent 客户端软件可以从这个 port package:net-p2p/py-bittorrent[] 或预编译的二进制包安装。 在通过 BitTorrent 下载了 ISO 镜像之后, 你可以照着 crossref:disks[burncd,burncd]burncd 中的所描述的方法烧录到 CD 或 DVD 介质上。 [[anoncvs]] == 匿名 CVS [[anoncvs-intro]] === 概述 匿名 CVS(或人们常说的 _anoncvs_)是由和 FreeBSD 附带的 CVS 实用工具提供的用于和远程的 CVS 代码库同步的一种特性。 尤其是, 它允许 FreeBSD 用户不需要特殊的权限对任何一台 FreeBSD 项目的官方 anoncvs 服务器执行只读的 CVS 操作。 要使用它,简单的设置 `CVSROOT` 环境变量指向适当的 anoncvs 服务器, 输入 `cvs login` 命令 并提供广为人知的密码"anoncvs",然后使用 man:cvs[1] 命令像访问任何本地仓库一样来访问它。 [NOTE] ==== `cvs login` 命令把用来登录 CVS 服务器的密码储存在您的 `HOME` 目录中一个叫 [.filename]#.cvspass# 的文件里。 如果这个文件不存在, 第一次使用 `cvs login` 的时候可能会出错。 请创建一个空的 [.filename]#.cvspass# 文件,然后试试重新登录。 ==== 也可以这么说 <> 和 _anoncvs_ 服务本质上提供了同样的功能,但是有各种各样 不同的场合可以影响用户对同步方式的选择。简单来说, CVSup 在网络资源利用方面 更加有效,而且是到目前为止在两者之中技术上更成熟的 除了成本方面。要使用 CVSup,在下载任何东西之前 必须首先安装配置特定的客户端, 而且只能用于下载相当大块的 CVSup 称作 _collections_。 相比之下,anoncvs 可以通过 CVS 模块名来从单个文件里检出任何东西并赋给特定的程序 (比如 `ls` 或者 `grep`)。 当然,anoncvs 也只适用于对 CVS 仓库的只读操作,所以如果您是想用和 FreeBSD 项目共享的仓库提供本地开发的话, CVSup 几乎是您唯一的选择。 [[anoncvs-usage]] === 使用匿名 CVS 配置 man:cvs[1] 使用匿名 CVS 仓库可以简单的设定 `CVSROOT` 环境变量指向 FreeBSD 项目的 _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, 则不需要口令。) + [.programlisting] .... 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, 不需要口令。) + [.programlisting] .... 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 实际上允许 "检出" 曾经存在的 (或者,某种情况下将会存在) FreeBSD 源代码的任意版本, 您需要熟悉 man:cvs[1] 的版本 (`-r`) 参数, 以及在 FreeBSD 代码库中可用的值。 有两种标签,修订标签和分支标签。 修订标签特指一个特定的修订版本。含义始终是不变的。 分支标签,另一方面, 指代给定时间给定开发分支的最新修订, 因为分支标签不涉及特定的修订版本, 它明天所代表的含义就可能和今天的不同。 <> 包括了用户可能感兴趣的 修订标签。 请注意, 这些标签并不适用于 Ports Collection, 因为它并不包含多个开发分支。 当您指定一个分支标签,您通常会得到那个开发分支的文件的最新版本。 如果您希望得到一些旧的版本,您可以用 `-D date` 标记制定一个日期。 察看 man:cvs[1] 手册页了解更多细节。 === 示例 在这之前强烈建议您通读 man:cvs[1] 的手册页, 这里有一些简单的例子来展示如何使用匿名 CVS: .从 -CURRENT 检出些东西 (man:ls[1]): [example] ==== [source,shell] .... % setenv CVSROOT :pserver:anoncvs@anoncvs.tw.FreeBSD.org:/home/ncvs % cvs login >在提示符处,输入任意密码 “password”. % cvs co ls .... ==== .通过 SSH 检出整个 [.filename]#src/# 代码树: [example] ==== [source,shell] .... % 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] 版本: [example] ==== [source,shell] .... % setenv CVSROOT :pserver:anoncvs@anoncvs.tw.FreeBSD.org:/home/ncvs % cvs login 在提示符处,输入任意密码 “password”。 % cvs co -rRELENG_8 ls .... ==== .创建 man:ls[1] 的变化列表(用标准的 diff) [example] ==== [source,shell] .... % setenv CVSROOT :pserver:anoncvs@anoncvs.tw.FreeBSD.org:/home/ncvs % cvs login 在提示符处,输入任意密码 “password”。 % cvs rdiff -u -rRELENG_8_0_0_RELEASE -rRELENG_8_1_0_RELEASE ls .... ==== .找出可以使用的其它的模块名: [example] ==== [source,shell] .... % setenv CVSROOT :pserver:anoncvs@anoncvs.tw.FreeBSD.org:/home/ncvs % cvs login 在提示符处,输入任意密码 “password”。 % cvs co modules % more modules/modules .... ==== === 其他资源 下面附加的资源可能对学习 CVS 有帮助: * http://users.csc.calpoly.edu/~gfisher/classes/308/handouts/cvs-basics.html[CVS 教程], 来自加州州立理工大学。 * http://ximbiot.com/cvs/wiki/[CVS 主页], CVS 开发和支持社区。 * http://www.FreeBSD.org/cgi/cvsweb.cgi[CVSweb] 是 FreeBSD 项目的 CVS web 界面。 [[ctm]] == 使用 CTM CTM 是保持远程目录树和中央服务器目录树同步的一种方法。 它被开发用于 FreeBSD 的源代码树,虽然其他人随着时间推移会发现它可以用于其他目的。 当前几乎没有,也或者只有很少的文档讲述创建 deltas 的步骤, 所以如果您希望使用 CTM 去做其它事情, 请联系 link:{ctm-users-url}[ctm-users-desc] 邮件列表了解更多信息。 === 为什么我该使用 CTM? CTM 会给您一份 FreeBSD 源代码树的本地副本。 代码树有很多的 "flavors" 可用。不管您是希望跟踪完整的 CVS 树还是只是一个分支, CTM 都会给您提供信息。 如果您是 FreeBSD 上的一个活跃的开发者,但是缺乏或者不存在 TCP/IP 连接,或者只是希望把变化自动发送给您, CTM 就是适合您的。对于最积极的分支 您将会每天获得三个以上的 deltas。 然而,您应该考虑通过邮件来自动发送。 升级的大小总是保证尽可能的小。 通常小于 5K,也偶然(十分之一可能)会有 10-50K,也不时地有个大的 100K+ 甚至更大的。 您也需要让自己了解直接和开发代码而不是预发行版本打交道的各种警告。这种情况会很显著, 如果您选择了 "current" 代码的话。强烈建议您阅读crossref:cutting-edge[current,和 FreeBSD 保持同步]。 === 使用 CTM 我需要做什么? 您需要两样东西:CTM 程序,还有初始的 deltas 来 feed it(达到 "current" 级别)。 CTM 程序从版本 2.0 发布以来 已经是 FreeBSD 的一部分了,如果您安装了源代码副本的话, 它位于 [.filename]#/usr/src/usr.sbin/ctm#。 您喂给 CTM 的 "deltas" 可以有两种方式,FTP 或者 email。 如果您有普通的访问 Internet 的 FTP 权限, 那么下面的 FTP 站点支持访问 CTM: link:ftp://ftp.FreeBSD.org/pub/FreeBSD/CTM/[ftp://ftp.FreeBSD.org/pub/FreeBSD/CTM/] 或者看看这一小节<>。 FTP 访问相关的目录并取得 [.filename]#README# 文件,从那里开始。 如果您希望通过 email 得到您的 deltas: -订阅一个 CTM 分发列表。 link:{ctm-src-cur-url}[ctm-src-cur-desc] 支持最新的开发分支。 link:{ctm-src-7-url}[ctm-src-7-desc] 支持 7.X 发行分支, 等等。。(如果您不知道如何订阅邮件列表, 点击上面的列表名或者到 {mailman-lists-url} 点击您希望订阅的列表。 列表页包含了所有必要的订阅指导。) +订阅一个 CTM 分发列表。 link:{ctm-src-cur-url}[ctm-src-cur-desc] 支持最新的开发分支。 link:{ctm-src-7-url}[ctm-src-7-desc] 支持 7.X 发行分支, 等等。。(如果您不知道如何订阅邮件列表, 点击上面的列表名或者到 {mailing-lists-url} 点击您希望订阅的列表。 列表页包含了所有必要的订阅指导。) 当您开始接收到您邮件中的 CTM 升级时,您可以使用 `ctm_rmail` 程序来解压并应用它们。 事实上如果您想要让进程以全自动的形式运行的话,您可以通过在 [.filename]#/etc/aliases# 中设置直接使用 `ctm_rmail` 程序。 查看 `ctm_rmail` 手册页了解更多细节。 [NOTE] ==== 不管您使用什么方法得到 CTM deltas,您都应该订阅 link:{ctm-announce-url}[ctm-announce-desc] 邮件列表。 以后会有单独的地方提交有关 CTM 系统的操作的公告。 点击上面的邮件列表名并按照指示订阅邮件列表。 ==== === 第一次使用 CTM 在您开始使用 CTM delta 之前,您需要获得一个起始点。 首先您应该确定您已经有了什么。每个人都可以从一个"空"目录开始。 您必须用一个初始的 "空的" delta 来开始您的 CTM 支持树。曾经为了您的便利这些 "起始" deltas 被有意的通过 CD 来发行, 然而现在已经不这样做了。 因为代码树有数十兆字节,您应该更喜欢从手头上已经有的东西开始。如果您有一张 -RELEASE CD 光盘,您可以从里面复制或者解压缩一份初始代码出来。 这会节省非常多的数据传输量。 您会发现这些"初始的" deltas 名字的数字后面都有个 `X` (比如 [.filename]#src-cur.3210XEmpty.gz#)。 后面加一个 `X` 的设计符合您的初始 "seed" 的由来。 [.filename]#Empty# 是一个空目录。通常一个基本的从 `Empty` 开始的转换由 100 个 deltas 构成。顺便说一下,他们都很大!70 到 80 兆字节的 `gzip` 压缩的数据对于 [.filename]#XEmpty# deltas 是很平常的。 一旦您已经选定了一个基本的 delta 开始,您就需要比这个数高的所有的 delta。 === 在您的日常生活中使用 CTM 要应用 deltas,简单的键入: [source,shell] .... # cd /where/ever/you/want/the/stuff # ctm -v -v /where/you/store/your/deltas/src-xxx.* .... CTM 能够理解被 `gzip` 压缩的 deltas,所以您不需要先 `gunzip` 他们,这可以节省磁盘空间。 除非觉得整个过程非常可靠, CTM 不会涉及到您的代码树的。您也可以使用 `-c` 标记来校验 delta, 这样 CTM 就不会涉及代码树; 它会只校验 delta 的完整性看看是否可以安全的用于您的当前代码树。 CTM 还有其他的一些参数, 查看手册页或者源代码了解更多信息。 这真的就是全部的事情了。每次得到一个新的 delta,就通过 CTM 运行它来保证您的代码是最新的。 如果这些 deltas 很难重新下载的话不要删除它们。 有些东西坏掉的时候您会想到保留它们的。 即使您只有软盘,也请考虑使用 `fdwrite` 来做一份副本。 === 维持您本地的变动 作为一名开发者喜欢实验,改动代码树中的文件。 CTM 用一种受限的方式支持本地修改:再检查文件 [.filename]#foo# 存在之前,首先查找 [.filename]#foo.ctm#。如果这个文件存在, CTM 会对它操作而不是 [.filename]#foo#。 这种行为给我们提供了一种简单的方式来维持本地的改动: 只要复制您计划修改的文件并用 [.filename]#.ctm# 的后缀重新命名。 然后就可以自由的修改代码了,CTM 会更新 [.filename]#.ctm# 文件到最新版本。 === 其他有趣的 CTM 选项 ==== 正确的找出哪些将被更新 您可以确定变动列表, CTM 可以做到,在您的代码库上使用 CTM 的 `-l` 选项。 这很有用如果您想要保存改动的日志, pre- 或者 post- 用各种风格处理修改的文件的纪录, 或者仅仅是想感受一下孩子般的疯狂。 ==== 在升级前制作备份 有时您可能想备份将要被 CTM 升级所改动的所有文件。 指定 `-B backup-file` 选项会导致 CTM 备份将要被给定的 CTM delta 改动的所有文件到 [.filename]#backup-file#。 ==== 限定受升级影响的文件 有时您可能对限定一个给定的 CTM 升级的范围感兴趣,也有可能想知道怎样从一列 deltas 中解压缩一部分文件。 您可以通过使用 `-e` 和 `-x` 选项指定过滤规则表达式来控制 CTM 即将对之操作的文件列表。 例如,要从您保存的CTM deltas 集里解压缩出一个最新的 [.filename]#lib/libc/Makefile# 文件,运行这个命令: [source,shell] .... # cd /where/ever/you/want/to/extract/it/ # ctm -e '^lib/libc/Makefile' ~ctm/src-xxx.* .... 对于每一个在 CTM delta 中指定的文件,`-e` 和 `-x` 选项按照命令行给定的顺序应用。 文件只有在所有的 `-e` 和 `-x` 被应用之后标记为合格之后 才能被 CTM 操作。 === CTM 未来的计划 其中几项: * 在 CTM 中使用一些认证方式, 这样来允许察觉冒充的 CTM 补丁。 * 整理 CTM 的选项, 它们变得杂乱而违反直觉了。 === 杂项 也有一系列的 `ports` collection 的 deltas,但是人们对它的兴致还没有那么高。 [[mirrors-ctm]] === CTM 镜像 <>/FreeBSD 可以在下面的镜像站点通过匿名 FTP 下载。如果您选择通过匿名 FTP 获取 CTM, 请试着使用一个离您较近的站点。 如果有问题,请联系 link:{ctm-users-url}[ctm-users-desc] 邮件列表。 加利福尼亚州,旧金山湾区,官方源代码:: ** link:ftp://ftp.FreeBSD.org/pub/FreeBSD/development/CTM/[ftp://ftp.FreeBSD.org/pub/FreeBSD/development/CTM/] 南非,旧的 deltas 的备份服务器:: ** link:ftp://ftp.za.FreeBSD.org/pub/FreeBSD/CTM/[ftp://ftp.za.FreeBSD.org/pub/FreeBSD/CTM/] 中国台湾:: ** link:ftp://ctm.tw.FreeBSD.org/pub/FreeBSD/development/CTM/[ftp://ctm.tw.FreeBSD.org/pub/FreeBSD/development/CTM/] ** link:ftp://ctm2.tw.FreeBSD.org/pub/FreeBSD/development/CTM/[ftp://ctm2.tw.FreeBSD.org/pub/FreeBSD/development/CTM/] ** link:ftp://ctm3.tw.FreeBSD.org/pub/FreeBSD/development/CTM/[ftp://ctm3.tw.FreeBSD.org/pub/FreeBSD/development/CTM/] 如果您在您附近找不到镜像或者镜像不完整, 试着使用搜索引擎比如 http://www.alltheweb.com/[alltheweb]. [[cvsup]] == 使用 CVSup [[cvsup-intro]] === 概述 CVSup 是一个用于从远程服务器主机上的主 CVS 仓库发布和升级源代码树的软件包。 FreeBSD 的源代码维护在加利福尼亚州一台主开发服务器的 CVS 仓库里。 有了 CVSup, FreeBSD 用户可以很容易的保持他们自己的源代码树更新。 CVSup 使用所谓的升级 _pull_ 模式。在 pull 模式下,客户端在需要的时候向服务器端请求更新。 服务器被动的等待客户端的升级请求。 因此所有的升级都是客户端发起的。 服务器决不会发送未请求的升级。用户必须手动运行 CVSup 客户端获取更新, 或者设置一个 `cron` 作业来让它以固定的规律自动运行。 术语 CVSup用大写字母写正是表示, 代表了完整的软件包。 它的主要组件是运行在每个用户机器上的客户端 `cvsup`, 和运行在每个 FreeBSD 镜像站点上的服务器端 `cvsupd`。 当您阅读 FreeBSD 文档和邮件列表时,您可能会看见 sup。 Sup 是 CVSup 的前身,有着相似的目的。 CVSup 使用很多和 sup 相同的方式, 而且, 它还是用使用和 `sup` 的兼容的配置文件。 Sup 已经不再被 FreeBSD 项目使用了, 因为 CVSup 既快又有更好的灵活性。 [NOTE] ==== csup 是用 C 语言对 CVSup 软件的重写。 它最大的好处是, 这个程序更快一些, 并且也不需要依赖于 Modula-3 语言, 因此也就不需要安装后者。 另外, 您可以直接使用它, 因为它是基本系统的一部分。 假如您决定使用 csup, 则可以跳过安装 CVSup 这一步, 并在文章中余下部分提到的 CVSup 改为 csup。 ==== [[cvsup-install]] === 安装 安装 CVSup 最简单的方式就是使用 FreeBSD crossref:ports[ports,packages collection] 中预编译的 package:net/cvsup[] 包。 如果您想从源代码构建 CVSup, 您可以使用 package:net/cvsup[] port。但是预先警告一下: package:net/cvsup[] port 依赖于 Modula-3 系统,会花费相当的时间和磁盘空间来下载编译。 [NOTE] ==== 如果想在没有安装 Xorg 的计算机, 例如服务器上使用 CVSup, 则只能使用不包含 CVSupGUI 的 package:net/cvsup-without-gui[]。 ==== [[cvsup-config]] === CVSup 配置 CVSup 的操作被一个叫做 [.filename]#supfile# 的配置文件所控制。 在目录 link:file://localhost/usr/shared/examples/cvsup/[/usr/shared/examples/cvsup/] 下面有一些示例的 [.filename]#supfiles#。 [.filename]#supfile# 中的信息解答了 CVSup 下面的几个问题: * <> * <> * <> * <> * <> 在下面的章节里,我们通过依次回答这些问题来创建一个典型的 [.filename]#supfile# 文件。首先,我们描述一下 [.filename]#supfile# 的整体构成。 [.filename]#supfile# 是个文本文件。注释用 `#` 开头,至行尾有效。 空行和只包含注释的行会被忽略。 每个保留行描述一批用户希望接收的文件。 每行以 "collection", 由服务器端定义的合理的文件分组,的名字开头。 collection 的名字告诉服务器您想要的文件。 collection 名字结束或者有更多的字段,用空格分隔。 这些字段回答了上面列出的问题。 字段类型有两种:标记字段和值字段。 标记字段由独立的关键字组成,比如, `delete` 或者 `compress`。值字段也用关键字开头, 关键字后面跟 `=` 和第二个词而没有空格。 例如,`release=cvs` 是一个值字段。 一个典型的 [.filename]#supfile# 往往接收多于一个的 collection。创建 [.filename]#supfile# 的一种方式是明确的为每一个 collection 指定相关的字段。然而,这样使得 [.filename]#supfile# 的行变得特别长,很不方便, 因为 [.filename]#supfile# 中的所有 collection 的大部分 字段都是相同的。 CVSup 提供了一个默认机制来避免 这些问题。用特定的伪 collection 名 `*default` 开头的行可以被用来设置标记和值为 [.filename]#supfile# 中随后的 collection 中的默认值。 默认值可以通过为这个 collection 自身指定不同的值来对单个的 collection 覆盖设置, 也可以在 mid-supfile 中通过附加的 `*default` 行改变或扩充。 知道了这些,我们现在就可以开始创建一个 用于接收和升级 crossref:cutting-edge[current,FreeBSD-CURRENT] 主源代码树的 [.filename]#supfile# 文件了。 * [[cvsup-config-files]]您想接收哪些文件? + 通过 CVSup 可用的文件组织成叫做 "collections" 的名称组。 这些可用的 collection 在 <> 中描述。 在这个例子里, 我们希望接收 FreeBSD 系统的完整的主代码树。 有一个单独的大的 collection `src-all` 让我们完成这个。 创建我们的 [.filename]#supfile# 的第一步, 我们简单的列出这些 collection,每个一行(在这个例子里, 只有一行): + [.programlisting] .... src-all .... * [[cvsup-config-vers]]您想要他们的 哪个版本? + 通过 CVSup,您实际上可以接收 曾经存在的源代码的任何版本。 这是有可能的,因为 cvsupd 服务器直接通过 CVS 仓库工作,那包含了所有的版本。您可以 用 `tag=` 和 `date=` 值字段 指定一个您想要的版本。 + [WARNING] ==== 仔细的正确指定任何 `tag=` 字段。有一些 tag 只对特定的 collection 文件合法。 如果您指定了一个不正确的或者 拼写错误的 tag,CVSup 会删除您可能不想删除的文件。 特别地,对 `ports-*` collection __只__使用 `tag=.`。 ==== + `tag=` 字段在仓库中表示为一个符号标签。 有两种标签,修订标签和分支标签。 修订标签代表一个特定的修订版本。 它的含义是一成不变的。 分支标签,另一方面,代表给定开发线上给定时间的最新修订。 因为分支标签不代表一个特定的修订版本, 它明天的含义就可能和今天的有所不同。 + <> 包含了用户可能感兴趣的分支标签。 当在 CVSup 的配置文件中指定标签的时候,必须用 `tag=` 开头 (`RELENG_8` 会变成 `tag=RELENG_8`)。 记住只有 `tag=.` 可以用于 Ports Collection。 + [WARNING] ==== 注意像看到的那样正确的输入标签名。 CVSup 不能辨别合法和不合法标签。 如果您拼写错了标签名, CVSup 会像您指定了一个没有任何文件的合法标签一样工作, 那会删除您已经存在的代码。 ==== + 当您指定一个分支标签的时候,您通常会收到开发线上文件的最新版本。 如果您希望接收一些过时的版本,您可以通过用 `date=` 值字段指定一个日期来做到。 man:cvsup[1] 手册页解释了如何来做。 + 对于我们的示例来说,我们希望接收 FreeBSD-CURRENT。 我们在我们的 [.filename]#supfile# 的开头添加这行: + [.programlisting] .... *default tag=. .... + 有一个重要的特例, 如果您既没指定 `tag=` 字段也没指定 `date=` 字段的情况。这种情况下, 您会收到直接来自于服务器 CVS 仓库的真实的 RCS 文件, 而不是某一特定版本。 开发人员一般喜欢这种操作模式。 通过在他们的系统上维护一份仓库自身的副本, 他们可以浏览修订历史以及检查文件过去的版本。 然而,这个好处是以大量的磁盘空间为代价的。 * [[cvsup-config-where]]您想从哪里获取他们? + 我们使用 `host=` 字段来告诉 `cvsup` 从哪里获取更新。 任何一个 <>都可以, 虽然您应该选择一个离您比较近的站点。 在这个例子里我们将使用一个虚拟的 FreeBSD 发布站点, `cvsup99.FreeBSD.org`: + [.programlisting] .... *default host=cvsup99.FreeBSD.org .... + 您需要在运行 CVSup 之前把这个改成一个实际存在的站点。 在任何 `cvsup` 运行的特定时刻, 您都可以在命令行上使用 `-h _hostname_` 选项来覆盖主机设置。 * [[cvsup-config-dest]]您想把它们放在 您自己机器的什么地方? + `prefix=` 字段告诉 `cvsup` 把接收的文件放在哪里。 在这个例子里,我们把源代码文件直接放进我们的主源代码树, [.filename]#/usr/src#。 [.filename]#src# 目录已经隐含在我们选择接收的 collection 里了, 所以正确的写法是: + [.programlisting] .... *default prefix=/usr .... * [[cvsup-config-status]]`cvsup` 在哪里维护它的状态文件? + CVSup 客户端在被叫做 "base" 的目录里维护了几个状态文件。 这些文件帮助 CVSup 更有效的工作, 通过跟踪您已经接收到哪些更新的方式。 我们将使用标准的 base 目录, [.filename]#/var/db#: + [.programlisting] .... *default base=/var/db .... + 如果您的 base 目录还不存在,现在最好创建它。 如果 base 目录不存在,`cvsup` 客户端会拒绝工作。 * 其他的 [.filename]#supfile# 设置: + 在 [.filename]#supfile# 中有一些其他选项需要介绍一下: + [.programlisting] .... *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 或者更快, 您可能不想使用压缩。 否则,它非常有帮助。 * 把它们放在一起: + 这是我们的示例的完整 [.filename]#supfile# 文件: + [.programlisting] .... *default tag=. *default host=cvsup99.FreeBSD.org *default prefix=/usr *default base=/var/db *default release=cvs delete use-rel-suffix compress src-all .... [[cvsup-refuse-file]] ==== [.filename]#refuse# 文件 像上面提到的,CVSup 使用一种 _pull 方法_。基本上,这意味着您要连接到 CVSup 服务器,服务器说, "这有些您能下载的东西 ...",然后您的客户端反应"好,我要这个, 这个,这个,还有这个。"在默认的配置中, CVSup 客户端会取回您在配置文件中选定的 collection 和标签的每个文件。 然而,并不总是您想要的, 尤其是您在同步 [.filename]#doc#,[.filename]#ports#,或者 [.filename]#www# 树 - 大部分人都不能阅读四种或者五种 语言,因此他们不需要下载特定语言的文件。 如果您在 CVSup Ports Collection,您 可以通过单独指定每个 collection 来避免这个 (比如,_ports-astrology_, _ports-biology_,等等取代简单的说明 _ports-all_)。然而,因为 [.filename]#doc# 和 [.filename]#www# 树没有特定语言的 collection,您必须 使用 CVSup 许多极好的特性之一: [.filename]#refuse# 文件。 [.filename]#refuse# 文件本质上是告诉 CVSup 它不应该从 collection 中取得某些文件;换句话说,它告诉客户端 _拒绝_ 来自服务器的特定的文件。 [.filename]#refuse# 文件可以在 [.filename]#base/sup/# 中找到(或者,如果您没有,应该创建一个)。 _base_ 在您的 [.filename]#supfile# 中定义; 默认情况下,_base_ 就是 [.filename]#/var/db#, 这意味着默认的 [.filename]#refuse# 文件就是 [.filename]#/var/db/sup/refuse#。 [.filename]#refuse# 文件的格式很简单; 它仅仅包含您不希望下载的文件和目录名。 例如,如果您除了英语和德语之外不会讲其他语言, 而且也不打算阅读德文的文档翻译版本, 则可以把下面这些放在您的 [.filename]#refuse# 文件里: [source,shell] .... 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_* .... 等等其他语言(您可以通过浏览 http://www.FreeBSD.org/cgi/cvsweb.cgi/[FreeBSD CVS 仓库]找到完整的列表)。 有这个非常有用的特性,那些慢速连接或者要为他们的 Internet 连接按时付费的用户就可以节省宝贵的时间因为他们不再需要 下载那些从来不用的文件。要了解 [.filename]#refuse# 文件的更多信息以及其它 CVSup 的优雅的特性,请浏览它的 手册页。 === 运行 CVSup 您现在准备尝试升级了。命令很简单: [source,shell] .... # cvsup supfile .... [.filename]#supfile# 的位置当然就是您刚刚创建的 [.filename]#supfile# 文件名啦。 如果您在 X11 下面运行,`cvsup` 会显示一个有一些可以做平常事情的按钮的 GUI 窗口。 按 btn:[go] 按钮,然后看着它运行。 在这个例子里您将要升级您目前的 [.filename]#/usr/src# 树,您将需要 用 `root` 来运行程序,这样 `cvsup` 有需要的权限来更新您的文件。 刚刚创建了您的配置文件,又从来没有使用过这个程序, 紧张不安是可以理解的。有一个简单的方法不改变您当前的文件 来做一次试验性的运行。只要在方便的地方创建一个 空目录,并在命令行上作为一个额外的参数说明: [source,shell] .... # mkdir /var/tmp/dest # cvsup supfile /var/tmp/dest .... 您指定的目录会作为所有文件更新的目的路径。 CVSup 会检查您在 [.filename]#/usr/src# 中的文件,但是不会修改或 删除。任何文件更新都会被放到 [.filename]#/var/tmp/dest/usr/src# 里了。 在这种方式下运行 CVSup 也会把它的 base 目录状态文件保持原样。这些文件的新版本 会被写到指定的目录。 因为您有 [.filename]#/usr/src# 目录的读权限,所以执行这种试验性的运行 甚至不需要使用 `root` 用户。 如果您没有运行 X11 或者不喜欢 GUI, 当您运行 `cvsup` 的时候需要在命令行添加 两个选项: [source,shell] .... # cvsup -g -L 2 supfile .... `-g` 告诉 CVSup 不要使用 GUI。如果您 没在运行 X11 这个是自动的,否则您必须指定它。 `-L 2` 告诉 CVSup 输出所有正在升级的文件的细节。 有三个等级可以选择,从 `-L 0` 到 `-L 2`。默认是 0,意味着除了错误消息 什么都不输出。 还有许多其它的选项可用。想要一个简短的列表, 输入 `cvsup -H`。要查看更详细的描述, 请查看手册页。 一旦您对升级工作的方式满意了,您就 可以使用 man:cron[8] 来安排规则的运行 CVSup。 很显然的,您不应该让 CVSup 通过 man:cron[8] 运行的时候使用它的 GUI。 [[cvsup-collec]] === CVSup 文件 collection CVSup 可用的文件 collection 是分级组织的。 有几个大的 collection,然后它们有分成更小的子 collection。接收一个大的 collection 等同于 接收它的每一个子 collection。 collection 的等级关系在下面列表中通过缩进的使用 反映出来。 最常用的 collection 是 `src-all`,和 `ports-all`。其它的 collection 只被有着特定 目的的小部分人使用, 有些站点可能不全部支持。 `cvs-all release=cvs`:: FreeBSD 主 CVS 仓库,包含 密码系统的代码。 `distrib release=cvs`::: FreeBSD 发行版本和镜像相关的 文件。 `doc-all release=cvs`::: FreeBSD 使用手册和其它文档的源代码。 其中不包含 FreeBSD web 站点的文件。 `ports-all release=cvs`::: FreeBSD Ports Collection。 + [IMPORTANT] ==== 如果您不想升级全部的 `ports-all`(整个 ports 树), 而只是使用下面列出的一个子集, 请确保您__总是__升级了 `ports-base` 子 collection! 无论何时在 ports 构建下层构造有所改变的时候都会通过 `ports-base` 表现出来,事实上某些 改变会很快的被"实际的" ports 使用,因此,如果您只升级了 "实际的" ports 而他们使用了一些新的特性, 就有极大的可能编译会因一些神秘的错误信息而失败。 这种情况下__非常快速的__要做的事情 就是确保您的 `ports-base` 子 collection 更新到 最新。 ==== + [IMPORTANT] ==== 要自行构建 [.filename]#ports/INDEX#, 您 _必须_ 接受 `ports-all` (完整的 ports tree)。 在部分 ports tree 上构建 [.filename]#ports/INDEX# 是不被支持的。 请参见 link:{faq}#applications/#MAKE-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 Collection 构建下部构造 - 位于 [.filename]#/usr/ports# 的 [.filename]#Mk/# 和 [.filename]#Tools/# 子目录的 各种各样的文件。 + [NOTE] ==== 请查看<>:您应该 __总是__更新这个 子 collection,无论您更新 FreeBSD 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(TM) 工具。 `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(TM) 系列软件支持。 `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`::: FreeBSD 内部项目的代码库。 `src-all release=cvs`::: FreeBSD 主代码,包含密码系统的代码。 `src-base release=cvs`:::: [.filename]#/usr/src# 顶层的各式各样的文件。 `src-bin release=cvs`:::: 单用户模式下可能用到的用户工具 ([.filename]#/usr/src/bin#)。 `src-cddl release=cvs`:::: 采用了 CDDL 授权的实用工具和函数库 ([.filename]#/usr/src/cddl#)。 `src-contrib release=cvs`:::: FreeBSD 项目之外的工具和库,通常在 FreeBSD 中不作修改 ([.filename]#/usr/src/contrib#)。 `src-crypto release=cvs`:::: FreeBSD 项目之外的 密码系统工具和库,通常在 FreeBSD 中不作修改 ([.filename]#/usr/src/crypto#)。 `src-eBones release=cvs`:::: Kerberos 和 DES ([.filename]#/usr/src/eBones#)。 目前的 FreeBSD 中不再使用使用。 `src-etc release=cvs`:::: 系统配置文件 ([.filename]#/usr/src/etc#)。 `src-games release=cvs`:::: 游戏 ([.filename]#/usr/src/games#)。 `src-gnu release=cvs`:::: GNU 公共许可协议的工具 ([.filename]#/usr/src/gnu#)。 `src-include release=cvs`:::: 头文件 ([.filename]#/usr/src/include#)。 `src-kerberos5 release=cvs`:::: Kerberos5 安全包 ([.filename]#/usr/src/kerberos5#)。 `src-kerberosIV release=cvs`:::: KerberosIV 安全包 ([.filename]#/usr/src/kerberosIV#)。 `src-lib release=cvs`:::: 库 ([.filename]#/usr/src/lib#)。 `src-libexec release=cvs`:::: 通常被其它程序调用的系统程序 ([.filename]#/usr/src/libexec#)。 `src-release release=cvs`:::: 生成 FreeBSD 版本必需的文件 ([.filename]#/usr/src/release#)。 `src-rescue release=cvs`:::: 用于紧急修复的静态联编的程序; 请参见 man:rescue[8] ([.filename]#/usr/src/rescue#)。 `src-sbin release=cvs`:::: 单用户模式的系统工具 ([.filename]#/usr/src/sbin#)。 `src-secure release=cvs`:::: 密码相关库和命令 ([.filename]#/usr/src/secure#)。 `src-share release=cvs`:::: 跨多个平台的共享的文件 ([.filename]#/usr/src/share#)。 `src-sys release=cvs`:::: 内核 ([.filename]#/usr/src/sys#)。 `src-sys-crypto release=cvs`:::: 内核密码系统代码 ([.filename]#/usr/src/sys/crypto#)。 `src-tools release=cvs`:::: 维护 FreeBSD 的各种各样的工具 ([.filename]#/usr/src/tools#)。 `src-usrbin release=cvs`:::: 用户工具 ([.filename]#/usr/src/usr.bin#)。 `src-usrsbin release=cvs`:::: 系统工具 ([.filename]#/usr/src/usr.sbin#)。 `www release=cvs`::: FreeBSD WWW 站点的源代码。 `distrib release=self`:: CVSup 服务器的 配置文件。用于 CVSup 镜像站点。 `gnats release=current`:: GNATS bug 跟踪数据库。 `mail-archive release=current`:: FreeBSD 邮件列表存档。 `www release=current`:: 预处理过的 FreeBSD WWW 站点文件(不是源文件)。 用于 WWW 镜像站点。 === 更多信息 CVSup FAQ 以及关于 CVSup 的其他信息, 请查看 http://www.cvsup.org[CVSup 主页]。 多数与 FreeBSD 有关的 CVSup 讨论会在 {freebsd-hackers} 进行。 这个软件的新版本会在那里和 {freebsd-announce} 公布。 如果对于 CVSup 有任何问题, 或希望提交 bug 报告, 请参阅 http://www.cvsup.org/faq.html#bugreports[ CVSup FAQ]。 [[cvsup-mirrors]] === CVSup 站点 FreeBSD 的 <> 服务器运行于 下列站点: [[cvs-tags]] == CVS 标签 当使用 cvs 或者 CVSup 获取和升级源代码的时候,必须指定一个修订标签。 修订标签代表 FreeBSD 开发的一个特定分支, 或者一个特定的时间点。第一种叫做 "分支标签",第二种叫做 "版本标签"。 === 分支标签 所有这些,除了 `HEAD` (这个总是 合法标签)以外,只适用于 [.filename]#src/# 树。[.filename]#ports/#,[.filename]#doc/#,和 [.filename]#www/# 树没有分支。 HEAD:: 主线的符号名,或者说 FreeBSD-CURRENT。 当没有指定修订版本的时候也是默认的。 + 在 CVSup 里,这个标签通过 一个 `.` 来反映出来(不是标点,而是一个 `.` 字符)。 + [NOTE] ==== 在 CVS 里,当没有修订标签指定时这是默认的。 在一台 STABLE 机器上检出或者升级到 CURRENT 源代码 通常__不是__ 一个好主意,除非这是您的本意。 ==== RELENG_8:: 这是 FreeBSD-8.X 的开发分支, 也被称作 FreeBSD 8-STABLE。 RELENG_8_2:: 这是 FreeBSD-8.2 发行版分支,只用于安全公告, 以及其他重要更新。 RELENG_8_1:: FreeBSD-8.1 的发行版分支, 只用于安全公告, 以及其他重要更新。 RELENG_8_0:: FreeBSD-8.0 的发行版分支, 只用于安全公告, 以及其他重要更新。 RELENG_7:: 这是 FreeBSD-7.X 的开发分支, 也被称作 FreeBSD 7-STABLE。 RELENG_7_4:: FreeBSD-7.4 的发行版分支, 只用于安全公告, 以及其他重要更新。 RELENG_7_3:: FreeBSD-7.3 的发行版分支, 只用于安全公告, 以及其他重要更新。 RELENG_7_2:: FreeBSD-7.2 的发行版分支, 只用于安全公告, 以及其他重要更新。 RELENG_7_1:: FreeBSD-7.1 的发行版分支, 只用于安全公告, 以及其他重要更新。 RELENG_7_0:: FreeBSD-7.0 的发行版分支, 只用于安全公告, 以及其他重要更新。 RELENG_6:: 这是 FreeBSD-6.X 的开发分支, 也被称作 FreeBSD 6-STABLE。 RELENG_6_4:: FreeBSD-6.4 的发行版分支, 只用于安全公告, 以及其他重要更新。 RELENG_6_3:: FreeBSD-6.3 的发行版分支, 只用于安全公告, 以及其他重要更新。 RELENG_6_2:: FreeBSD-6.2 的发行版分支, 只用于安全公告, 以及其他重要更新。 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-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 和 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。 这个分支基本上已经过时了。 === 版本标签 当一个特定的 FreeBSD 版本发行时, 这些标签代表了一个指定的时间点。发布工程进程在 link:https://www.FreeBSD.org/releng/[Release Engineering Information] 和 link:{releng}#release-proc/[Release Process] 文档中被详细描述。 [.filename]#src# 树使用以 `RELENG_` 开头的标签。 [.filename]#ports# 和 [.filename]#doc# 树使用以 `RELEASE` 开头的标签。 最后, [.filename]#www# 树上不会有任何特定发行版的标签。 RELENG_8_2_0_RELEASE:: FreeBSD 8.2 RELENG_8_1_0_RELEASE:: FreeBSD 8.1 RELENG_8_0_0_RELEASE:: FreeBSD 8.0 RELENG_7_4_0_RELEASE:: FreeBSD 7.4 RELENG_7_3_0_RELEASE:: FreeBSD 7.3 RELENG_7_2_0_RELEASE:: FreeBSD 7.2 RELENG_7_1_0_RELEASE:: FreeBSD 7.1 RELENG_7_0_0_RELEASE:: FreeBSD 7.0 RELENG_6_4_0_RELEASE:: FreeBSD 6.4 RELENG_6_3_0_RELEASE:: FreeBSD 6.3 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 [[mirrors-afs]] == AFS 站点 FreeBSD 的 AFS 服务器运行于下面的站点: 瑞典:: 文件的路径是: [.filename]#/afs/stacken.kth.se/ftp/pub/FreeBSD/# + [.programlisting] .... 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 .... + 维护者 mailto:ftp@stacken.kth.se[ftp@stacken.kth.se] [[mirrors-rsync]] == rsync 站点 下面的站点让 FreeBSD 可以通过 rsync 协议下载。 rsync 实用程序和 man:rcp[1] 的工作方式很相像, 但是有更多的选项,使用 rsync 远程更新协议只传输 两份文件的不同之处, 因此能够大幅度的提高网络同步速率。 如果您是 FreeBSD FTP 服务器或者 CVS 仓库的镜像站点, 这一点非常有用。 rsync 套件可以工作在许多种 操作系统上,在 FreeBSD 上,查看 package:net/rsync[] port 或者使用 package。 捷克共和国:: rsync://ftp.cz.FreeBSD.org/ + 可用的 collection: ** ftp: FreeBSD FTP 服务器的 部分镜像。 ** FreeBSD: FreeBSD FTP 服务器的 完整镜像。 荷兰:: rsync://ftp.nl.FreeBSD.org/ + 可用的 collection: ** FreeBSD: 对于 FreeBSD FTP 服务器的完整镜像。 俄罗斯:: rsync://ftp.mtu.ru/ + 可用的 collections: ** FreeBSD: 完整的 FreeBSD FTP 服务器镜像。 ** FreeBSD-gnats: GNATS 问题追踪数据库。 ** FreeBSD-Archive: FreeBSD 档案的 FTP 服务器镜像。 瑞典:: rsync://ftp4.se.freebsd.org/ + 可用的 collections: ** FreeBSD: FreeBSD FTP 服务器的完整镜像。 台湾地区 (中国):: rsync://ftp.tw.FreeBSD.org/ + rsync://ftp2.tw.FreeBSD.org/ + rsync://ftp6.tw.FreeBSD.org/ + 可用的 collection: ** FreeBSD: FreeBSD FTP 服务器的完整镜像。 英国:: rsync://rsync.mirrorservice.org/ + 可用的 collection: ** sites/ftp.FreeBSD.org: FreeBSD FTP 服务器 的完整镜像。 美国:: rsync://ftp-master.FreeBSD.org/ + 服务器只供 FreeBSD 主镜像站点使用。 + 可用的 collection: ** FreeBSD:FreeBSD FTP 服务器的主要存档。 ** acl:FreeBSD 主 ACL 列表。 + rsync://ftp13.FreeBSD.org/ + 可用的 collection: ** FreeBSD:FreeBSD FTP 服务器的完整 镜像。 diff --git a/shared/da/mailing-lists.adoc b/shared/da/mailing-lists.adoc index 76e3bc8b8a..d7f240129e 100644 --- a/shared/da/mailing-lists.adoc +++ b/shared/da/mailing-lists.adoc @@ -1,272 +1,272 @@ // // Navne på FreeBSD mailing lister og relateret software. // $FreeBSD$ // -:mailman-lists-desc: FreeBSD list server -:mailman-lists-url: https://lists.freebsd.org -:mailman-lists: {mailman-lists-url}[{mailman-lists-desc}] +:mailing-lists-desc: FreeBSD list server +:mailing-lists-url: https://lists.freebsd.org +:mailing-lists: {mailing-lists-url}[{mailing-lists-desc}] :advocacy-desc: FreeBSD fremmelses mailing liste :advocacy-email: freebsd-advocacy@FreeBSD.org :advocacy: {advocacy-email}[{advocacy-desc}] :afs-desc: FreeBSD AFS porterings mailing liste :afs-email: freebsd-afs@FreeBSD.org :afs: {afs-email}[{afs-desc}] :aic7xxx-desc: FreeBSD Adaptec AIC7xxx diskussions mailing liste :aic7xxx-email: freebsd-aic7xxx@FreeBSD.org :aic7xxx: {aic7xxx-email}[{aic7xxx-desc}] :alpha-desc: FreeBSD Alpha porterings mailing liste :alpha-email: freebsd-alpha@FreeBSD.org :alpha: {alpha-email}[{alpha-desc}] :announce-desc: FreeBSD annoncerings mailing liste :announce-email: freebsd-announce@FreeBSD.org :announce: {announce-email}[{announce-desc}] :arch-desc: FreeBSD arkitektur og design mailing liste :arch-email: freebsd-arch@FreeBSD.org :arch: {arch-email}[{arch-desc}] :arm-desc: FreeBSD ARM porterings mailing liste :arm-email: freebsd-arm@FreeBSD.org :arm: {arm-email}[{arm-desc}] :atm-desc: FreeBSD ATM netværks mailing liste :atm-email: freebsd-atm@FreeBSD.org :atm: {atm-email}[{atm-desc}] :audit-desc: FreeBSD kildekode auditerings mailing liste :audit-email: freebsd-audit@FreeBSD.org :audit: {audit-email}[{audit-desc}] :binup-desc: FreeBSD binær opdaterings system mailing liste :binup-email: freebsd-binup@FreeBSD.org :binup: {binup-email}[{binup-desc}] :bugbusters-desc: FreeBSD bugbusters mailing liste :bugbusters-email: freebsd-bugbusters@FreeBSD.org :bugbusters: {bugbusters-email}[{bugbusters-desc}] :bugs-desc: FreeBSD problem rapports mailing liste :bugs-email: freebsd-bugs@FreeBSD.org :bugs: {bugs-email}[{bugs-desc}] :chat-desc: FreeBSD snak mailing liste :chat-email: freebsd-chat@FreeBSD.org :chat: {chat-email}[{chat-desc}] :cluster-desc: FreeBSD clustering mailing liste :cluster-email: freebsd-cluster@FreeBSD.org :cluster: {cluster-email}[{cluster-desc}] :committers-desc: FreeBSD committer mailing liste :committers-email: cvs-committers@FreeBSD.org :committers: {committers-email}[{committers-desc}] :config-desc: FreeBSD installation og konfigurations værktøjs mailing liste :config-email: freebsd-config@FreeBSD.org :config: {config-email}[{config-desc}] :core-desc: FreeBSD core team :core-email: freebsd-core@FreeBSD.org :core: {core-email}[{core-desc}] :current-desc: FreeBSD-CURRENT mailing liste :current-email: freebsd-current@FreeBSD.org :current: {current-email}[{current-desc}] :cvsall-desc: FreeBSD CVS commit beskeds mailing liste :cvsall-email: cvs-all@FreeBSD.org :cvsall: {cvsall-email}[{cvsall-desc}] :database-desc: FreeBSD baserede Databaser mailing liste :database-email: freebsd-database@FreeBSD.org :database: {database-email}[{database-desc}] :developers-desc: FreeBSD developers mailing liste :developers-email: freebsd-developers@FreeBSD.org :developers: {developers-email}[{developers-desc}] :doc-desc: FreeBSD dokumentations projekt mailing liste :doc-email: freebsd-doc@FreeBSD.org :doc: {doc-email}[{doc-desc}] :emulation-desc: FreeBSD-emulation mailing liste :emulation-email: freebsd-emulation@FreeBSD.org :emulation: {emulation-email}[{emulation-desc}] :firewire-desc: FreeBSD FireWire (IEEE 1394) diskussions mailing liste :firewire-email: freebsd-firewire@FreeBSD.org :firewire: {firewire-email}[{firewire-desc}] :fs-desc: FreeBSD filsystem projekt mailing liste :fs-email: freebsd-fs@FreeBSD.org :fs: {fs-email}[{fs-desc}] :gnome-desc: FreeBSD GNOME og GNOME programmer mailing liste :gnome-email: freebsd-gnome@FreeBSD.org :gnome: {gnome-email}[{gnome-desc}] :hackers-desc: FreeBSD teknisk diskussions mailing liste :hackers-email: freebsd-hackers@FreeBSD.org :hackers: {hackers-email}[{hackers-desc}] :hardware-desc: FreeBSD hardware og udstyrs mailing liste :hardware-email: freebsd-hardware@FreeBSD.org :hardware: {hardware-email}[{hardware-desc}] :hubs-desc: FreeBSD mirror sites mailing liste :hubs-email: freebsd-hubs@FreeBSD.org :hubs: {hubs-email}[{hubs-desc}] :i18n-desc: FreeBSD internationaliserings mailing liste :i18n-email: freebsd-i18n@FreeBSD.org :i18n: {i18n-email}[{i18n-desc}] :ia64-desc: FreeBSD IA64 porterings mailing liste :ia64-email: freebsd-ia64@FreeBSD.org :ia64: {ia64-email}[{ia64-desc}] :install-desc: FreeBSD installation udviklings mailing liste :install-email: freebsd-install@FreeBSD.org :install: {install-email}[{install-desc}] :ipfw-desc: FreeBSD IPFW kode mailing liste :ipfw-email: freebsd-ipfw@FreeBSD.org :ipfw: {ipfw-email}[{ipfw-desc}] :isdn-desc: FreeBSD ISDN mailing liste :isdn-email: freebsd-isdn@FreeBSD.org :isdn: {isdn-email}[{isdn-desc}] :isp-desc: FreeBSD Internet service provider's mailing liste :isp-email: freebsd-isp@FreeBSD.org :isp: {isp-email}[{isp-desc}] :java-desc: FreeBSD Java sprog mailing liste :java-email: freebsd-java@FreeBSD.org :java: {java-email}[{java-desc}] :jobs-desc: FreeBSD relateret beskæftigelse mailing liste :jobs-email: freebsd-jobs@FreeBSD.org :jobs: {jobs-email}[{jobs-desc}] :lfs-desc: FreeBSD LFS porterings mailing liste :lfs-email: freebsd-lfs@FreeBSD.org :lfs: {lfs-email}[{lfs-desc}] :libh-desc: FreeBSD libh installation og pakke system mailing liste :libh-email: freebsd-libh@FreeBSD.org :libh: {libh-email}[{libh-desc}] :mips-desc: FreeBSD MIPS porterings mailing liste :mips-email: freebsd-mips@FreeBSD.org :mips: {mips-email}[{mips-desc}] :mobile-desc: FreeBSD laptop computer mailing liste :mobile-email: freebsd-mobile@FreeBSD.org :mobile: {mobile-email}[{mobile-desc}] :mozilla-desc: FreeBSD port af Mozilla browseren mailing liste :mozilla-email: freebsd-mozilla@FreeBSD.org :mozilla: {mozilla-email}[{mozilla-desc}] :multimedia-desc: FreeBSD multimedia mailing liste :multimedia-email: freebsd-multimedia@FreeBSD.org :multimedia: {multimedia-email}[{multimedia-desc}] :net-desc: FreeBSD netværks mailing liste :net-email: freebsd-net@FreeBSD.org :net: {net-email}[{net-desc}] :newbies-desc: FreeBSD nye brugere mailing liste :newbies-email: freebsd-newbies@FreeBSD.org :newbies: {newbies-email}[{newbies-desc}] :newbus-desc: Ny Bus Arkitektur mailing liste :newbus-email: new-bus-arch@bostonradio.org :newbus: {newbus-email}[{newbus-desc}] :platforms-desc: FreeBSD non-Intel platforms porterings mailing liste :platforms-email: freebsd-platforms@FreeBSD.org :platforms: {platforms-email}[{platforms-desc}] :policy-desc: FreeBSD core team politisk beslutnings mailing liste :policy-email: freebsd-policy@FreeBSD.org :policy: {policy-email}[{policy-desc}] :ports-desc: FreeBSD ports mailing liste :ports-email: freebsd-ports@FreeBSD.org :ports: {ports-email}[{ports-desc}] :ppc-desc: FreeBSD PowerPC portering mailing liste :ppc-email: freebsd-ppc@FreeBSD.org :ppc: {ppc-email}[{ppc-desc}] :qa-desc: FreeBSD Kvalitets assurance mailing liste :qa-email: freebsd-qa@FreeBSD.org :qa: {qa-email}[{qa-desc}] :questions-desc: FreeBSD generelle spørgsmåls mailing liste :questions-email: freebsd-questions@FreeBSD.org :questions: {questions-email}[{questions-desc}] :realtime-desc: FreeBSD realtime extensions mailing liste :realtime-email: freebsd-realtime@FreeBSD.org :realtime: {realtime-email}[{realtime-desc}] :scsi-desc: FreeBSD SCSI subsystem mailing liste :scsi-email: freebsd-scsi@FreeBSD.org :scsi: {scsi-email}[{scsi-desc}] :security-desc: FreeBSD sikkerheds mailing liste :security-email: freebsd-security@FreeBSD.org :security: {security-email}[{security-desc}] :security-notifications-desc: FreeBSD sikkerheds notifikationer mailing liste :security-notifications-email: freebsd-security-notifications@FreeBSD.org :security-notifications: {security-notifications-email}[{security-notifications-desc}] :small-desc: FreeBSD-small mailing liste :small-email: freebsd-small@FreeBSD.org :small: {small-email}[{small-desc}] :smp-desc: FreeBSD symmetrisk multiprocessing mailing liste :smp-email: freebsd-smp@FreeBSD.org :smp: {smp-email}[{smp-desc}] :sparc-desc: FreeBSD SPARC porterings mailing liste :sparc-email: freebsd-sparc@FreeBSD.org :sparc: {sparc-email}[{sparc-desc}] :stable-desc: FreeBSD-STABLE mailing liste :stable-email: freebsd-stable@FreeBSD.org :stable: {stable-email}[{stable-desc}] :standards-desc: FreeBSD C99 og POSIX compliance mailing liste :standards-email: freebsd-standards@FreeBSD.org :standards: {standards-email}[{standards-desc}] :test-desc: FreeBSD test mailing liste :test-email: freebsd-test@FreeBSD.org :test: {test-email}[{test-desc}] :tokenring-desc: FreeBSD tokenring mailing liste :tokenring-email: freebsd-tokenring@FreeBSD.org :tokenring: {tokenring-email}[{tokenring-desc}] :usergroups-desc: FreeBSD bruger gruppe koordinations mailing liste :usergroups-email: freebsd-user-groups@FreeBSD.org :usergroups: {usergroups-email}[{usergroups-desc}] :vendors-desc: FreeBSD leverandør pre-release koordinations mailing liste :vendors-email: freebsd-vendors@FreeBSD.org :vendors: {vendors-email}[{vendors-desc}] :www-desc: FreeBSD Webmaster mailing liste :www-email: freebsd-www@FreeBSD.org :www: {www-email}[{www-desc}] diff --git a/shared/de/mailing-lists.adoc b/shared/de/mailing-lists.adoc index 5ddfe949cb..79908c82ad 100644 --- a/shared/de/mailing-lists.adoc +++ b/shared/de/mailing-lists.adoc @@ -1,693 +1,693 @@ // // Namen der FreeBSD Mailinglisten und verwandter Software // $FreeBSD$ // -:mailman-lists-desc: FreeBSD list server -:mailman-lists-url: https://lists.freebsd.org -:mailman-lists: {mailman-lists-url}[{mailman-lists-desc}] +:mailing-lists-desc: FreeBSD list server +:mailing-lists-url: https://lists.freebsd.org +:mailing-lists: {mailing-lists-url}[{mailing-lists-desc}] // Deutsche Mailinglisten :de-doc-desc: FreeBSD German Documentation Project :de-doc-email: de-bsd-translators@de.FreeBSD.org :de-doc: {de-doc-desc} <{de-doc-email}> :de-questions-desc: Fragen und Antworten zu FreeBSD :de-questions-email: de-bsd-questions@de.FreeBSD.org :de-questions: {de-questions-desc} <{de-questions-email}> // Die Originale :freebsd-acpi-desc: FreeBSD ACPI :freebsd-acpi-url: https://lists.FreeBSD.org/subscription/freebsd-acpi :freebsd-acpi: {freebsd-acpi-url}[{freebsd-acpi-desc}] :freebsd-advocacy-desc: FreeBSD advocacy :freebsd-advocacy-url: https://lists.FreeBSD.org/subscription/freebsd-advocacy :freebsd-advocacy: {freebsd-advocacy-url}[{freebsd-advocacy-desc}] :freebsd-aic7xxx-desc: FreeBSD Adapteci AIC7xxx discussions :freebsd-aic7xxx-url: https://lists.FreeBSD.org/subscription/aic7xxx :freebsd-aic7xxx: {freebsd-aic7xxx-url}[{freebsd-aic7xxx-desc}] :freebsd-amd64-desc: Porting FreeBSD to AMD64 systems :freebsd-amd64-url: https://lists.FreeBSD.org/subscription/freebsd-amd64 :freebsd-amd64: {freebsd-amd64-url}[{freebsd-amd64-desc}] :freebsd-announce-desc: FreeBSD announcements :freebsd-announce-url: https://lists.FreeBSD.org/subscription/freebsd-announce :freebsd-announce: {freebsd-announce-url}[{freebsd-announce-desc}] :freebsd-apache-desc: FreeBSD Apache :freebsd-apache-url: https://lists.FreeBSD.org/subscription/freebsd-apache :freebsd-apache: {freebsd-apache-url}[{freebsd-apache-desc}] :freebsd-arch-desc: FreeBSD architecture and design :freebsd-arch-url: https://lists.FreeBSD.org/subscription/freebsd-arch :freebsd-arch: {freebsd-arch-url}[{freebsd-arch-desc}] :freebsd-arm-desc: FreeBSD ARM porting :freebsd-arm-url: https://lists.FreeBSD.org/subscription/freebsd-arm :freebsd-arm: {freebsd-arm-url}[{freebsd-arm-desc}] :freebsd-atm-desc: FreeBSD ATM networking :freebsd-atm-url: https://lists.FreeBSD.org/subscription/freebsd-atm :freebsd-atm: {freebsd-atm-url}[{freebsd-atm-desc}] :freebsd-bluetooth-desc: FreeBSD Bluetooth mailing list :freebsd-bluetooth-url: https://lists.FreeBSD.org/subscription/freebsd-bluetooth :freebsd-bluetooth: {freebsd-bluetooth-url}[{freebsd-bluetooth-desc}] :freebsd-bugbusters-desc: FreeBSD bugbusters :freebsd-bugbusters-url: https://lists.FreeBSD.org/subscription/freebsd-bugbusters :freebsd-bugbusters: {freebsd-bugbusters-url}[{freebsd-bugbusters-desc}] :freebsd-bugs-desc: FreeBSD problem reports :freebsd-bugs-url: https://lists.FreeBSD.org/subscription/freebsd-bugs :freebsd-bugs: {freebsd-bugs-url}[{freebsd-bugs-desc}] :freebsd-chat-desc: FreeBSD chat :freebsd-chat-url: https://lists.FreeBSD.org/subscription/freebsd-chat :freebsd-chat: {freebsd-chat-url}[{freebsd-chat-desc}] :freebsd-chromium-desc: FreeBSD-specific Chromium issues :freebsd-chromium-url: https://lists.FreeBSD.org/subscription/freebsd-chromium :freebsd-chromium: {freebsd-chromium-url}[{freebsd-chromium-desc}] :freebsd-cloud-desc: FreeBSD on cloud platforms (EC2, GCE, Azure, etc.) :freebsd-cloud-url: https://lists.FreeBSD.org/subscription/freebsd-cloud :freebsd-cloud: {freebsd-cloud-url}[{freebsd-cloud-desc}] :freebsd-cluster-desc: FreeBSD clustering :freebsd-cluster-url: https://lists.FreeBSD.org/subscription/freebsd-cluster :freebsd-cluster: {freebsd-cluster-url}[{freebsd-cluster-desc}] :freebsd-current-desc: FreeBSD-CURRENT :freebsd-current-url: https://lists.FreeBSD.org/subscription/freebsd-current :freebsd-current: {freebsd-current-url}[{freebsd-current-desc}] :ctm-announce-desc: CTM announcements :ctm-announce-url: https://lists.FreeBSD.org/subscription/ctm-announce :ctm-announce: {ctm-announce-url}[{ctm-announce-desc}] :ctm-src-4-desc: CTM 4-STABLE src branch distribution :ctm-src-4-url: https://lists.FreeBSD.org/subscription/ctm-src-4 :ctm-src-4: {ctm-src-4-url}[{ctm-src-4-desc}] :ctm-src-5-desc: CTM 5-STABLE src branch distribution mailing list :ctm-src-5-url: https://lists.FreeBSD.org/subscription/ctm-src-5 :ctm-src-5: {ctm-src-5-url}[{ctm-src-5-desc}] :ctm-src-6-desc: CTM 6-STABLE src branch distribution mailing list :ctm-src-6-url: https://lists.FreeBSD.org/subscription/ctm-src-6 :ctm-src-6: {ctm-src-6-url}[{ctm-src-6-desc}] :ctm-src-7-desc: CTM 7-STABLE src branch distribution mailing list :ctm-src-7-url: https://lists.FreeBSD.org/subscription/ctm-src-7 :ctm-src-7: {ctm-src-7-url}[{ctm-src-7-desc}] :ctm-src-8-desc: CTM 8-STABLE src branch distribution mailing list :ctm-src-8-url: https://lists.FreeBSD.org/subscription/ctm-src-8 :ctm-src-8: {ctm-src-8-url}[{ctm-src-8-desc}] :ctm-src-9-desc: CTM 9-STABLE src branch distribution mailing list :ctm-src-9-url: https://lists.FreeBSD.org/subscription/ctm-src-9 :ctm-src-9: {ctm-src-9-url}[{ctm-src-9-desc}] :ctm-src-cur-desc: CTM -CURRENT src branch distribution :ctm-src-cur-url: https://lists.FreeBSD.org/subscription/ctm-src-cur :ctm-src-cur: {ctm-src-cur-url}[{ctm-src-cur-desc}] :ctm-users-desc: CTM user discussion :ctm-users-url: https://lists.FreeBSD.org/subscription/ctm-users :ctm-users: {ctm-users-url}[{ctm-users-desc}] :cvs-all-desc: FreeBSD CVS commit message :cvs-all-url: https://lists.FreeBSD.org/subscription/cvs-all :cvs-all: {cvs-all-url}[{cvs-all-desc}] :cvs-doc-desc: FreeBSD CVS doc commit :cvs-doc-url: https://lists.FreeBSD.org/subscription/cvs-doc :cvs-doc: {cvs-doc-url}[{cvs-doc-desc}] :cvs-ports-desc: FreeBSD CVS ports commit :cvs-ports-url: https://lists.FreeBSD.org/subscription/cvs-ports :cvs-ports: {cvs-ports-url}[{cvs-ports-desc}] :cvs-projects-desc: FreeBSD CVS projects commit :cvs-projects-url: https://lists.FreeBSD.org/subscription/cvs-projects :cvs-projects: {cvs-projects-url}[{cvs-projects-desc}] :cvs-src-desc: FreeBSD CVS src commit :cvs-src-url: https://lists.FreeBSD.org/subscription/cvs-src :cvs-src: {cvs-src-url}[{cvs-src-desc}] :freebsd-database-desc: FreeBSD based Databases :freebsd-database-url: https://lists.FreeBSD.org/subscription/freebsd-database :freebsd-database: {freebsd-database-url}[{freebsd-database-desc}] :freebsd-desktop-desc: FreeBSD als Desktop verwenden und verbessern :freebsd-desktop-url: https://lists.FreeBSD.org/subscription/freebsd-desktop :freebsd-desktop: {freebsd-desktop-url}[{freebsd-desktop-desc}] :dev-ci-desc: Automated reports of build and test results from FreeBSD's continuous integration tools. :dev-ci-url: https://lists.FreeBSD.org/subscription/dev-ci :dev-ci: {dev-ci-url}[{dev-ci-desc}] :dev-reviews-desc: Automated notifications of work in progress for review in FreeBSD's review tools,including patches. :dev-reviews-url: https://lists.FreeBSD.org/subscription/dev-reviews :dev-reviews: {dev-reviews-url}[{dev-reviews-desc}] :freebsd-drivers-desc: Writing device drivers for FreeBSD :freebsd-drivers-url: https://lists.FreeBSD.org/subscription/freebsd-drivers :freebsd-drivers: {freebsd-drivers-url}[{freebsd-drivers-desc}] :freebsd-doc-desc: FreeBSD documentation project :freebsd-doc-url: https://lists.FreeBSD.org/subscription/freebsd-doc :freebsd-doc: {freebsd-doc-url}[{freebsd-doc-desc}] :freebsd-dtrace-desc: Using and working on DTrace in FreeBSD. :freebsd-dtrace-url: https://lists.FreeBSD.org/subscription/freebsd-dtrace :freebsd-dtrace: {freebsd-dtrace-url}[{freebsd-dtrace-desc}] :freebsd-eclipse-desc: FreeBSD users of Eclipse EDI, tools, rich client apps and ports. :freebsd-eclipse-url: https://lists.FreeBSD.org/subscription/freebsd-eclipse :freebsd-eclipse: {freebsd-eclipse-url}[{freebsd-eclipse-desc}] :freebsd-elastic-desc: FreeBSD specific ElasticSearch mailing list :freebsd-elastic-url: https://lists.FreeBSD.org/subscription/freebsd-elastic :freebsd-elastic: {freebsd-elastic-url}[{freebsd-elastic-desc}] :freebsd-embedded-desc: FreeBSD-embedded mailing list :freebsd-embedded-url: https://lists.FreeBSD.org/subscription/freebsd-embedded :freebsd-embedded: {freebsd-embedded-url}[{freebsd-embedded-desc}] :freebsd-emulation-desc: FreeBSD-emulation :freebsd-emulation-url: https://lists.FreeBSD.org/subscription/freebsd-emulation :freebsd-emulation: {freebsd-emulation-url}[{freebsd-emulation-desc}] :freebsd-enlightenment-desc: FreeBSD-enlightenment mailing list :freebsd-enlightenment-url: https://lists.FreeBSD.org/subscription/freebsd-enlightenment :freebsd-enlightenment: {freebsd-enlightenment-url}[{freebsd-enlightenment-desc}] :freebsd-eol-desc: FreeBSD-eol mailing list :freebsd-eol-url: https://lists.FreeBSD.org/subscription/freebsd-eol :freebsd-eol: {freebsd-eol-url}[{freebsd-eol-desc}] :freebsd-erlang-desc: FreeBSD-erlang mailing list :freebsd-erlang-url: https://lists.FreeBSD.org/subscription/freebsd-erlang :freebsd-erlang: {freebsd-erlang-url}[{freebsd-erlang-desc}] :freebsd-firewire-desc: FreeBSD FireWire (IEEE 1394) discussion :freebsd-firewire-url: https://lists.FreeBSD.org/subscription/freebsd-firewire :freebsd-firewire: {freebsd-firewire-url}[{freebsd-firewire-desc}] :freebsd-fortran-desc: Fortran on FreeBSD mailing list :freebsd-fortran-url: https://lists.FreeBSD.org/subscription/freebsd-fortran :freebsd-fortran: {freebsd-fortran-url}[{freebsd-fortran-desc}] :freebsd-fs-desc: FreeBSD filesystem project :freebsd-fs-url: https://lists.FreeBSD.org/subscription/freebsd-fs :freebsd-fs: {freebsd-fs-url}[{freebsd-fs-desc}] :freebsd-games-desc: Games on FreeBSD mailing list :freebsd-games-url: https://lists.FreeBSD.org/subscription/freebsd-games :freebsd-games: {freebsd-games-url}[{freebsd-games-desc}] :freebsd-gecko-desc: FreeBSD gecko mailing list :freebsd-gecko-url: https://lists.FreeBSD.org/subscription/freebsd-gecko :freebsd-gecko: {freebsd-gecko-url}[{freebsd-gecko-desc}] :freebsd-geom-desc: FreeBSD GEOM :freebsd-geom-url: https://lists.FreeBSD.org/subscription/freebsd-geom :freebsd-geom: {freebsd-geom-url}[{freebsd-geom-desc}] :freebsd-git-desc: Discussion of git use in the FreeBSD project :freebsd-git-url: https://lists.FreeBSD.org/subscription/freebsd-git :freebsd-git: {freebsd-git-url}[{freebsd-git-desc}] :freebsd-gnome-desc: FreeBSD GNOME and GNOME applications :freebsd-gnome-url: https://lists.FreeBSD.org/subscription/freebsd-gnome :freebsd-gnome: {freebsd-gnome-url}[{freebsd-gnome-desc}] :freebsd-hackers-desc: FreeBSD technical discussions :freebsd-hackers-url: https://lists.FreeBSD.org/subscription/freebsd-hackers :freebsd-hackers: {freebsd-hackers-url}[{freebsd-hackers-desc}] :freebsd-hardware-desc: FreeBSD hardware and equipment :freebsd-hardware-url: https://lists.FreeBSD.org/subscription/freebsd-hardware :freebsd-hardware: {freebsd-hardware-url}[{freebsd-hardware-desc}] :freebsd-haskell-desc: FreeBSD-specific Haskell issues and discussions :freebsd-haskell-url: https://lists.FreeBSD.org/subscription/freebsd-haskell :freebsd-haskell: {freebsd-haskell-url}[{freebsd-haskell-desc}] :freebsd-hubs-desc: FreeBSD mirror sites :freebsd-hubs-url: https://lists.FreeBSD.org/subscription/freebsd-hubs :freebsd-hubs: {freebsd-hubs-url}[{freebsd-hubs-desc}] :freebsd-i18n-desc: FreeBSD internationalization :freebsd-i18n-url: https://lists.FreeBSD.org/subscription/freebsd-i18n :freebsd-i18n: {freebsd-i18n-url}[{freebsd-i18n-desc}] :freebsd-i386-desc: FreeBSD i386-specific issues :freebsd-i386-url: https://lists.FreeBSD.org/subscription/freebsd-i386 :freebsd-i386: {freebsd-i386-url}[{freebsd-i386-desc}] :freebsd-ia64-desc: FreeBSD IA64 porting :freebsd-ia64-url: https://lists.FreeBSD.org/subscription/freebsd-ia64 :freebsd-ia64: {freebsd-ia64-url}[{freebsd-ia64-desc}] :freebsd-infiniband-desc: Infiniband on FreeBSD :freebsd-infiniband-url: https://lists.FreeBSD.org/subscription/freebsd-infiniband :freebsd-infiniband: {freebsd-infiniband-url}[{freebsd-infiniband-desc}] :freebsd-ipfw-desc: FreeBSD IPFW code :freebsd-ipfw-url: https://lists.FreeBSD.org/subscription/freebsd-ipfw :freebsd-ipfw: {freebsd-ipfw-url}[{freebsd-ipfw-desc}] :freebsd-isdn-desc: FreeBSD ISDN :freebsd-isdn-url: https://lists.FreeBSD.org/subscription/freebsd-isdn :freebsd-isdn: {freebsd-isdn-url}[{freebsd-isdn-desc}] :freebsd-isp-desc: FreeBSD Internet service providers :freebsd-isp-url: https://lists.FreeBSD.org/subscription/freebsd-isp :freebsd-isp: {freebsd-isp-url}[{freebsd-isp-desc}] :freebsd-jail-desc: FreeBSD jails mailing list :freebsd-jail-url: https://lists.FreeBSD.org/subscription/freebsd-jail :freebsd-jail: {freebsd-jail-url}[{freebsd-jail-desc}] :freebsd-java-desc: FreeBSD Java Language :freebsd-java-url: https://lists.FreeBSD.org/subscription/freebsd-java :freebsd-java: {freebsd-java-url}[{freebsd-java-desc}] :freebsd-jobs-desc: FreeBSD related employment :freebsd-jobs-url: https://lists.FreeBSD.org/subscription/freebsd-jobs :freebsd-jobs: {freebsd-jobs-url}[{freebsd-jobs-desc}] :freebsd-kde-desc: FreeBSD KDE/Qt and KDE applications :freebsd-kde-url: https://mail.kde.org/mailman/listinfo/kde-freebsd :freebsd-kde: {freebsd-kde-url}[{freebsd-kde-desc}] :freebsd-lfs-desc: FreeBSD LFS porting :freebsd-lfs-url: https://lists.FreeBSD.org/subscription/freebsd-lfs :freebsd-lfs: {freebsd-lfs-url}[{freebsd-lfs-desc}] :freebsd-mips-desc: FreeBSD MIPS porting :freebsd-mips-url: https://lists.FreeBSD.org/subscription/freebsd-mips :freebsd-mips: {freebsd-mips-url}[{freebsd-mips-desc}] :mirror-announce-desc: FreeBSD mirror site administrators :mirror-announce-url: https://lists.FreeBSD.org/subscription/mirror-announce :mirror-announce: {mirror-announce-url}[{mirror-announce-desc}] :freebsd-mono-desc: Mono and C# applications on FreeBSD :freebsd-mono-url: https://lists.FreeBSD.org/subscription/freebsd-mono :freebsd-mono: {freebsd-mono-url}[{freebsd-mono-desc}] :freebsd-multimedia-desc: FreeBSD multimedia :freebsd-multimedia-url: https://lists.FreeBSD.org/subscription/freebsd-multimedia :freebsd-multimedia: {freebsd-multimedia-url}[{freebsd-multimedia-desc}] :freebsd-net-desc: FreeBSD networking :freebsd-net-url: https://lists.FreeBSD.org/subscription/freebsd-net :freebsd-net: {freebsd-net-url}[{freebsd-net-desc}] :freebsd-newbies-desc: FreeBSD new users :freebsd-newbies-url: https://lists.FreeBSD.org/subscription/freebsd-newbies :freebsd-newbies: {freebsd-newbies-url}[{freebsd-newbies-desc}] :freebsd-new-bus-desc: New Bus Architecture :freebsd-new-bus-url: https://lists.FreeBSD.org/subscription/freebsd-new-bus :freebsd-new-bus: {freebsd-new-bus-url}[{freebsd-new-bus-desc}] :freebsd-numerics-desc: Discussions of high quality implementation of libm functions :freebsd-numerics-url: https://lists.FreeBSD.org/subscription/freebsd-numerics :freebsd-numerics: {freebsd-numerics-url}[{freebsd-numerics-desc}] :freebsd-ocaml-desc: FreeBSD-specific OCaml discussions :freebsd-ocaml-url: https://lists.FreeBSD.org/subscription/freebsd-ocaml :freebsd-ocaml: {freebsd-ocaml-url}[{freebsd-ocaml-desc}] :freebsd-office-desc: Office applications on FreeBSD :freebsd-office-url: https://lists.FreeBSD.org/subscription/freebsd-office :freebsd-office: {freebsd-office-url}[{freebsd-office-desc}] :freebsd-ops-announce-desc: Project Infrastructure Announcements :freebsd-ops-announce-url: https://lists.FreeBSD.org/subscription/freebsd-ops-announce :freebsd-ops-announce: {freebsd-ops-announce-url}[{freebsd-ops-announce-desc}] :freebsd-performance-desc: FreeBSD performance :freebsd-performance-url: https://lists.FreeBSD.org/subscription/freebsd-performance :freebsd-performance: {freebsd-performance-url}[{freebsd-performance-desc}] :freebsd-perl-desc: FreeBSD Perl :freebsd-perl-url: https://lists.FreeBSD.org/subscription/freebsd-perl :freebsd-perl: {freebsd-perl-url}[{freebsd-perl-desc}] :freebsd-pf-desc: FreeBSD packet filter mailing list :freebsd-pf-url: https://lists.FreeBSD.org/subscription/freebsd-pf :freebsd-pf: {freebsd-pf-url}[{freebsd-pf-desc}] :freebsd-pkg-desc: Binary package management and package tools discussion :freebsd-pkg-url: https://lists.FreeBSD.org/subscription/freebsd-pkg :freebsd-pkg: {freebsd-pkg-url}[{freebsd-pkg-desc}] :freebsd-pkg-fallout-desc: Fallout logs from package building :freebsd-pkg-fallout-url: https://lists.FreeBSD.org/subscription/freebsd-pkg-fallout :freebsd-pkg-fallout: {freebsd-pkg-fallout-url}[{freebsd-pkg-fallout-desc}] :freebsd-pkgbase-desc: Packaging the FreeBSD base system :freebsd-pkgbase-url: https://lists.FreeBSD.org/subscription/freebsd-pkgbase :freebsd-pkgbase: {freebsd-pkgbase-url}[{freebsd-pkgbase-desc}] :freebsd-platforms-desc: FreeBSD non-Intel platforms porting :freebsd-platforms-url: https://lists.FreeBSD.org/subscription/freebsd-platforms :freebsd-platforms: {freebsd-platforms-url}[{freebsd-platforms-desc}] :freebsd-ports-desc: FreeBSD ports :freebsd-ports-url: https://lists.FreeBSD.org/subscription/freebsd-ports :freebsd-ports: {freebsd-ports-url}[{freebsd-ports-desc}] :freebsd-ports-announce-desc: FreeBSD ports announce mailing list :freebsd-ports-announce-url: https://lists.FreeBSD.org/subscription/freebsd-ports-announce :freebsd-ports-announce: {freebsd-ports-announce-url}[{freebsd-ports-announce-desc}] :freebsd-ports-bugs-desc: FreeBSD ports bugs :freebsd-ports-bugs-url: https://lists.FreeBSD.org/subscription/freebsd-ports-bugs :freebsd-ports-bugs: {freebsd-ports-bugs-url}[{freebsd-ports-bugs-desc}] :freebsd-ppc-desc: FreeBSD PowerPC porting :freebsd-ppc-url: https://lists.FreeBSD.org/subscription/freebsd-ppc :freebsd-ppc: {freebsd-ppc-url}[{freebsd-ppc-desc}] :freebsd-proliant-desc: Technical discussion of FreeBSD on HP ProLiant server platforms :freebsd-proliant-url: https://lists.FreeBSD.org/subscription/freebsd-proliant :freebsd-proliant: {freebsd-proliant-url}[{freebsd-proliant-desc}] :freebsd-python-desc: FreeBSD Python mailing list :freebsd-python-url: https://lists.FreeBSD.org/subscription/freebsd-python :freebsd-python: {freebsd-python-url}[{freebsd-python-desc}] :freebsd-quarterly-calls-desc: Calls for quarterly FreeBSD status reports :freebsd-quarterly-calls-url: https://lists.FreeBSD.org/subscription/freebsd-quarterly-calls :freebsd-quarterly-calls: {freebsd-quarterly-calls-url}[{freebsd-quarterly-calls-desc}] :freebsd-questions-desc: FreeBSD general questions :freebsd-questions-url: https://lists.FreeBSD.org/subscription/freebsd-questions :freebsd-questions: {freebsd-questions-url}[{freebsd-questions-desc}] :freebsd-rc-desc: FreeBSD boot script system mailing list :freebsd-rc-url: https://lists.FreeBSD.org/subscription/freebsd-rc :freebsd-rc: {freebsd-rc-url}[{freebsd-rc-desc}] :freebsd-realtime-desc: FreeBSD realtime extensions :freebsd-realtime-url: https://lists.FreeBSD.org/subscription/freebsd-realtime :freebsd-realtime: {freebsd-realtime-url}[{freebsd-realtime-desc}] :freebsd-riscv-desc: FreeBSD RISC-V porting mailing list :freebsd-riscv-url: https://lists.FreeBSD.org/subscription/freebsd-riscv :freebsd-riscv: {freebsd-riscv-url}[{riscv-riscv-desc}] :freebsd-ruby-desc: FreeBSD Ruby mailing list :freebsd-ruby-url: https://lists.FreeBSD.org/subscription/freebsd-ruby :freebsd-ruby: {freebsd-ruby-url}[{freebsd-ruby-desc}] :freebsd-scsi-desc: FreeBSD SCSI subsystem :freebsd-scsi-url: https://lists.FreeBSD.org/subscription/freebsd-scsi :freebsd-scsi: {freebsd-scsi-url}[{freebsd-scsi-desc}] :freebsd-security-desc: FreeBSD security :freebsd-security-url: https://lists.FreeBSD.org/subscription/freebsd-security :freebsd-security: {freebsd-security-url}[{freebsd-security-desc}] :freebsd-security-notifications-desc: FreeBSD security notifications :freebsd-security-notifications-url: https://lists.FreeBSD.org/subscription/freebsd-security-notifications :freebsd-security-notifications: {freebsd-security-notifications-url}[{freebsd-security-notifications-desc}] :freebsd-snapshots-desc: FreeBSD Development Snapshot Announcements :freebsd-snapshots-url: https://lists.FreeBSD.org/subscription/freebsd-snapshots :freebsd-snapshots: {freebsd-snapshots-url}[{freebsd-snapshots-desc}] :freebsd-sparc64-desc: FreeBSD SPARC porting :freebsd-sparc64-url: https://lists.FreeBSD.org/subscription/freebsd-sparc64 :freebsd-sparc64: {freebsd-sparc64-url}[{freebsd-sparc64-desc}] :freebsd-stable-desc: FreeBSD-STABLE; :freebsd-stable-url: https://lists.FreeBSD.org/subscription/freebsd-stable :freebsd-stable: {freebsd-stable-url}[{freebsd-stable-desc}] :freebsd-standards-desc: FreeBSD C99 and POSIX compliance :freebsd-standards-url: https://lists.FreeBSD.org/subscription/freebsd-standards :freebsd-standards: {freebsd-standards-url}[{freebsd-standards-desc}] :freebsd-sun4v-desc: FreeBSD sun4v porting mailing list :freebsd-sun4v-url: https://lists.FreeBSD.org/subscription/freebsd-sun4v :freebsd-sun4v: {freebsd-sun4v-url}[{freebsd-sun4v-desc}] :svn-doc-all-desc: SVN commit messages for the entire doc tree (except for "user", "projects" and "translations") :svn-doc-all-url: https://lists.FreeBSD.org/subscription/svn-doc-all :svn-doc-all: {svn-doc-all-url}[{svn-doc-all-desc}] :svn-doc-head-desc: SVN commit messages for the doc tree for head :svn-doc-head-url: https://lists.FreeBSD.org/subscription/svn-doc-head :svn-doc-head: {svn-doc-head-url}[{svn-doc-head-desc}] :svn-doc-projects-desc: SVN commit messages for the doc "projects" tree :svn-doc-projects-url: https://lists.FreeBSD.org/subscription/svn-doc-projects :svn-doc-projects: {svn-doc-projects-url}[{svn-doc-projects-desc}] :svn-doc-svnadmin-desc: SVN commit messages for the admin / configuration tree :svn-doc-svnadmin-url: https://lists.FreeBSD.org/subscription/svn-doc-svnadmin :svn-doc-svnadmin: {svn-doc-svnadmin-url}[{svn-doc-svnadmin-desc}] :svn-ports-all-desc: SVN commit messages for the entire ports tree :svn-ports-all-url: https://lists.FreeBSD.org/subscription/svn-ports-all :svn-ports-all: {svn-ports-all-url}[{svn-ports-all-desc}] :svn-ports-head-desc: SVN commit messages for the ports tree for head :svn-ports-head-url: https://lists.FreeBSD.org/subscription/svn-ports-head :svn-ports-head: {svn-ports-head-url}[{svn-ports-head-desc}] :svn-ports-svnadmin-desc: SVN commit messages for the ports admin / configuration tree :svn-ports-svnadmin-url: https://lists.FreeBSD.org/subscription/svn-ports-svnadmin :svn-ports-svnadmin: {svn-ports-svnadmin-url}[{svn-ports-svnadmin-desc}] :svn-src-all-desc: SVN commit messages for the entire src tree (except for "user" and "projects") :svn-src-all-url: https://lists.FreeBSD.org/subscription/svn-src-all :svn-src-all: {svn-src-all-url}[{svn-src-all-desc}] :svn-src-head-desc: SVN commit messages for the src tree for head/-current :svn-src-head-url: https://lists.FreeBSD.org/subscription/svn-src-head :svn-src-head: {svn-src-head-url}[{svn-src-head-desc}] :svn-src-projects-desc: SVN commit messages for the src "projects" tree :svn-src-projects-url: https://lists.FreeBSD.org/subscription/svn-src-projects :svn-src-projects: {svn-src-projects-url}[{svn-src-projects-desc}] :svn-src-release-desc: SVN commit messages for releases in the src tree :svn-src-release-url: https://lists.FreeBSD.org/subscription/svn-src-release :svn-src-release: {svn-src-release-url}[{svn-src-release-desc}] :svn-src-releng-desc: SVN commit messages for the release engineering / security commits to the src tree :svn-src-releng-url: https://lists.FreeBSD.org/subscription/svn-src-releng :svn-src-releng: {svn-src-releng-url}[{svn-src-releng-desc}] :svn-src-stable-desc: SVN commit messages for all the -stable branches of the src tree :svn-src-stable-url: https://lists.FreeBSD.org/subscription/svn-src-stable :svn-src-stable: {svn-src-stable-url}[{svn-src-stable-desc}] :svn-src-stable-6-desc: SVN commit messages for only the 6-stable src tree :svn-src-stable-6-url: https://lists.FreeBSD.org/subscription/svn-src-stable-6 :svn-src-stable-6: {svn-src-stable-6-url}[{svn-src-stable-6-desc}] :svn-src-stable-7-desc: SVN commit messages for only the 7-stable src tree :svn-src-stable-7-url: https://lists.FreeBSD.org/subscription/svn-src-stable-7 :svn-src-stable-7: {svn-src-stable-7-url}[{svn-src-stable-7-desc}] :svn-src stable-8-desc: SVN commit messages for only the 8-stable src tree :svn-src stable-8-url: https://lists.FreeBSD.org/subscription/svn-src-stable-8 :svn-src stable-8: {svn-src stable-8-url}[{svn-src stable-8-desc}] :svn-src-stable-9-desc: SVN commit messages for only the 9-stable src tree :svn-src-stable-9-url: https://lists.FreeBSD.org/subscription/svn-src-stable-9 :svn-src-stable-9: {svn-src-stable-9-url}[{svn-src-stable-9-desc}] :svn-src-stable-10-desc: SVN commit messages for only the 10-stable src tree :svn-src-stable-10-url: https://lists.FreeBSD.org/subscription/svn-src-stable-10 :svn-src-stable-10: {svn-src-stable-10-url}[{svn-src-stable-10-desc}] :svn-src-stable-11-desc: SVN commit messages for only the 11-stable src tree :svn-src-stable-11-url: https://lists.FreeBSD.org/subscription/svn-src-stable-11 :svn-src-stable-11: {svn-src-stable-11-url}[{svn-src-stable-11-desc}] :svn-src-stable-12-desc: SVN commit messages for only the 12-stable src tree :svn-src-stable-12-url: https://lists.FreeBSD.org/subscription/svn-src-stable-12 :svn-src-stable-12: {svn-src-stable-12-url}[{svn-src-stable-12-desc}] :svn-src-stable-other-desc: SVN commit messages for the old stable src trees :svn-src-stable-other-url: https://lists.FreeBSD.org/subscription/svn-src-stable-other :svn-src-stable-other: {svn-src-stable-other-url}[{svn-src-stable-other-desc}] :svn-src-svnadmin-desc: SVN commit messages for the admin / configuration tree :svn-src-svnadmin-url: https://lists.FreeBSD.org/subscription/svn-src-svnadmin :svn-src-svnadmin: {svn-src-svnadmin-url}[{svn-src-svnadmin-desc}] :svn-src-user-desc: SVN commit messages for the experimental "user" src tree :svn-src-user-url: https://lists.FreeBSD.org/subscription/svn-src-user :svn-src-user: {svn-src-user-url}[{svn-src-user-desc}] :svn-src-vendor-desc: SVN commit messages for the vendor work area tree :svn-src-vendor-url: https://lists.FreeBSD.org/subscription/svn-src-vendor :svn-src-vendor: {svn-src-vendor-url}[{svn-src-vendor-desc}] :freebsd-sysinstall-desc: Sysinstall development mailing list :freebsd-sysinstall-url: https://lists.FreeBSD.org/subscription/freebsd-sysinstall :freebsd-sysinstall: {freebsd-sysinstall-url}[{freebsd-sysinstall-desc}] :freebsd-tcltk-desc: FreeBSD-specific Tcl/Tk discussions :freebsd-tcltk-url: https://lists.FreeBSD.org/subscription/freebsd-tcltk :freebsd-tcltk: {freebsd-tcltk-url}[{freebsd-tcltk-desc}] :freebsd-teaching-desc: FreeBSD teaching mailing list :freebsd-teaching-url: https://lists.FreeBSD.org/subscription/freebsd-teaching :freebsd-teaching: {freebsd-teaching-url}[{freebsd-teaching-desc}] :freebsd-test-desc: FreeBSD test :freebsd-test-url: https://lists.FreeBSD.org/subscription/freebsd-test :freebsd-test: {freebsd-test-url}[{freebsd-test-desc}] :freebsd-testing-desc: Testing on FreeBSD :freebsd-testing-url: https://lists.FreeBSD.org/subscription/freebsd-testing :freebsd-testing: {freebsd-testing-url}[{freebsd-testing-desc}] :freebsd-tex-desc: Porting TeX and its applications to FreeBSD :freebsd-tex-url: https://lists.FreeBSD.org/subscription/freebsd-tex :freebsd-tex: {freebsd-tex-url}[{freebsd-tex-desc}] :freebsd-threads-desc: FreeBSD threads :freebsd-threads-url: https://lists.FreeBSD.org/subscription/freebsd-threads :freebsd-threads: {freebsd-threads-url}[{freebsd-threads-desc}] :freebsd-tilera-desc: Porting FreeBSD to the Tilera family of CPUs :freebsd-tilera-url: https://lists.FreeBSD.org/subscription/freebsd-tilera :freebsd-tilera: {freebsd-tilera-url}[{freebsd-tilera-desc}] :freebsd-tokenring-desc: FreeBSD tokenring :freebsd-tokenring-url: https://lists.FreeBSD.org/subscription/freebsd-tokenring :freebsd-tokenring: {freebsd-tokenring-url}[{freebsd-tokenring-desc}] :freebsd-toolchain-desc: FreeBSD integrated toolchain :freebsd-toolchain-url: https://lists.FreeBSD.org/subscription/freebsd-toolchain :freebsd-toolchain: {freebsd-toolchain-url}[{freebsd-toolchain-desc}] :freebsd-translators-desc: FreeBSD translators mailing list :freebsd-translators-url: https://lists.FreeBSD.org/subscription/freebsd-translators :freebsd-translators: {freebsd-translators-url}[{freebsd-translators-desc}] :freebsd-transport-desc: FreeBSD transport mailing list :freebsd-transport-url: https://lists.FreeBSD.org/subscription/freebsd-transport :freebsd-transport: {freebsd-transport-url}[{freebsd-transport-desc}] :freebsd-usb-desc: FreeBSD USB :freebsd-usb-url: https://lists.FreeBSD.org/subscription/freebsd-usb :freebsd-usb: {freebsd-usb-url}[{freebsd-usb-desc}] :freebsd-user-groups-desc: FreeBSD user group coordination :freebsd-user-groups-url: https://lists.FreeBSD.org/subscription/freebsd-user-groups :freebsd-user-groups: {freebsd-user-groups-url}[{freebsd-user-groups-desc}] :freebsd-vendors-desc: FreeBSD vendors pre-release coordination :freebsd-vendors-url: https://lists.FreeBSD.org/subscription/freebsd-vendors :freebsd-vendors: {freebsd-vendors-url}[{freebsd-vendors-desc}] :freebsd-virtualization-desc: Discussion of various virtualization techniques supported by FreeBSD :freebsd-virtualization-url: https://lists.FreeBSD.org/subscription/freebsd-virtualization :freebsd-virtualization: {freebsd-virtualization-url}[{freebsd-virtualization-desc}] :freebsd-vuxml-desc: Diskussion über die Infrastruktur von VuXML :freebsd-vuxml-url: https://lists.FreeBSD.org/subscription/freebsd-vuxml :freebsd-vuxml: {freebsd-vuxml-url}[{freebsd-vuxml-desc}] :freebsd-wip-status-desc: FreeBSD Work-In-Progress Status :freebsd-wip-status-url: https://lists.FreeBSD.org/subscription/freebsd-wip-status :freebsd-wip-status: {freebsd-wip-status-url}[{freebsd-wip-status-desc}] :freebsd-wireless-desc: Discussions of 802.11 stack, tools, device driver development :freebsd-wireless-url: https://lists.FreeBSD.org/subscription/freebsd-wireless :freebsd-wireless: {freebsd-wireless-url}[{freebsd-wireless-desc}] :freebsd-women-desc: FreeBSD advocacy for women :freebsd-women-url: https://lists.FreeBSD.org/subscription/freebsd-women :freebsd-women: {freebsd-women-url}[{freebsd-women-desc}] :freebsd-www-desc: FreeBSD Webmaster :freebsd-www-url: https://lists.FreeBSD.org/subscription/freebsd-www :freebsd-www: {freebsd-www-url}[{freebsd-www-desc}] :freebsd-x11-desc: FreeBSD X11 mailing list :freebsd-x11-url: https://lists.FreeBSD.org/subscription/freebsd-x11 :freebsd-x11: {freebsd-x11-url}[{freebsd-x11-desc}] :freebsd-xen-desc: FreeBSD port to Xen mailing list :freebsd-xen-url: https://lists.FreeBSD.org/subscription/freebsd-xen :freebsd-xen: {freebsd-xen-url}[{freebsd-xen-desc}] :freebsd-xfce-desc: XFCE for FreeBSD mailing list :freebsd-xfce-url: https://lists.FreeBSD.org/subscription/freebsd-xfce :freebsd-xfce: {freebsd-xfce-url}[{freebsd-xfce-desc}] :freebsd-zope-desc: Zope for FreeBSD mailing list :freebsd-zope-url: https://lists.FreeBSD.org/subscription/freebsd-zope :freebsd-zope: {freebsd-zope-url}[{freebsd-zope-desc}] :committers-name: FreeBSD committer's mailing list :committers: {committers-name} :core-name: FreeBSD core team :core: {core-name} :developers-name: FreeBSD developers mailing list :developers: {committers-developers} :doc-committers-name: FreeBSD doc/ committer's mailing list :doc-committers: {doc-committers-name} :doc-developers-name: FreeBSD doc/ developers mailing list :doc-developers: {doc-developers-name} :ports-committers-name: FreeBSD ports/ committer's mailing list :ports-committers: {ports-committers-name} :ports-developers-name: FreeBSD ports/ developers mailing list :ports-developers: {ports-developers-name} :src-committers-name: FreeBSD src/ committer's mailing list :src-committers: {src-committers-name} :src-developers-name: FreeBSD src/ developers mailing list :src-developers: {src-developers-name} // Keine echten Mailinglisten, nur technische Vereinfachungen :bugfollowup: bug-followup@FreeBSD.org :bugsubmit: {bugfollowup} :majordomo: majordomo@FreeBSD.org // Die folgenden Liste wurden deaktiviert. Entities hier belassen, bis alle // Referenzen in der Doku entfernt wurden. :freebsd-alpha-desc: FreeBSD Alpha porting :freebsd-alpha-url: https://lists.FreeBSD.org/subscription/freebsd-alpha :freebsd-alpha: {freebsd-alpha-url}[{freebsd-alpha-desc}] :freebsd-qa-desc: FreeBSD Quality Assurance :freebsd-qa-url: https://lists.FreeBSD.org/subscription/freebsd-qa :freebsd-qa: {freebsd-qa-url}[{freebsd-qa-desc}] :freebsd-smp-desc: FreeBSD symmetric multiprocessing :freebsd-smp-url: https://lists.FreeBSD.org/subscription/freebsd-smp :freebsd-smp: {freebsd-smp-url}[{freebsd-smp-desc}] diff --git a/shared/el/mailing-lists.adoc b/shared/el/mailing-lists.adoc index 44f59593b9..4fe6480877 100644 --- a/shared/el/mailing-lists.adoc +++ b/shared/el/mailing-lists.adoc @@ -1,598 +1,598 @@ // // // Ονόματα από τις λίστες ηλεκτρονικού ταχυδρομείου του FreeBSD, μεταφρασμένα στην Ελληνική γλώσσα. // // The FreeBSD Greek Documentation Project // // $FreeBSD$ // -:mailman-lists-desc: εξυπηρετητής για ηλεκτρονικές λίστες του FreeBSD -:mailman-lists-url: https://lists.freebsd.org -:mailman-lists: {mailman-lists-url}[{mailman-lists-desc}] +:mailing-lists-desc: εξυπηρετητής για ηλεκτρονικές λίστες του FreeBSD +:mailing-lists-url: https://lists.freebsd.org +:mailing-lists: {mailing-lists-url}[{mailing-lists-desc}] :freebsd-acpi-desc: ηλεκτρονική λίστα για ACPI του FreeBSD :freebsd-acpi-url: https://lists.FreeBSD.org/subscription/freebsd-acpi :freebsd-acpi: {freebsd-acpi-url}[{freebsd-acpi-desc}] :freebsd-advocacy-desc: ηλεκτρονική λίστα διαφήμισης και προώθησης του FreeBSD :freebsd-advocacy-url: https://lists.FreeBSD.org/subscription/freebsd-advocacy :freebsd-advocacy: {freebsd-advocacy-url}[{freebsd-advocacy-desc}] :freebsd-afs-desc: ηλεκτρονική λίστα υλοποίησης του AFS στο FreeBSD :freebsd-afs-url: https://lists.FreeBSD.org/subscription/freebsd-afs :freebsd-afs: {freebsd-afs-url}[{freebsd-afs-desc}] :freebsd-aic7xxx-desc: ηλεκτρονική λίστα του FreeBSD για ελεγκτές Adaptec AIC7xxx :freebsd-aic7xxx-url: https://lists.FreeBSD.org/subscription/aic7xxx :freebsd-aic7xxx: {freebsd-aic7xxx-url}[{freebsd-aic7xxx-desc}] :freebsd-amd64-desc: ηλεκτρονική λίστα του FreeBSD για την πλατφόρμα AMD64 :freebsd-amd64-url: https://lists.FreeBSD.org/subscription/freebsd-amd64 :freebsd-amd64: {freebsd-amd64-url}[{freebsd-amd64-desc}] :freebsd-announce-desc: ηλεκτρονική λίστα ανακοινώσεων του FreeBSD :freebsd-announce-url: https://lists.FreeBSD.org/subscription/freebsd-announce :freebsd-announce: {freebsd-announce-url}[{freebsd-announce-desc}] :freebsd-apache-desc: ηλεκτρονική λίστα του FreeBSD για το Apache :freebsd-apache-url: https://lists.FreeBSD.org/subscription/freebsd-apache :freebsd-apache: {freebsd-apache-url}[{freebsd-apache-desc}] :freebsd-arch-desc: ηλεκτρονική λίστα αρχιτεκτονικής και σχεδιασμού του FreeBSD :freebsd-arch-url: https://lists.FreeBSD.org/subscription/freebsd-arch :freebsd-arch: {freebsd-arch-url}[{freebsd-arch-desc}] :freebsd-arm-desc: ηλεκτρονική λίστα του FreeBSD για την πλατφόρμα ARM :freebsd-arm-url: https://lists.FreeBSD.org/subscription/freebsd-arm :freebsd-arm: {freebsd-arm-url}[{freebsd-arm-desc}] :freebsd-atm-desc: ηλεκτρονική λίστα του FreeBSD για δίκτυα ATM :freebsd-atm-url: https://lists.FreeBSD.org/subscription/freebsd-atm :freebsd-atm: {freebsd-atm-url}[{freebsd-atm-desc}] :freebsd-binup-desc: ηλεκτρονική λίστα αναβάθμισης του FreeBSD με εκτελέσιμα αρχεία :freebsd-binup-url: https://lists.FreeBSD.org/subscription/freebsd-binup :freebsd-binup: {freebsd-binup-url}[{freebsd-binup-desc}] :freebsd-bluetooth-desc: ηλεκτρονική λίστα του FreeBSD για Bluetooth :freebsd-bluetooth-url: https://lists.FreeBSD.org/subscription/freebsd-bluetooth :freebsd-bluetooth: {freebsd-bluetooth-url}[{freebsd-bluetooth-desc}] :freebsd-bugbusters-desc: ηλεκτρονική λίστα της ομάδας bugbusters του FreeBSD :freebsd-bugbusters-url: https://lists.FreeBSD.org/subscription/freebsd-bugbusters :freebsd-bugbusters: {freebsd-bugbusters-url}[{freebsd-bugbusters-desc}] :freebsd-bugs-desc: ηλεκτρονική λίστα αναφορών προβλημάτων του FreeBSD :freebsd-bugs-url: https://lists.FreeBSD.org/subscription/freebsd-bugs :freebsd-bugs: {freebsd-bugs-url}[{freebsd-bugs-desc}] :freebsd-chat-desc: ηλεκτρονική λίστα γενικών συζητήσεων του FreeBSD :freebsd-chat-url: https://lists.FreeBSD.org/subscription/freebsd-chat :freebsd-chat: {freebsd-chat-url}[{freebsd-chat-desc}] :freebsd-chromium-desc: FreeBSD-specific Chromium issues :freebsd-chromium-url: https://lists.FreeBSD.org/subscription/freebsd-chromium :freebsd-chromium: {freebsd-chromium-url}[{freebsd-chromium-desc}] :freebsd-cluster-desc: ηλεκτρονική λίστα παράλληλων συστημάτων του FreeBSD :freebsd-cluster-url: https://lists.FreeBSD.org/subscription/freebsd-cluster :freebsd-cluster: {freebsd-cluster-url}[{freebsd-cluster-desc}] :freebsd-current-desc: ηλεκτρονική λίστα της έκδοσης FreeBSD-CURRENT :freebsd-current-url: https://lists.FreeBSD.org/subscription/freebsd-current :freebsd-current: {freebsd-current-url}[{freebsd-current-desc}] :ctm-announce-desc: ανακοινώσεις CTM :ctm-announce-url: https://lists.FreeBSD.org/subscription/ctm-announce :ctm-announce: {ctm-announce-url}[{ctm-announce-desc}] :ctm-cvs-cur-desc: διανομή μέσω CTM των αρχείων του CVS :ctm-cvs-cur-url: https://lists.FreeBSD.org/subscription/ctm-cvs-cur :ctm-cvs-cur: {ctm-cvs-cur-url}[{ctm-cvs-cur-desc}] :ctm-src-4-desc: ηλεκτρονική λίστα διανομής του 4-STABLE μέσω CTM :ctm-src-4-url: https://lists.FreeBSD.org/subscription/ctm-src-4 :ctm-src-4: {ctm-src-4-url}[{ctm-src-4-desc}] :ctm-src-5-desc: ηλεκτρονική λίστα διανομής του 5-STABLE μέσω CTM :ctm-src-5-url: https://lists.FreeBSD.org/subscription/ctm-src-5 :ctm-src-5: {ctm-src-5-url}[{ctm-src-5-desc}] :ctm-src-6-desc: ηλεκτρονική λίστα διανομής του 6-STABLE μέσω CTM :ctm-src-6-url: https://lists.FreeBSD.org/subscription/ctm-src-6 :ctm-src-6: {ctm-src-6-url}[{ctm-src-6-desc}] :ctm-src-7-desc: ηλεκτρονική λίστα διανομής του 7-STABLE μέσω CTM :ctm-src-7-url: https://lists.FreeBSD.org/subscription/ctm-src-7 :ctm-src-7: {ctm-src-7-url}[{ctm-src-7-desc}] :ctm-src-8-desc: ηλεκτρονική λίστα διανομής του 8-STABLE μέσω CTM :ctm-src-8-url: https://lists.FreeBSD.org/subscription/ctm-src-8 :ctm-src-8: {ctm-src-8-url}[{ctm-src-8-desc}] :ctm-src-9-desc: ηλεκτρονική λίστα διανομής του 9-STABLE μέσω CTM :ctm-src-9-url: https://lists.FreeBSD.org/subscription/ctm-src-9 :ctm-src-9: {ctm-src-9-url}[{ctm-src-9-desc}] :ctm-src-cur-desc: ηλεκτρονική λίστα διανομής του -CURRENT μέσω CTM :ctm-src-cur-url: https://lists.FreeBSD.org/subscription/ctm-src-cur :ctm-src-cur: {ctm-src-cur-url}[{ctm-src-cur-desc}] :ctm-users-desc: ηλεκτρονική λίστα γενικών συζητήσεων των χρηστών του CTM :ctm-users-url: https://lists.FreeBSD.org/subscription/ctm-users :ctm-users: {ctm-users-url}[{ctm-users-desc}] :cvs-all-desc: ηλεκτρονική λίστα μηνυμάτων CVS commit του FreeBSD CVS :cvs-all-url: https://lists.FreeBSD.org/subscription/cvs-all :cvs-all: {cvs-all-url}[{cvs-all-desc}] :cvs-doc-desc: ηλεκτρονική λίστα μηνυμάτων CVS commit τεκμηρίωσης του FreeBSD :cvs-doc-url: https://lists.FreeBSD.org/subscription/cvs-doc :cvs-doc: {cvs-doc-url}[{cvs-doc-desc}] :cvs-ports-desc: ηλεκτρονική λίστα μηνυμάτων CVS commit των FreeBSD ports :cvs-ports-url: https://lists.FreeBSD.org/subscription/cvs-ports :cvs-ports: {cvs-ports-url}[{cvs-ports-desc}] :cvs-projects-desc: ηλεκτρονική λίστα μηνυμάτων CVS commit των projects του FreeBSD :cvs-projects-url: https://lists.FreeBSD.org/subscription/cvs-projects :cvs-projects: {cvs-projects-url}[{cvs-projects-desc}] :cvs-src-desc: ηλεκτρονική λίστα μηνυμάτων CVS commit πηγαίου κώδικα του FreeBSD :cvs-src-url: https://lists.FreeBSD.org/subscription/cvs-src :cvs-src: {cvs-src-url}[{cvs-src-desc}] :freebsd-cvsweb-desc: ηλεκτρονική λίστα συντήρησης του CVSweb του FreeBSD :freebsd-cvsweb-url: https://lists.FreeBSD.org/subscription/freebsd-cvsweb :freebsd-cvsweb: {freebsd-cvsweb-url}[{freebsd-cvsweb-desc}] :freebsd-database-desc: ηλεκτρονική λίστα βάσεων δεδομένων βασισμένων στο FreeBSD :freebsd-database-url: https://lists.FreeBSD.org/subscription/freebsd-database :freebsd-database: {freebsd-database-url}[{freebsd-database-desc}] :freebsd-desktop-desc: χρήση και βελτίωση του FreeBSD ως desktop :freebsd-desktop-url: https://lists.FreeBSD.org/subscription/freebsd-desktop :freebsd-desktop: {freebsd-desktop-url}[{freebsd-desktop-desc}] :freebsd-doc-desc: ηλεκτρονική λίστα ομάδας τεκμηρίωσης του FreeBSD :freebsd-doc-url: https://lists.FreeBSD.org/subscription/freebsd-doc :freebsd-doc: {freebsd-doc-url}[{freebsd-doc-desc}] :freebsd-drivers-desc: ηλεκτρονική λίστα για την ανάπτυξη οδηγών συσκευών του FreeBSD :freebsd-drivers-url: https://lists.FreeBSD.org/subscription/freebsd-drivers :freebsd-drivers: {freebsd-drivers-url}[{freebsd-drivers-desc}] :freebsd-eclipse-desc: ηλεκτρονική λίστα του FreeBSD για τους χρήστες του Eclipse IDE :freebsd-eclipse-url: https://lists.FreeBSD.org/subscription/freebsd-eclipse :freebsd-eclipse: {freebsd-eclipse-url}[{freebsd-eclipse-desc}] :freebsd-embedded-desc: ηλεκτρονική λίστα του FreeBSD για τις embedded πλατφόρμες :freebsd-embedded-url: https://lists.FreeBSD.org/subscription/freebsd-embedded :freebsd-embedded: {freebsd-embedded-url}[{freebsd-embedded-desc}] :freebsd-emulation-desc: ηλεκτρονική λίστα του FreeBSD για εξομοίωση-εξομοιωτές :freebsd-emulation-url: https://lists.FreeBSD.org/subscription/freebsd-emulation :freebsd-emulation: {freebsd-emulation-url}[{freebsd-emulation-desc}] :freebsd-eol-desc: ηλεκτρονική λίστα FreeBSD-eol :freebsd-eol-url: https://lists.FreeBSD.org/subscription/freebsd-eol :freebsd-eol: {freebsd-eol-url}[{freebsd-eol-desc}] :freebsd-firewire-desc: ηλεκτρονική λίστα συζητήσεων για FireWire (IEEE 1394) του FreeBSD :freebsd-firewire-url: https://lists.FreeBSD.org/subscription/freebsd-firewire :freebsd-firewire: {freebsd-firewire-url}[{freebsd-firewire-desc}] :freebsd-fs-desc: ηλεκτρονική λίστα του FreeBSD για συστήματα αρχείων :freebsd-fs-url: https://lists.FreeBSD.org/subscription/freebsd-fs :freebsd-fs: {freebsd-fs-url}[{freebsd-fs-desc}] :freebsd-gecko-desc: ηλεκτρονική λίστα του FreeBSD για εφαρμογές gecko :freebsd-gecko-url: https://lists.FreeBSD.org/subscription/freebsd-gecko :freebsd-gecko: {freebsd-gecko-url}[{freebsd-gecko-desc}] :freebsd-geom-desc: ηλεκτρονική λίστα του FreeBSD για το GEOM :freebsd-geom-url: https://lists.FreeBSD.org/subscription/freebsd-geom :freebsd-geom: {freebsd-geom-url}[{freebsd-geom-desc}] :freebsd-gnome-desc: ηλεκτρονική λίστα του FreeBSD για το GNOME και τις εφαρμογές του :freebsd-gnome-url: https://lists.FreeBSD.org/subscription/freebsd-gnome :freebsd-gnome: {freebsd-gnome-url}[{freebsd-gnome-desc}] :freebsd-hackers-desc: ηλεκτρονική λίστα τεχνικών συζητήσεων του FreeBSD :freebsd-hackers-url: https://lists.FreeBSD.org/subscription/freebsd-hackers :freebsd-hackers: {freebsd-hackers-url}[{freebsd-hackers-desc}] :freebsd-hardware-desc: ηλεκτρονική λίστα του FreeBSD για υλικό κι εξαρτήματα υπολογιστών :freebsd-hardware-url: https://lists.FreeBSD.org/subscription/freebsd-hardware :freebsd-hardware: {freebsd-hardware-url}[{freebsd-hardware-desc}] :freebsd-hubs-desc: ηλεκτρονική λίστα των mirror sites του FreeBSD :freebsd-hubs-url: https://lists.FreeBSD.org/subscription/freebsd-hubs :freebsd-hubs: {freebsd-hubs-url}[{freebsd-hubs-desc}] :freebsd-i18n-desc: ηλεκτρονική λίστα διεθνοποίησης του FreeBSD :freebsd-i18n-url: https://lists.FreeBSD.org/subscription/freebsd-i18n :freebsd-i18n: {freebsd-i18n-url}[{freebsd-i18n-desc}] :freebsd-i386-desc: ηλεκτρονική λίστα του FreeBSD για την πλατφόρμα i386 :freebsd-i386-url: https://lists.FreeBSD.org/subscription/freebsd-i386 :freebsd-i386: {freebsd-i386-url}[{freebsd-i386-desc}] :freebsd-ia32-desc: ηλεκτρονική λίστα του FreeBSD για την πλατφόρμα IA32 :freebsd-ia32-url: https://lists.FreeBSD.org/subscription/freebsd-ia32 :freebsd-ia32: {freebsd-ia32-url}[{freebsd-ia32-desc}] :freebsd-ia64-desc: ηλεκτρονική λίστα του FreeBSD για την πλατφόρμα IA64 :freebsd-ia64-url: https://lists.FreeBSD.org/subscription/freebsd-ia64 :freebsd-ia64: {freebsd-ia64-url}[{freebsd-ia64-desc}] :freebsd-ipfw-desc: ηλεκτρονική λίστα του FreeBSD για το IPFW :freebsd-ipfw-url: https://lists.FreeBSD.org/subscription/freebsd-ipfw :freebsd-ipfw: {freebsd-ipfw-url}[{freebsd-ipfw-desc}] :freebsd-isdn-desc: ηλεκτρονική λίστα του FreeBSD για το υποσύστημα ISDN :freebsd-isdn-url: https://lists.FreeBSD.org/subscription/freebsd-isdn :freebsd-isdn: {freebsd-isdn-url}[{freebsd-isdn-desc}] :freebsd-isp-desc: ηλεκτρονική λίστα του FreeBSD για τους παροχείς υπηρεσιών Internet :freebsd-isp-url: https://lists.FreeBSD.org/subscription/freebsd-isp :freebsd-isp: {freebsd-isp-url}[{freebsd-isp-desc}] :freebsd-jail-desc: ηλεκτρονική λίστα του FreeBSD για τα jails :freebsd-jail-url: https://lists.FreeBSD.org/subscription/freebsd-jail :freebsd-jail: {freebsd-jail-url}[{freebsd-jail-desc}] :freebsd-java-desc: ηλεκτρονική λίστα του FreeBSD για τη γλώσσα Java :freebsd-java-url: https://lists.FreeBSD.org/subscription/freebsd-java :freebsd-java: {freebsd-java-url}[{freebsd-java-desc}] :freebsd-jobs-desc: ηλεκτρονική λίστα του FreeBSD σχετικά με εργασίες-επαγγέλματα :freebsd-jobs-url: https://lists.FreeBSD.org/subscription/freebsd-jobs :freebsd-jobs: {freebsd-jobs-url}[{freebsd-jobs-desc}] :freebsd-kde-desc: ηλεκτρονική λίστα του FreeBSD για το KDE/Qt και τις εφαρμογές του :freebsd-kde-url: http://freebsd.kde.org/mailman/listinfo/kde-freebsd :freebsd-kde: {freebsd-kde-url}[{freebsd-kde-desc}] :freebsd-lfs-desc: ηλεκτρονική λίστα του FreeBSD για το υποσύστημα LFS :freebsd-lfs-url: https://lists.FreeBSD.org/subscription/freebsd-lfs :freebsd-lfs: {freebsd-lfs-url}[{freebsd-lfs-desc}] :freebsd-mips-desc: ηλεκτρονική λίστα του FreeBSD για την πλατφόρμα MIPS :freebsd-mips-url: https://lists.FreeBSD.org/subscription/freebsd-mips :freebsd-mips: {freebsd-mips-url}[{freebsd-mips-desc}] :mirror-announce-desc: διαχειριστές των mirror sites του FreeBSD :mirror-announce-url: https://lists.FreeBSD.org/subscription/mirror-announce :mirror-announce: {mirror-announce-url}[{mirror-announce-desc}] :freebsd-mobile-desc: ηλεκτρονική λίστα του FreeBSD για φορητούς υπολογιστές :freebsd-mobile-url: https://lists.FreeBSD.org/subscription/freebsd-mobile :freebsd-mobile: {freebsd-mobile-url}[{freebsd-mobile-desc}] :freebsd-mono-desc: Εφαρμογές Mono και C# στο FreeBSD :freebsd-mono-url: https://lists.FreeBSD.org/subscription/freebsd-mono :freebsd-mono: {freebsd-mono-url}[{freebsd-mono-desc}] :freebsd-mozilla-desc: ηλεκτρονική λίστα του FreeBSD για τον φυλλομετρητή Mozilla :freebsd-mozilla-url: https://lists.FreeBSD.org/subscription/freebsd-mozilla :freebsd-mozilla: {freebsd-mozilla-url}[{freebsd-mozilla-desc}] :freebsd-multimedia-desc: ηλεκτρονική λίστα του FreeBSD για τα πολυμέσα :freebsd-multimedia-url: https://lists.FreeBSD.org/subscription/freebsd-multimedia :freebsd-multimedia: {freebsd-multimedia-url}[{freebsd-multimedia-desc}] :freebsd-net-desc: ηλεκτρονική λίστα του FreeBSD για την υποστήριξη δικτύου :freebsd-net-url: https://lists.FreeBSD.org/subscription/freebsd-net :freebsd-net: {freebsd-net-url}[{freebsd-net-desc}] :freebsd-newbies-desc: ηλεκτρονική λίστα του FreeBSD για τους νέους χρήστες :freebsd-newbies-url: https://lists.FreeBSD.org/subscription/freebsd-newbies :freebsd-newbies: {freebsd-newbies-url}[{freebsd-newbies-desc}] :freebsd-new-bus-desc: ηλεκτρονική λίστα του FreeBSD για το υποσύστημα new-bus :freebsd-new-bus-url: https://lists.FreeBSD.org/subscription/freebsd-new-bus :freebsd-new-bus: {freebsd-new-bus-url}[{freebsd-new-bus-desc}] :freebsd-numerics-desc: Συζητήσεις υλοποίησης των συναρτήσεων της libm σε υψηλή ποιότητα :freebsd-numerics-url: https://lists.FreeBSD.org/subscription/freebsd-numerics :freebsd-numerics: {freebsd-numerics-url}[{freebsd-numerics-desc}] :freebsd-office-desc: ηλεκτρονική λίστα του FreeBSD για εφαρμογές γραφείου :freebsd-office-url: https://lists.FreeBSD.org/subscription/freebsd-office :freebsd-office: {freebsd-office-url}[{freebsd-office-desc}] :freebsd-performance-desc: ηλεκτρονική λίστα του FreeBSD για υψηλές αποδόσεις :freebsd-performance-url: https://lists.FreeBSD.org/subscription/freebsd-performance :freebsd-performance: {freebsd-performance-url}[{freebsd-performance-desc}] :freebsd-perl-desc: ηλεκτρονική λίστα του FreeBSD για τη γλώσσα Perl :freebsd-perl-url: https://lists.FreeBSD.org/subscription/freebsd-perl :freebsd-perl: {freebsd-perl-url}[{freebsd-perl-desc}] :freebsd-pf-desc: ηλεκτρονική λίστα του FreeBSD για το packet filter firewall :freebsd-pf-url: https://lists.FreeBSD.org/subscription/freebsd-pf :freebsd-pf: {freebsd-pf-url}[{freebsd-pf-desc}] :freebsd-platforms-desc: ηλεκτρονική λίστα του FreeBSD για τις μη-Intel πλατφόρμες :freebsd-platforms-url: https://lists.FreeBSD.org/subscription/freebsd-platforms :freebsd-platforms: {freebsd-platforms-url}[{freebsd-platforms-desc}] :freebsd-ports-desc: ηλεκτρονική λίστα των FreeBSD ports :freebsd-ports-url: https://lists.FreeBSD.org/subscription/freebsd-ports :freebsd-ports: {freebsd-ports-url}[{freebsd-ports-desc}] :freebsd-ports-announce-desc: ηλεκτρονική λίστα ανακοινώσεων των FreeBSD ports :freebsd-ports-announce-url: https://lists.FreeBSD.org/subscription/freebsd-ports-announce :freebsd-ports-announce: {freebsd-ports-announce-url}[{freebsd-ports-announce-desc}] :freebsd-ports-bugs-desc: ηλεκτρονική λίστα αναφορών προβλημάτων των FreeBSD ports :freebsd-ports-bugs-url: https://lists.FreeBSD.org/subscription/freebsd-ports-bugs :freebsd-ports-bugs: {freebsd-ports-bugs-url}[{freebsd-ports-bugs-desc}] :freebsd-ppc-desc: ηλεκτρονική λίστα του FreeBSD για την πλατφόρμα PowerPC :freebsd-ppc-url: https://lists.FreeBSD.org/subscription/freebsd-ppc :freebsd-ppc: {freebsd-ppc-url}[{freebsd-ppc-desc}] :freebsd-proliant-desc: ηλεκτρονική λίστα του FreeBSD για τις πλατφόρμες εξυπηρετητών HP ProLiant :freebsd-proliant-url: https://lists.FreeBSD.org/subscription/freebsd-proliant :freebsd-proliant: {freebsd-proliant-url}[{freebsd-proliant-desc}] :freebsd-python-desc: ηλεκτρονική λίστα του FreeBSD για τη γλώσσα Python :freebsd-python-url: https://lists.FreeBSD.org/subscription/freebsd-python :freebsd-python: {freebsd-python-url}[{freebsd-python-desc}] :freebsd-questions-desc: ηλεκτρονική λίστα γενικών ερωτήσεων του FreeBSD :freebsd-questions-url: https://lists.FreeBSD.org/subscription/freebsd-questions :freebsd-questions: {freebsd-questions-url}[{freebsd-questions-desc}] :freebsd-rc-desc: ηλεκτρονική λίστα του FreeBSD για το σύστημα των boot script :freebsd-rc-url: https://lists.FreeBSD.org/subscription/freebsd-rc :freebsd-rc: {freebsd-rc-url}[{freebsd-rc-desc}] :freebsd-realtime-desc: ηλεκτρονική λίστα επεκτάσεων πραγματικού χρόνου του FreeBSD :freebsd-realtime-url: https://lists.FreeBSD.org/subscription/freebsd-realtime :freebsd-realtime: {freebsd-realtime-url}[{freebsd-realtime-desc}] :freebsd-ruby-desc: ηλεκτρονική λίστα του FreeBSD για τη γλώσσα Ruby :freebsd-ruby-url: https://lists.FreeBSD.org/subscription/freebsd-ruby :freebsd-ruby: {freebsd-ruby-url}[{freebsd-ruby-desc}] :freebsd-scsi-desc: ηλεκτρονική λίστα του FreeBSD για το υποσύστημα SCSI :freebsd-scsi-url: https://lists.FreeBSD.org/subscription/freebsd-scsi :freebsd-scsi: {freebsd-scsi-url}[{freebsd-scsi-desc}] :freebsd-security-desc: ηλεκτρονική λίστα του FreeBSD για θέματα ασφάλειας :freebsd-security-url: https://lists.FreeBSD.org/subscription/freebsd-security :freebsd-security: {freebsd-security-url}[{freebsd-security-desc}] :freebsd-security-notifications-desc: ηλεκτρονική λίστα Ανακοινώσεων για Θέματα Ασφάλειας του FreeBSD :freebsd-security-notifications-url: https://lists.FreeBSD.org/subscription/freebsd-security-notifications :freebsd-security-notifications: {freebsd-security-notifications-url}[{freebsd-security-notifications-desc}] :freebsd-small-desc: ηλεκτρονική λίστα του FreeBSD για μικρά συστήματα :freebsd-small-url: https://lists.FreeBSD.org/subscription/freebsd-small :freebsd-small: {freebsd-small-url}[{freebsd-small-desc}] :freebsd-sparc64-desc: ηλεκτρονική λίστα του FreeBSD για την πλατφόρμα SPARC :freebsd-sparc64-url: https://lists.FreeBSD.org/subscription/freebsd-sparc64 :freebsd-sparc64: {freebsd-sparc64-url}[{freebsd-sparc64-desc}] :freebsd-stable-desc: ηλεκτρονική λίστα του FreeBSD-STABLE; :freebsd-stable-url: https://lists.FreeBSD.org/subscription/freebsd-stable :freebsd-stable: {freebsd-stable-url}[{freebsd-stable-desc}] :freebsd-standards-desc: ηλεκτρονική λίστα του FreeBSD για τη συμβατότητα με τα πρότυπα C99 και POSIX :freebsd-standards-url: https://lists.FreeBSD.org/subscription/freebsd-standards :freebsd-standards: {freebsd-standards-url}[{freebsd-standards-desc}] :freebsd-sun4v-desc: ηλεκτρονική λίστα του FreeBSD για την πλατφόρμα sun4v :freebsd-sun4v-url: https://lists.FreeBSD.org/subscription/freebsd-sun4v :freebsd-sun4v: {freebsd-sun4v-url}[{freebsd-sun4v-desc}] :svn-doc-all-desc: μυνήματα SVN commit για όλο το δεντρο doc (εκτός από τις περιοχές "user", "projects" και "translations") :svn-doc-all-url: https://lists.FreeBSD.org/subscription/svn-doc-all :svn-doc-all: {svn-doc-all-url}[{svn-doc-all-desc}] :svn-doc-head-desc: μυνήματα SVN commit για το δεντρο doc, κλάδος head/ :svn-doc-head-url: https://lists.FreeBSD.org/subscription/svn-doc-head :svn-doc-head: {svn-doc-head-url}[{svn-doc-head-desc}] :svn-doc-projects-desc: μυνήματα SVN commit για το δεντρο doc "projects" :svn-doc-projects-url: https://lists.FreeBSD.org/subscription/svn-doc-projects :svn-doc-projects: {svn-doc-projects-url}[{svn-doc-projects-desc}] :svn-doc-svnadmin-desc: μυνήματα SVN commit για το δεντρο doc διαχείρισης και ρυθμίσεων :svn-doc-svnadmin-url: https://lists.FreeBSD.org/subscription/svn-doc-svnadmin :svn-doc-svnadmin: {svn-doc-svnadmin-url}[{svn-doc-svnadmin-desc}] :svn-ports-all-desc: μυνήματα SVN commit για όλο το δεντρο ports :svn-ports-all-url: https://lists.FreeBSD.org/subscription/svn-ports-all :svn-ports-all: {svn-ports-all-url}[{svn-ports-all-desc}] :svn-ports-head-desc: μυνήματα SVN commit για το δεντρο ports, κλάδος head/ :svn-ports-head-url: https://lists.FreeBSD.org/subscription/svn-ports-head :svn-ports-head: {svn-ports-head-url}[{svn-ports-head-desc}] :svn-ports-svnadmin-desc: μυνήματα SVN commit για το δεντρο ports διαχείρισης και ρυθμίσεων :svn-ports-svnadmin-url: https://lists.FreeBSD.org/subscription/svn-ports-svnadmin :svn-ports-svnadmin: {svn-ports-svnadmin-url}[{svn-ports-svnadmin-desc}] :svn-src-all-desc: ηλεκτρονική λίστα μηνυμάτων SVN commit πηγαίου κώδικα του FreeBSD (εξαιρούνται τα δέντρα "user" και "projects") :svn-src-all-url: https://lists.FreeBSD.org/subscription/svn-src-all :svn-src-all: {svn-src-all-url}[{svn-src-all-desc}] :svn-src-head-desc: ηλεκτρονική λίστα μηνυμάτων SVN commit πηγαίου κώδικα για τον κλάδο head/-current :svn-src-head-url: https://lists.FreeBSD.org/subscription/svn-src-head :svn-src-head: {svn-src-head-url}[{svn-src-head-desc}] :svn-src-projects-desc: ηλεκτρονική λίστα μηνυμάτων SVN commit για τον πηγαίο κώδικα του δέντρου "projects" :svn-src-projects-url: https://lists.FreeBSD.org/subscription/svn-src-projects :svn-src-projects: {svn-src-projects-url}[{svn-src-projects-desc}] :svn-src-release-desc: ηλεκτρονική λίστα μηνυμάτων SVN commit για εκδόσεις (releases) πηγαίου κώδικα :svn-src-release-url: https://lists.FreeBSD.org/subscription/svn-src-release :svn-src-release: {svn-src-release-url}[{svn-src-release-desc}] :svn-src-releng-desc: ηλεκτρονική λίστα μηνυμάτων SVN commit για διορθώσεις ασφάλειας της ομάδας release engineering στο δέντρο πηγαίου κώδικα :svn-src-releng-url: https://lists.FreeBSD.org/subscription/svn-src-releng :svn-src-releng: {svn-src-releng-url}[{svn-src-releng-desc}] :svn-src-stable-desc: ηλεκτρονική λίστα μηνυμάτων SVN commit για όλους τους κλάδους -stable του δέντρου πηγαίου κώδικα :svn-src-stable-url: https://lists.FreeBSD.org/subscription/svn-src-stable :svn-src-stable: {svn-src-stable-url}[{svn-src-stable-desc}] :svn-src-stable-6-desc: ηλεκτρονική λίστα μηνυμάτων SVN commit μόνο για το δέντρο πηγαίου κώδικα 6-stable :svn-src-stable-6-url: https://lists.FreeBSD.org/subscription/svn-src-stable-6 :svn-src-stable-6: {svn-src-stable-6-url}[{svn-src-stable-6-desc}] :svn-src-stable-7-desc: ηλεκτρονική λίστα μηνυμάτων SVN commit μόνο για το δέντρο πηγαίου κώδικα 7-stable :svn-src-stable-7-url: https://lists.FreeBSD.org/subscription/svn-src-stable-7 :svn-src-stable-7: {svn-src-stable-7-url}[{svn-src-stable-7-desc}] :svn-src-stable-8-desc: ηλεκτρονική λίστα μηνυμάτων SVN commit μόνο για το δέντρο πηγαίου κώδικα 8-stable :svn-src-stable-8-url: https://lists.FreeBSD.org/subscription/svn-src-stable-8 :svn-src-stable-8: {svn-src-stable-8-url}[{svn-src-stable-8-desc}] :svn-src-stable-9-desc: ηλεκτρονική λίστα μηνυμάτων SVN commit μόνο για το δέντρο πηγαίου κώδικα 9-stable :svn-src-stable-9-url: https://lists.FreeBSD.org/subscription/svn-src-stable-9 :svn-src-stable-9: {svn-src-stable-9-url}[{svn-src-stable-9-desc}] :svn-src-stable-other-desc: ηλεκτρονική λίστα μηνυμάτων SVN commit για τα παλιά stable δέντρα πηγαίου κώδικα :svn-src-stable-other-url: https://lists.FreeBSD.org/subscription/svn-src-stable-other :svn-src-stable-other: {svn-src-stable-other-url}[{svn-src-stable-other-desc}] :svn-src-svnadmin-desc: ηλεκτρονική λίστα μηνυμάτων SVN commit για το δέντρο admin / configuration :svn-src-svnadmin-url: https://lists.FreeBSD.org/subscription/svn-src-svnadmin :svn-src-svnadmin: {svn-src-svnadmin-url}[{svn-src-svnadmin-desc}] :svn-src-user-desc: ηλεκτρονική λίστα μηνυμάτων SVN commit για το πειραματικό δέντρο πηγαίου κώδικα "user" :svn-src-user-url: https://lists.FreeBSD.org/subscription/svn-src-user :svn-src-user: {svn-src-user-url}[{svn-src-user-desc}] :svn-src-vendor-desc: ηλεκτρονική λίστα μηνυμάτων SVN commit για το δέντρο εργασίας vendor :svn-src-vendor-url: https://lists.FreeBSD.org/subscription/svn-src-vendor :svn-src-vendor: {svn-src-vendor-url}[{svn-src-vendor-desc}] :freebsd-sysinstall-desc: ηλεκτρονική λίστα για την ανάπτυξη του sysinstall :freebsd-sysinstall-url: https://lists.FreeBSD.org/subscription/freebsd-sysinstall :freebsd-sysinstall: {freebsd-sysinstall-url}[{freebsd-sysinstall-desc}] :freebsd-test-desc: ηλεκτρονική λίστα του FreeBSD για δοκιμαστικά μηνύματα :freebsd-test-url: https://lists.FreeBSD.org/subscription/freebsd-test :freebsd-test: {freebsd-test-url}[{freebsd-test-desc}] :freebsd-threads-desc: ηλεκτρονική λίστα του FreeBSD για την πολυνηματική επεξεργασία :freebsd-threads-url: https://lists.FreeBSD.org/subscription/freebsd-threads :freebsd-threads: {freebsd-threads-url}[{freebsd-threads-desc}] :freebsd-tilera-desc: ηλεκτρονική λίστα για την μεταφορά του FreeBSD στην οικογένεια CPU tilera :freebsd-tilera-url: https://lists.FreeBSD.org/subscription/freebsd-tilera :freebsd-tilera: {freebsd-tilera-url}[{freebsd-tilera-desc}] :freebsd-tokenring-desc: ηλεκτρονική λίστα του FreeBSD για το υποσύστημα tokenring :freebsd-tokenring-url: https://lists.FreeBSD.org/subscription/freebsd-tokenring :freebsd-tokenring: {freebsd-tokenring-url}[{freebsd-tokenring-desc}] :freebsd-toolchain-desc: ηλεκτρονική λίστα του FreeBSD για τα ενσωματωμένα εργαλεία μεταγλώττισης :freebsd-toolchain-url: https://lists.FreeBSD.org/subscription/freebsd-toolchain :freebsd-toolchain: {freebsd-toolchain-url}[{freebsd-toolchain-desc}] :freebsd-usb-desc: ηλεκτρονική λίστα του FreeBSD για τη διασύνδεση με συσκευές USB :freebsd-usb-url: https://lists.FreeBSD.org/subscription/freebsd-usb :freebsd-usb: {freebsd-usb-url}[{freebsd-usb-desc}] :freebsd-user-groups-desc: ηλεκτρονική λίστα οργάνωσης των ομάδων χρηστών του FreeBSD :freebsd-user-groups-url: https://lists.FreeBSD.org/subscription/freebsd-user-groups :freebsd-user-groups: {freebsd-user-groups-url}[{freebsd-user-groups-desc}] :freebsd-vendors-desc: ηλεκτρονική λίστα προσυνεννόησης των προμηθευτών του FreeBSD :freebsd-vendors-url: https://lists.FreeBSD.org/subscription/freebsd-vendors :freebsd-vendors: {freebsd-vendors-url}[{freebsd-vendors-desc}] :freebsd-virtualization-desc: ηλεκτρονική λίστα του FreeBSD για τεχνικές virtualization :freebsd-virtualization-url: https://lists.FreeBSD.org/subscription/freebsd-virtualization :freebsd-virtualization: {freebsd-virtualization-url}[{freebsd-virtualization-desc}] :freebsd-vuxml-desc: ηλεκτρονική λίστα για την πλατφόρμα VuXML :freebsd-vuxml-url: https://lists.FreeBSD.org/subscription/freebsd-vuxml :freebsd-vuxml: {freebsd-vuxml-url}[{freebsd-vuxml-desc}] :freebsd-wip-status-desc: ηλεκτρονική λίστα για τις Αναφορές Προόδου του FreeBSD :freebsd-wip-status-url: https://lists.FreeBSD.org/subscription/freebsd-wip-status :freebsd-wip-status: {freebsd-wip-status-url}[{freebsd-wip-status-desc}] :freebsd-wireless-desc: ηλεκτρονική λίστα για την ανάπτυξη προγραμμάτων οδήγησης και εργαλείων στο 802.11 :freebsd-wireless-url: https://lists.FreeBSD.org/subscription/freebsd-wireless :freebsd-wireless: {freebsd-wireless-url}[{freebsd-wireless-desc}] :freebsd-www-desc: ηλεκτρονική λίστα του Webmaster του FreeBSD :freebsd-www-url: https://lists.FreeBSD.org/subscription/freebsd-www :freebsd-www: {freebsd-www-url}[{freebsd-www-desc}] :freebsd-x11-desc: ηλεκτρονική λίστα του FreeBSD για το γραφικό περιβάλλον X11 :freebsd-x11-url: https://lists.FreeBSD.org/subscription/freebsd-x11 :freebsd-x11: {freebsd-x11-url}[{freebsd-x11-desc}] :freebsd-xen-desc: ηλεκτρονική λίστα συζητήσεων για τη μεταφορά του FreeBSD στο Xen :freebsd-xen-url: https://lists.FreeBSD.org/subscription/freebsd-xen :freebsd-xen: {freebsd-xen-url}[{freebsd-xen-desc}] :freebsd-xfce-desc: ηλεκτρονική λίστα συζητήσεων για τη μεταφορά του XFCE στο FreeBSD :freebsd-xfce-url: https://lists.FreeBSD.org/subscription/freebsd-xfce :freebsd-xfce: {freebsd-xfce-url}[{freebsd-xfce-desc}] :freebsd-zope-desc: ηλεκτρονική λίστα συζητήσεων για τη μεταφορά του Zope στο FreeBSD :freebsd-zope-url: https://lists.FreeBSD.org/subscription/freebsd-zope :freebsd-zope: {freebsd-zope-url}[{freebsd-zope-desc}] :committers-name: ηλεκτρονική λίστα των committers του FreeBSD :committers: {committers-name} :core-name: ομάδα core του FreeBSD :core: {core-name} :developers-name: ηλεκτρονική λίστα ομάδας ανάπτυξης του FreeBSD :developers: {committers-developers} :doc-committers-name: ηλεκτρονική λίστα των doc/ committers του FreeBSD :doc-committers: {doc-committers-name} :doc-developers-name: ηλεκτρονική λίστα της ομάδας τεκμηρίωσης του FreeBSD :doc-developers: {doc-developers-name} :ports-committers-name: ηλεκτρονική λίστα των ports/ committers του FreeBSD :ports-committers: {ports-committers-name} :ports-developers-name: ηλεκτρονική λίστα της ομάδας ανάπτυξης των FreeBSD ports :ports-developers: {ports-developers-name} :src-committers-name: ηλεκτρονική λίστα των src/ committers του FreeBSD :src-committers: {src-committers-name} :src-developers-name: ηλεκτρονική λίστα της ομάδας ανάπτυξης src/ του FreeBSD :src-developers: {src-developers-name} // Τα παρακάτω entities δεν είναι πραγματικές mailing lists :bugfollowup: bug-followup@FreeBSD.org :bugsubmit: {bugfollowup} :majordomo: majordomo@FreeBSD.org // The following mailinglists are deactivated. Keep them until all references // in the documentation are gone. :alpha-desc: lista de discussão sobre o port do FreeBSD para a plataforma Alpha :alpha-url: https://lists.FreeBSD.org/subscription/freebsd-alpha :alpha: {alpha-url}[{alpha-desc}] :qa-desc: lista de discussão sobre a garantia de qualidade do FreeBSD :qa-url: https://lists.FreeBSD.org/subscription/freebsd-qa :qa: {qa-url}[{qa-desc}] :smp-desc: lista de discussão sobre multi processamento simétrico no FreeBSD :smp-url: https://lists.FreeBSD.org/subscription/freebsd-smp :smp: {smp-url}[{smp-desc}] diff --git a/shared/en/mailing-lists.adoc b/shared/en/mailing-lists.adoc index b7fb7cc40b..c730583949 100644 --- a/shared/en/mailing-lists.adoc +++ b/shared/en/mailing-lists.adoc @@ -1,710 +1,710 @@ // // Names of FreeBSD mailing lists and related software. // $FreeBSD$ // -:mailman-lists-desc: FreeBSD list server -:mailman-lists-url: https://lists.freebsd.org -:mailman-lists: {mailman-lists-url}[{mailman-lists-desc}] +:mailing-lists-desc: FreeBSD list server +:mailing-lists-url: https://lists.freebsd.org +:mailing-lists: {mailing-lists-url}[{mailing-lists-desc}] :freebsd-acpi-desc: FreeBSD ACPI mailing list :freebsd-acpi-url: https://lists.FreeBSD.org/subscription/freebsd-acpi :freebsd-acpi: {freebsd-acpi-url}[{freebsd-acpi-desc}] :freebsd-advocacy-desc: FreeBSD advocacy mailing list :freebsd-advocacy-url: https://lists.FreeBSD.org/subscription/freebsd-advocacy :freebsd-advocacy: {freebsd-advocacy-url}[{freebsd-advocacy-desc}] :freebsd-aic7xxx-desc: FreeBSD Adaptec AIC7xxx discussions mailing list :freebsd-aic7xxx-url: https://lists.FreeBSD.org/subscription/aic7xxx :freebsd-aic7xxx: {freebsd-aic7xxx-url}[{freebsd-aic7xxx-desc}] :freebsd-amd64-desc: Porting FreeBSD to AMD64 systems :freebsd-amd64-url: https://lists.FreeBSD.org/subscription/freebsd-amd64 :freebsd-amd64: {freebsd-amd64-url}[{freebsd-amd64-desc}] :freebsd-announce-desc: FreeBSD announcements mailing list :freebsd-announce-url: https://lists.FreeBSD.org/subscription/freebsd-announce :freebsd-announce: {freebsd-announce-url}[{freebsd-announce-desc}] :freebsd-apache-desc: FreeBSD Apache mailing list :freebsd-apache-url: https://lists.FreeBSD.org/subscription/freebsd-apache :freebsd-apache: {freebsd-apache-url}[{freebsd-apache-desc}] :freebsd-arch-desc: FreeBSD architecture and design mailing list :freebsd-arch-url: https://lists.FreeBSD.org/subscription/freebsd-arch :freebsd-arch: {freebsd-arch-url}[{freebsd-arch-desc}] :freebsd-arm-desc: FreeBSD ARM porting mailing list :freebsd-arm-url: https://lists.FreeBSD.org/subscription/freebsd-arm :freebsd-arm: {freebsd-arm-url}[{freebsd-arm-desc}] :freebsd-atm-desc: FreeBSD ATM networking mailing list :freebsd-atm-url: https://lists.FreeBSD.org/subscription/freebsd-atm :freebsd-atm: {freebsd-atm-url}[{freebsd-atm-desc}] :freebsd-bluetooth-desc: FreeBSD Bluetooth mailing list :freebsd-bluetooth-url: https://lists.FreeBSD.org/subscription/freebsd-bluetooth :freebsd-bluetooth: {freebsd-bluetooth-url}[{freebsd-bluetooth-desc}] :freebsd-bugbusters-desc: FreeBSD bugbusters mailing list :freebsd-bugbusters-url: https://lists.FreeBSD.org/subscription/freebsd-bugbusters :freebsd-bugbusters: {freebsd-bugbusters-url}[{freebsd-bugbusters-desc}] :freebsd-bugs-desc: FreeBSD problem reports mailing list :freebsd-bugs-url: https://lists.FreeBSD.org/subscription/freebsd-bugs :freebsd-bugs: {freebsd-bugs-url}[{freebsd-bugs-desc}] :freebsd-chat-desc: FreeBSD chat mailing list :freebsd-chat-url: https://lists.FreeBSD.org/subscription/freebsd-chat :freebsd-chat: {freebsd-chat-url}[{freebsd-chat-desc}] :freebsd-chromium-desc: FreeBSD-specific Chromium issues :freebsd-chromium-url: https://lists.FreeBSD.org/subscription/freebsd-chromium :freebsd-chromium: {freebsd-chromium-url}[{freebsd-chromium-desc}] :freebsd-cloud-desc: FreeBSD on cloud platforms (EC2, GCE, Azure, etc.) :freebsd-cloud-url: https://lists.FreeBSD.org/subscription/freebsd-cloud :freebsd-cloud: {freebsd-cloud-url}[{freebsd-cloud-desc}] :freebsd-cluster-desc: FreeBSD clustering mailing list :freebsd-cluster-url: https://lists.FreeBSD.org/subscription/freebsd-cluster :freebsd-cluster: {freebsd-cluster-url}[{freebsd-cluster-desc}] :freebsd-current-desc: FreeBSD-CURRENT mailing list :freebsd-current-url: https://lists.FreeBSD.org/subscription/freebsd-current :freebsd-current: {freebsd-current-url}[{freebsd-current-desc}] :ctm-announce-desc: CTM announcements :ctm-announce-url: https://lists.FreeBSD.org/subscription/ctm-announce :ctm-announce: {ctm-announce-url}[{ctm-announce-desc}] :ctm-src-4-desc: CTM 4-STABLE src branch distribution mailing list :ctm-src-4-url: https://lists.FreeBSD.org/subscription/ctm-src-4 :ctm-src-4: {ctm-src-4-url}[{ctm-src-4-desc}] :ctm-src-5-desc: CTM 5-STABLE src branch distribution mailing list :ctm-src-5-url: https://lists.FreeBSD.org/subscription/ctm-src-5 :ctm-src-5: {ctm-src-5-url}[{ctm-src-5-desc}] :ctm-src-6-desc: CTM 6-STABLE src branch distribution mailing list :ctm-src-6-url: https://lists.FreeBSD.org/subscription/ctm-src-6 :ctm-src-6: {ctm-src-6-url}[{ctm-src-6-desc}] :ctm-src-7-desc: CTM 7-STABLE src branch distribution mailing list :ctm-src-7-url: https://lists.FreeBSD.org/subscription/ctm-src-7 :ctm-src-7: {ctm-src-7-url}[{ctm-src-7-desc}] :ctm-src-8-desc: CTM 8-STABLE src branch distribution mailing list :ctm-src-8-url: https://lists.FreeBSD.org/subscription/ctm-src-8 :ctm-src-8: {ctm-src-8-url}[{ctm-src-8-desc}] :ctm-src-9-desc: CTM 9-STABLE src branch distribution mailing list :ctm-src-9-url: https://lists.FreeBSD.org/subscription/ctm-src-9 :ctm-src-9: {ctm-src-9-url}[{ctm-src-9-desc}] :ctm-src-10-desc: CTM 10-STABLE src branch distribution mailing list :ctm-src-10-url: https://lists.FreeBSD.org/subscription/ctm-src-10 :ctm-src-10: {ctm-src-10-url}[{ctm-src-10-desc}] :ctm-src-cur-desc: CTM -CURRENT src branch distribution mailing list :ctm-src-cur-url: https://lists.FreeBSD.org/subscription/ctm-src-cur :ctm-src-cur: {ctm-src-cur-url}[{ctm-src-cur-desc}] :ctm-users-desc: CTM user discussion mailing list :ctm-users-url: https://lists.FreeBSD.org/subscription/ctm-users :ctm-users: {ctm-users-url}[{ctm-users-desc}] :cvs-all-desc: FreeBSD CVS commit message mailing list :cvs-all-url: https://lists.FreeBSD.org/subscription/cvs-all :cvs-all: {cvs-all-url}[{cvs-all-desc}] :cvs-doc-desc: FreeBSD CVS doc commit list :cvs-doc-url: https://lists.FreeBSD.org/subscription/cvs-doc :cvs-doc: {cvs-doc-url}[{cvs-doc-desc}] :cvs-ports-desc: FreeBSD CVS ports commit list :cvs-ports-url: https://lists.FreeBSD.org/subscription/cvs-ports :cvs-ports: {cvs-ports-url}[{cvs-ports-desc}] :cvs-projects-desc: FreeBSD CVS projects commit list :cvs-projects-url: https://lists.FreeBSD.org/subscription/cvs-projects :cvs-projects: {cvs-projects-url}[{cvs-projects-desc}] :cvs-src-desc: FreeBSD CVS src commit list :cvs-src-url: https://lists.FreeBSD.org/subscription/cvs-src :cvs-src: {cvs-src-url}[{cvs-src-desc}] :freebsd-database-desc: FreeBSD based Databases mailing list :freebsd-database-url: https://lists.FreeBSD.org/subscription/freebsd-database :freebsd-database: {freebsd-database-url}[{freebsd-database-desc}] :freebsd-desktop-desc: Using and improving FreeBSD on the desktop :freebsd-desktop-url: https://lists.FreeBSD.org/subscription/freebsd-desktop :freebsd-desktop: {freebsd-desktop-url}[{freebsd-desktop-desc}] :dev-ci-desc: Automated reports of build and test results from FreeBSD's continuous integration tools :dev-ci-url: https://lists.FreeBSD.org/subscription/dev-ci :dev-ci: {dev-ci-url}[{dev-ci-desc}] :dev-commits-doc-all-desc: Commit messages for all branches of the doc repository :dev-commits-doc-all-url: https://lists.FreeBSD.org/subscription/dev-commits-doc-all :dev-commits-doc-all: {dev-commits-doc-all-url}[{dev-commits-doc-all-desc}] :dev-commits-ports-all-desc: Commit messages for all branches of the ports repository :dev-commits-ports-all-url: https://lists.FreeBSD.org/subscription/dev-commits-ports-all :dev-commits-ports-all: {dev-commits-ports-all-url}[{dev-commits-ports-all-desc}] :dev-commits-ports-branches-desc: Commit messages for the quarterly branches of the ports repository :dev-commits-ports-branches-url: https://lists.FreeBSD.org/subscription/dev-commits-ports-branches :dev-commits-ports-branches: {dev-commits-ports-branches-url}[{dev-commits-ports-branches-desc}] :dev-commits-ports-main-desc: Commit messages for the main branch of the ports repository :dev-commits-ports-main-url: https://lists.FreeBSD.org/subscription/dev-commits-ports-main :dev-commits-ports-main: {dev-commits-ports-main-url}[{dev-commits-ports-main-desc}] :dev-commits-src-all-desc: Commit messages for all branches of the src repository :dev-commits-src-all-url: https://lists.FreeBSD.org/subscription/dev-commits-src-all :dev-commits-src-all: {dev-commits-src-all-url}[{dev-commits-src-all-desc}] :dev-commits-src-branches-desc: Commit messages for the stable branches of the src repository :dev-commits-src-branches-url: https://lists.FreeBSD.org/subscription/dev-commits-src-branches :dev-commits-src-branches: {dev-commits-src-branches-url}[{dev-commits-src-branches-desc}] :dev-commits-src-main-desc: Commit messages for the main branch of the src repository :dev-commits-src-main-url: https://lists.FreeBSD.org/subscription/dev-commits-src-main :dev-commits-src-main: {dev-commits-src-main-url}[{dev-commits-src-main-desc}] :dev-reviews-desc: Automated notifications of work in progress for review in FreeBSD's review tools, including patches :dev-reviews-url: https://lists.FreeBSD.org/subscription/dev-reviews :dev-reviews: {dev-reviews-url}[{dev-reviews-desc}] :freebsd-doc-desc: FreeBSD documentation project mailing list :freebsd-doc-url: https://lists.FreeBSD.org/subscription/freebsd-doc :freebsd-doc: {freebsd-doc-url}[{freebsd-doc-desc}] :freebsd-drivers-desc: Writing device drivers for FreeBSD :freebsd-drivers-url: https://lists.FreeBSD.org/subscription/freebsd-drivers :freebsd-drivers: {freebsd-drivers-url}[{freebsd-drivers-desc}] :freebsd-dtrace-desc: Using and working on DTrace in FreeBSD :freebsd-dtrace-url: https://lists.FreeBSD.org/subscription/freebsd-dtrace :freebsd-dtrace: {freebsd-dtrace-url}[{freebsd-dtrace-desc}] :freebsd-eclipse-desc: FreeBSD users of Eclipse IDE, tools, rich client applications and ports :freebsd-eclipse-url: https://lists.FreeBSD.org/subscription/freebsd-eclipse :freebsd-eclipse: {freebsd-eclipse-url}[{freebsd-eclipse-desc}] :freebsd-elastic-desc: FreeBSD specific ElasticSearch mailing list :freebsd-elastic-url: https://lists.FreeBSD.org/subscription/freebsd-elastic :freebsd-elastic: {freebsd-elastic-url}[{freebsd-elastic-desc}] :freebsd-embedded-desc: FreeBSD-embedded mailing list :freebsd-embedded-url: https://lists.FreeBSD.org/subscription/freebsd-embedded :freebsd-embedded: {freebsd-embedded-url}[{freebsd-embedded-desc}] :freebsd-emulation-desc: FreeBSD-emulation mailing list :freebsd-emulation-url: https://lists.FreeBSD.org/subscription/freebsd-emulation :freebsd-emulation: {freebsd-emulation-url}[{freebsd-emulation-desc}] :freebsd-enlightenment-desc: FreeBSD-enlightenment mailing list :freebsd-enlightenment-url: https://lists.FreeBSD.org/subscription/freebsd-enlightenment :freebsd-enlightenment: {freebsd-enlightenment-url}[{freebsd-enlightenment-desc}] :freebsd-eol-desc: FreeBSD-eol mailing list :freebsd-eol-url: https://lists.FreeBSD.org/subscription/freebsd-eol :freebsd-eol: {freebsd-eol-url}[{freebsd-eol-desc}] :freebsd-erlang-desc: FreeBSD-erlang mailing list :freebsd-erlang-url: https://lists.FreeBSD.org/subscription/freebsd-erlang :freebsd-erlang: {freebsd-erlang-url}[{freebsd-erlang-desc}] :freebsd-firewire-desc: FreeBSD FireWire (IEEE 1394) discussion mailing list :freebsd-firewire-url: https://lists.FreeBSD.org/subscription/freebsd-firewire :freebsd-firewire: {freebsd-firewire-url}[{freebsd-firewire-desc}] :freebsd-fortran-desc: Fortran on FreeBSD mailing list :freebsd-fortran-url: https://lists.FreeBSD.org/subscription/freebsd-fortran :freebsd-fortran: {freebsd-fortran-url}[{freebsd-fortran-desc}] :freebsd-fs-desc: FreeBSD file system project mailing list :freebsd-fs-url: https://lists.FreeBSD.org/subscription/freebsd-fs :freebsd-fs: {freebsd-fs-url}[{freebsd-fs-desc}] :freebsd-games-desc: Games on FreeBSD mailing list :freebsd-games-url: https://lists.FreeBSD.org/subscription/freebsd-games :freebsd-games: {freebsd-games-url}[{freebsd-games-desc}] :freebsd-gecko-desc: FreeBSD gecko mailing list :freebsd-gecko-url: https://lists.FreeBSD.org/subscription/freebsd-gecko :freebsd-gecko: {freebsd-gecko-url}[{freebsd-gecko-desc}] :freebsd-geom-desc: FreeBSD GEOM mailing list :freebsd-geom-url: https://lists.FreeBSD.org/subscription/freebsd-geom :freebsd-geom: {freebsd-geom-url}[{freebsd-geom-desc}] :freebsd-git-desc: Discussion of git use in the FreeBSD project :freebsd-git-url: https://lists.FreeBSD.org/subscription/freebsd-git :freebsd-git: {freebsd-git-url}[{freebsd-git-desc}] :freebsd-gnome-desc: FreeBSD GNOME and GNOME applications mailing list :freebsd-gnome-url: https://lists.FreeBSD.org/subscription/freebsd-gnome :freebsd-gnome: {freebsd-gnome-url}[{freebsd-gnome-desc}] :freebsd-hackers-desc: FreeBSD technical discussions mailing list :freebsd-hackers-url: https://lists.FreeBSD.org/subscription/freebsd-hackers :freebsd-hackers: {freebsd-hackers-url}[{freebsd-hackers-desc}] :freebsd-hardware-desc: FreeBSD hardware and equipment mailing list :freebsd-hardware-url: https://lists.FreeBSD.org/subscription/freebsd-hardware :freebsd-hardware: {freebsd-hardware-url}[{freebsd-hardware-desc}] :freebsd-haskell-desc: FreeBSD-specific Haskell issues and discussions :freebsd-haskell-url: https://lists.FreeBSD.org/subscription/freebsd-haskell :freebsd-haskell: {freebsd-haskell-url}[{freebsd-haskell-desc}] :freebsd-hubs-desc: FreeBSD mirror sites mailing lists :freebsd-hubs-url: https://lists.FreeBSD.org/subscription/freebsd-hubs :freebsd-hubs: {freebsd-hubs-url}[{freebsd-hubs-desc}] :freebsd-i18n-desc: FreeBSD internationalization mailing list :freebsd-i18n-url: https://lists.FreeBSD.org/subscription/freebsd-i18n :freebsd-i18n: {freebsd-i18n-url}[{freebsd-i18n-desc}] :freebsd-i386-desc: FreeBSD i386-specific issues mailing list :freebsd-i386-url: https://lists.FreeBSD.org/subscription/freebsd-i386 :freebsd-i386: {freebsd-i386-url}[{freebsd-i386-desc}] :freebsd-infiniband-desc: Infiniband on FreeBSD :freebsd-infiniband-url: https://lists.FreeBSD.org/subscription/freebsd-infiniband :freebsd-infiniband: {freebsd-infiniband-url}[{freebsd-infiniband-desc}] :freebsd-ipfw-desc: FreeBSD IPFW code mailing list :freebsd-ipfw-url: https://lists.FreeBSD.org/subscription/freebsd-ipfw :freebsd-ipfw: {freebsd-ipfw-url}[{freebsd-ipfw-desc}] :freebsd-isdn-desc: FreeBSD ISDN mailing list :freebsd-isdn-url: https://lists.FreeBSD.org/subscription/freebsd-isdn :freebsd-isdn: {freebsd-isdn-url}[{freebsd-isdn-desc}] :freebsd-isp-desc: FreeBSD Internet service provider's mailing list :freebsd-isp-url: https://lists.FreeBSD.org/subscription/freebsd-isp :freebsd-isp: {freebsd-isp-url}[{freebsd-isp-desc}] :freebsd-jail-desc: FreeBSD jails mailing list :freebsd-jail-url: https://lists.FreeBSD.org/subscription/freebsd-jail :freebsd-jail: {freebsd-jail-url}[{freebsd-jail-desc}] :freebsd-java-desc: FreeBSD Java Language mailing list :freebsd-java-url: https://lists.FreeBSD.org/subscription/freebsd-java :freebsd-java: {freebsd-java-url}[{freebsd-java-desc}] :freebsd-jobs-desc: FreeBSD related employment mailing list :freebsd-jobs-url: https://lists.FreeBSD.org/subscription/freebsd-jobs :freebsd-jobs: {freebsd-jobs-url}[{freebsd-jobs-desc}] :freebsd-kde-desc: FreeBSD KDE/Qt and KDE applications mailing list :freebsd-kde-url: https://mail.kde.org/mailman/listinfo/kde-freebsd :freebsd-kde: {freebsd-kde-url}[{freebsd-kde-desc}] :freebsd-lfs-desc: FreeBSD LFS porting mailing list :freebsd-lfs-url: https://lists.FreeBSD.org/subscription/freebsd-lfs :freebsd-lfs: {freebsd-lfs-url}[{freebsd-lfs-desc}] :freebsd-mips-desc: FreeBSD MIPS porting mailing list :freebsd-mips-url: https://lists.FreeBSD.org/subscription/freebsd-mips :freebsd-mips: {freebsd-mips-url}[{freebsd-mips-desc}] :mirror-announce-desc: FreeBSD mirror site administrators :mirror-announce-url: https://lists.FreeBSD.org/subscription/mirror-announce :mirror-announce: {mirror-announce-url}[{mirror-announce-desc}] :freebsd-mono-desc: Mono and C# applications on FreeBSD :freebsd-mono-url: https://lists.FreeBSD.org/subscription/freebsd-mono :freebsd-mono: {freebsd-mono-url}[{freebsd-mono-desc}] :freebsd-multimedia-desc: FreeBSD multimedia mailing list :freebsd-multimedia-url: https://lists.FreeBSD.org/subscription/freebsd-multimedia :freebsd-multimedia: {freebsd-multimedia-url}[{freebsd-multimedia-desc}] :freebsd-net-desc: FreeBSD networking mailing list :freebsd-net-url: https://lists.FreeBSD.org/subscription/freebsd-net :freebsd-net: {freebsd-net-url}[{freebsd-net-desc}] :freebsd-newbies-desc: FreeBSD new users mailing list :freebsd-newbies-url: https://lists.FreeBSD.org/subscription/freebsd-newbies :freebsd-newbies: {freebsd-newbies-url}[{freebsd-newbies-desc}] :freebsd-new-bus-desc: FreeBSD new-bus mailing list :freebsd-new-bus-url: https://lists.FreeBSD.org/subscription/freebsd-new-bus :freebsd-new-bus: {freebsd-new-bus-url}[{freebsd-new-bus-desc}] :freebsd-numerics-desc: Discussions of high quality implementation of libm functions :freebsd-numerics-url: https://lists.FreeBSD.org/subscription/freebsd-numerics :freebsd-numerics: {freebsd-numerics-url}[{freebsd-numerics-desc}] :freebsd-ocaml-desc: FreeBSD-specific OCaml discussions :freebsd-ocaml-url: https://lists.FreeBSD.org/subscription/freebsd-ocaml :freebsd-ocaml: {freebsd-ocaml-url}[{freebsd-ocaml-desc}] :freebsd-office-desc: Office applications on FreeBSD :freebsd-office-url: https://lists.FreeBSD.org/subscription/freebsd-office :freebsd-office: {freebsd-office-url}[{freebsd-office-desc}] :freebsd-ops-announce-desc: Project Infrastructure Announcements :freebsd-ops-announce-url: https://lists.FreeBSD.org/subscription/freebsd-ops-announce :freebsd-ops-announce: {freebsd-ops-announce-url}[{freebsd-ops-announce-desc}] :freebsd-performance-desc: FreeBSD performance mailing list :freebsd-performance-url: https://lists.FreeBSD.org/subscription/freebsd-performance :freebsd-performance: {freebsd-performance-url}[{freebsd-performance-desc}] :freebsd-perl-desc: FreeBSD Perl mailing list :freebsd-perl-url: https://lists.FreeBSD.org/subscription/freebsd-perl :freebsd-perl: {freebsd-perl-url}[{freebsd-perl-desc}] :freebsd-pf-desc: FreeBSD packet filter mailing list :freebsd-pf-url: https://lists.FreeBSD.org/subscription/freebsd-pf :freebsd-pf: {freebsd-pf-url}[{freebsd-pf-desc}] :freebsd-pkg-desc: Binary package management and package tools discussion :freebsd-pkg-url: https://lists.FreeBSD.org/subscription/freebsd-pkg :freebsd-pkg: {freebsd-pkg-url}[{freebsd-pkg-desc}] :freebsd-pkg-fallout-desc: Fallout logs from package building :freebsd-pkg-fallout-url: https://lists.FreeBSD.org/subscription/freebsd-pkg-fallout :freebsd-pkg-fallout: {freebsd-pkg-fallout-url}[{freebsd-pkg-fallout-desc}] :freebsd-pkgbase-desc: Packaging the FreeBSD base system :freebsd-pkgbase-url: https://lists.FreeBSD.org/subscription/freebsd-pkgbase :freebsd-pkgbase: {freebsd-pkgbase-url}[{freebsd-pkgbase-desc}] :freebsd-platforms-desc: FreeBSD non-Intel platforms porting mailing list :freebsd-platforms-url: https://lists.FreeBSD.org/subscription/freebsd-platforms :freebsd-platforms: {freebsd-platforms-url}[{freebsd-platforms-desc}] :freebsd-ports-desc: FreeBSD ports mailing list :freebsd-ports-url: https://lists.FreeBSD.org/subscription/freebsd-ports :freebsd-ports: {freebsd-ports-url}[{freebsd-ports-desc}] :freebsd-ports-announce-desc: FreeBSD ports announce mailing list :freebsd-ports-announce-url: https://lists.FreeBSD.org/subscription/freebsd-ports-announce :freebsd-ports-announce: {freebsd-ports-announce-url}[{freebsd-ports-announce-desc}] :freebsd-ports-bugs-desc: FreeBSD ports bugs mailing list :freebsd-ports-bugs-url: https://lists.FreeBSD.org/subscription/freebsd-ports-bugs :freebsd-ports-bugs: {freebsd-ports-bugs-url}[{freebsd-ports-bugs-desc}] :freebsd-ppc-desc: FreeBSD PowerPC porting mailing list :freebsd-ppc-url: https://lists.FreeBSD.org/subscription/freebsd-ppc :freebsd-ppc: {freebsd-ppc-url}[{freebsd-ppc-desc}] :freebsd-proliant-desc: Technical discussion of FreeBSD on HP ProLiant server platforms :freebsd-proliant-url: https://lists.FreeBSD.org/subscription/freebsd-proliant :freebsd-proliant: {freebsd-proliant-url}[{freebsd-proliant-desc}] :freebsd-python-desc: FreeBSD Python mailing list :freebsd-python-url: https://lists.FreeBSD.org/subscription/freebsd-python :freebsd-python: {freebsd-python-url}[{freebsd-python-desc}] :freebsd-quarterly-calls-desc: Calls for quarterly FreeBSD status reports :freebsd-quarterly-calls-url: https://lists.FreeBSD.org/subscription/freebsd-quarterly-calls :freebsd-quarterly-calls: {freebsd-quarterly-calls-url}[{freebsd-quarterly-calls-desc}] :freebsd-questions-desc: FreeBSD general questions mailing list :freebsd-questions-url: https://lists.FreeBSD.org/subscription/freebsd-questions :freebsd-questions: {freebsd-questions-url}[{freebsd-questions-desc}] :freebsd-rc-desc: FreeBSD boot script system mailing list :freebsd-rc-url: https://lists.FreeBSD.org/subscription/freebsd-rc :freebsd-rc: {freebsd-rc-url}[{freebsd-rc-desc}] :freebsd-realtime-desc: FreeBSD realtime extensions mailing list :freebsd-realtime-url: https://lists.FreeBSD.org/subscription/freebsd-realtime :freebsd-realtime: {freebsd-realtime-url}[{freebsd-realtime-desc}] :freebsd-riscv-desc: FreeBSD RISC-V porting mailing list :freebsd-riscv-url: https://lists.FreeBSD.org/subscription/freebsd-riscv :freebsd-riscv: {freebsd-riscv-url}[{riscv-riscv-desc}] :freebsd-ruby-desc: FreeBSD Ruby mailing list :freebsd-ruby-url: https://lists.FreeBSD.org/subscription/freebsd-ruby :freebsd-ruby: {freebsd-ruby-url}[{freebsd-ruby-desc}] :freebsd-scsi-desc: FreeBSD SCSI subsystem mailing list :freebsd-scsi-url: https://lists.FreeBSD.org/subscription/freebsd-scsi :freebsd-scsi: {freebsd-scsi-url}[{freebsd-scsi-desc}] :freebsd-security-desc: FreeBSD security mailing list :freebsd-security-url: https://lists.FreeBSD.org/subscription/freebsd-security :freebsd-security: {freebsd-security-url}[{freebsd-security-desc}] :freebsd-security-notifications-desc: FreeBSD security notifications mailing list :freebsd-security-notifications-url: https://lists.FreeBSD.org/subscription/freebsd-security-notifications :freebsd-security-notifications: {freebsd-security-notifications-url}[{freebsd-security-notifications-desc}] :freebsd-snapshots-desc: FreeBSD Development Snapshot Announcements :freebsd-snapshots-url: https://lists.FreeBSD.org/subscription/freebsd-snapshots :freebsd-snapshots: {freebsd-snapshots-url}[{freebsd-snapshots-desc}] :freebsd-sparc64-desc: FreeBSD SPARC porting mailing list :freebsd-sparc64-url: https://lists.FreeBSD.org/subscription/freebsd-sparc64 :freebsd-sparc64: {freebsd-sparc64-url}[{freebsd-sparc64-desc}] :freebsd-stable-desc: FreeBSD-STABLE mailing list :freebsd-stable-url: https://lists.FreeBSD.org/subscription/freebsd-stable :freebsd-stable: {freebsd-stable-url}[{freebsd-stable-desc}] :freebsd-standards-desc: FreeBSD C99 and POSIX compliance mailing list :freebsd-standards-url: https://lists.FreeBSD.org/subscription/freebsd-standards :freebsd-standards: {freebsd-standards-url}[{freebsd-standards-desc}] :freebsd-sun4v-desc: FreeBSD sun4v porting mailing list :freebsd-sun4v-url: https://lists.FreeBSD.org/subscription/freebsd-sun4v :freebsd-sun4v: {freebsd-sun4v-url}[{freebsd-sun4v-desc}] :svn-doc-all-desc: SVN commit messages for the entire doc tree (except for "user", "projects" and "translations") :svn-doc-all-url: https://lists.FreeBSD.org/subscription/svn-doc-all :svn-doc-all: {svn-doc-all-url}[{svn-doc-all-desc}] :svn-doc-head-desc: SVN commit messages for the doc tree for head/ :svn-doc-head-url: https://lists.FreeBSD.org/subscription/svn-doc-head :svn-doc-head: {svn-doc-head-url}[{svn-doc-head-desc}] :svn-doc-projects-desc: SVN commit messages for the doc "projects" tree :svn-doc-projects-url: https://lists.FreeBSD.org/subscription/svn-doc-projects :svn-doc-projects: {svn-doc-projects-url}[{svn-doc-projects-desc}] :svn-doc-svnadmin-desc: SVN commit messages for the doc admin / configuration tree :svn-doc-svnadmin-url: https://lists.FreeBSD.org/subscription/svn-doc-svnadmin :svn-doc-svnadmin: {svn-doc-svnadmin-url}[{svn-doc-svnadmin-desc}] :svn-ports-all-desc: SVN commit messages for the entire ports tree :svn-ports-all-url: https://lists.FreeBSD.org/subscription/svn-ports-all :svn-ports-all: {svn-ports-all-url}[{svn-ports-all-desc}] :svn-ports-head-desc: SVN commit messages for the ports tree for head/ :svn-ports-head-url: https://lists.FreeBSD.org/subscription/svn-ports-head :svn-ports-head: {svn-ports-head-url}[{svn-ports-head-desc}] :svn-ports-svnadmin-desc: SVN commit messages for the ports admin / configuration tree :svn-ports-svnadmin-url: https://lists.FreeBSD.org/subscription/svn-ports-svnadmin :svn-ports-svnadmin: {svn-ports-svnadmin-url}[{svn-ports-svnadmin-desc}] :svn-src-all-desc: SVN commit messages for the entire src tree (except for user and "projects") :svn-src-all-url: https://lists.FreeBSD.org/subscription/svn-src-all :svn-src-all: {svn-src-all-url}[{svn-src-all-desc}] :svn-src-head-desc: SVN commit messages for the src tree for head/-current :svn-src-head-url: https://lists.FreeBSD.org/subscription/svn-src-head :svn-src-head: {svn-src-head-url}[{svn-src-head-desc}] :svn-src-projects-desc: SVN commit messages for the src "projects" tree :svn-src-projects-url: https://lists.FreeBSD.org/subscription/svn-src-projects :svn-src-projects: {svn-src-projects-url}[{svn-src-projects-desc}] :svn-src-release-desc: SVN commit messages for releases in the src tree :svn-src-release-url: https://lists.FreeBSD.org/subscription/svn-src-release :svn-src-release: {svn-src-release-url}[{svn-src-release-desc}] :svn-src-releng-desc: SVN commit messages for the release engineering / security commits to the src tree :svn-src-releng-url: https://lists.FreeBSD.org/subscription/svn-src-releng :svn-src-releng: {svn-src-releng-url}[{svn-src-releng-desc}] :svn-src-stable-desc: SVN commit messages for all the -stable branches of the src tree :svn-src-stable-url: https://lists.FreeBSD.org/subscription/svn-src-stable :svn-src-stable: {svn-src-stable-url}[{svn-src-stable-desc}] :svn-src-stable-6-desc: SVN commit messages for only the 6-stable src tree :svn-src-stable-6-url: https://lists.FreeBSD.org/subscription/svn-src-stable-6 :svn-src-stable-6: {svn-src-stable-6-url}[{svn-src-stable-6-desc}] :svn-src-stable-7-desc: SVN commit messages for only the 7-stable src tree :svn-src-stable-7-url: https://lists.FreeBSD.org/subscription/svn-src-stable-7 :svn-src-stable-7: {svn-src-stable-7-url}[{svn-src-stable-7-desc}] :svn-src-stable-8-desc: SVN commit messages for only the 8-stable src tree :svn-src-stable-8-url: https://lists.FreeBSD.org/subscription/svn-src-stable-8 :svn-src-stable-8: {svn-src-stable-8-url}[{svn-src-stable-8-desc}] :svn-src-stable-9-desc: SVN commit messages for only the 9-stable src tree :svn-src-stable-9-url: https://lists.FreeBSD.org/subscription/svn-src-stable-9 :svn-src-stable-9: {svn-src-stable-9-url}[{svn-src-stable-9-desc}] :svn-src-stable-10-desc: SVN commit messages for only the 10-stable src tree :svn-src-stable-10-url: https://lists.FreeBSD.org/subscription/svn-src-stable-10 :svn-src-stable-10: {svn-src-stable-10-url}[{svn-src-stable-10-desc}] :svn-src-stable-11-desc: SVN commit messages for only the 11-stable src tree :svn-src-stable-11-url: https://lists.FreeBSD.org/subscription/svn-src-stable-11 :svn-src-stable-11: {svn-src-stable-11-url}[{svn-src-stable-11-desc}] :svn-src-stable-12-desc: SVN commit messages for only the 12-stable src tree :svn-src-stable-12-url: https://lists.FreeBSD.org/subscription/svn-src-stable-12 :svn-src-stable-12: {svn-src-stable-12-url}[{svn-src-stable-12-desc}] :svn-src-stable-other-desc: SVN commit messages for the old stable src trees :svn-src-stable-other-url: https://lists.FreeBSD.org/subscription/svn-src-stable-other :svn-src-stable-other: {svn-src-stable-other-url}[{svn-src-stable-other-desc}] :svn-src-svnadmin-desc: SVN commit messages for the admin / configuration tree :svn-src-svnadmin-url: https://lists.FreeBSD.org/subscription/svn-src-svnadmin :svn-src-svnadmin: {svn-src-svnadmin-url}[{svn-src-svnadmin-desc}] :svn-src-user-desc: SVN commit messages for the experimental "user" src tree :svn-src-user-url: https://lists.FreeBSD.org/subscription/svn-src-user :svn-src-user: {svn-src-user-url}[{svn-src-user-desc}] :svn-src-vendor-desc: SVN commit messages for the vendor work area tree :svn-src-vendor-url: https://lists.FreeBSD.org/subscription/svn-src-vendor :svn-src-vendor: {svn-src-vendor-url}[{svn-src-vendor-desc}] :freebsd-sysinstall-desc: Sysinstall development mailing list :freebsd-sysinstall-url: https://lists.FreeBSD.org/subscription/freebsd-sysinstall :freebsd-sysinstall: {freebsd-sysinstall-url}[{freebsd-sysinstall-desc}] :freebsd-tcltk-desc: FreeBSD-specific Tcl/Tk discussions :freebsd-tcltk-url: https://lists.FreeBSD.org/subscription/freebsd-tcltk :freebsd-tcltk: {freebsd-tcltk-url}[{freebsd-tcltk-desc}] :freebsd-teaching-desc: FreeBSD teaching mailing list :freebsd-teaching-url: https://lists.FreeBSD.org/subscription/freebsd-teaching :freebsd-teaching: {freebsd-teaching-url}[{freebsd-teaching-desc}] :freebsd-test-desc: FreeBSD test mailing list :freebsd-test-url: https://lists.FreeBSD.org/subscription/freebsd-test :freebsd-test: {freebsd-test-url}[{freebsd-test-desc}] :freebsd-testing-desc: Testing on FreeBSD :freebsd-testing-url: https://lists.FreeBSD.org/subscription/freebsd-testing :freebsd-testing: {freebsd-testing-url}[{freebsd-testing-desc}] :freebsd-tex-desc: Porting TeX and its applications to FreeBSD :freebsd-tex-url: https://lists.FreeBSD.org/subscription/freebsd-tex :freebsd-tex: {freebsd-tex-url}[{freebsd-tex-desc}] :freebsd-threads-desc: FreeBSD threads mailing list :freebsd-threads-url: https://lists.FreeBSD.org/subscription/freebsd-threads :freebsd-threads: {freebsd-threads-url}[{freebsd-threads-desc}] :freebsd-tilera-desc: Porting FreeBSD to the Tilera family of CPUs :freebsd-tilera-url: https://lists.FreeBSD.org/subscription/freebsd-tilera :freebsd-tilera: {freebsd-tilera-url}[{freebsd-tilera-desc}] :freebsd-tokenring-desc: FreeBSD tokenring mailing list :freebsd-tokenring-url: https://lists.FreeBSD.org/subscription/freebsd-tokenring :freebsd-tokenring: {freebsd-tokenring-url}[{freebsd-tokenring-desc}] :freebsd-toolchain-desc: FreeBSD integrated toolchain mailing list :freebsd-toolchain-url: https://lists.FreeBSD.org/subscription/freebsd-toolchain :freebsd-toolchain: {freebsd-toolchain-url}[{freebsd-toolchain-desc}] :freebsd-translators-desc: FreeBSD translators mailing list :freebsd-translators-url: https://lists.FreeBSD.org/subscription/freebsd-translators :freebsd-translators: {freebsd-translators-url}[{freebsd-translators-desc}] :freebsd-transport-desc: FreeBSD transport mailing list :freebsd-transport-url: https://lists.FreeBSD.org/subscription/freebsd-transport :freebsd-transport: {freebsd-transport-url}[{freebsd-transport-desc}] :freebsd-usb-desc: FreeBSD USB mailing list :freebsd-usb-url: https://lists.FreeBSD.org/subscription/freebsd-usb :freebsd-usb: {freebsd-usb-url}[{freebsd-usb-desc}] :freebsd-user-groups-desc: FreeBSD user group coordination mailing list :freebsd-user-groups-url: https://lists.FreeBSD.org/subscription/freebsd-user-groups :freebsd-user-groups: {freebsd-user-groups-url}[{freebsd-user-groups-desc}] :freebsd-vendors-desc: FreeBSD vendors pre-release coordination mailing list :freebsd-vendors-url: https://lists.FreeBSD.org/subscription/freebsd-vendors :freebsd-vendors: {freebsd-vendors-url}[{freebsd-vendors-desc}] :freebsd-virtualization-desc: Discussion of various virtualization techniques supported by FreeBSD :freebsd-virtualization-url: https://lists.FreeBSD.org/subscription/freebsd-virtualization :freebsd-virtualization: {freebsd-virtualization-url}[{freebsd-virtualization-desc}] :freebsd-vuxml-desc: Discussion on the VuXML infrastructure :freebsd-vuxml-url: https://lists.FreeBSD.org/subscription/freebsd-vuxml :freebsd-vuxml: {freebsd-vuxml-url}[{freebsd-vuxml-desc}] :freebsd-wip-status-desc: FreeBSD Work-In-Progress Status :freebsd-wip-status-url: https://lists.FreeBSD.org/subscription/freebsd-wip-status :freebsd-wip-status: {freebsd-wip-status-url}[{freebsd-wip-status-desc}] :freebsd-wireless-desc: Discussions of 802.11 stack, tools, device driver development :freebsd-wireless-url: https://lists.FreeBSD.org/subscription/freebsd-wireless :freebsd-wireless: {freebsd-wireless-url}[{freebsd-wireless-desc}] :freebsd-women-desc: FreeBSD advocacy for women :freebsd-women-url: https://lists.FreeBSD.org/subscription/freebsd-women :freebsd-women: {freebsd-women-url}[{freebsd-women-desc}] :freebsd-www-desc: FreeBSD Webmaster mailing list :freebsd-www-url: https://lists.FreeBSD.org/subscription/freebsd-www :freebsd-www: {freebsd-www-url}[{freebsd-www-desc}] :freebsd-x11-desc: FreeBSD X11 mailing list :freebsd-x11-url: https://lists.FreeBSD.org/subscription/freebsd-x11 :freebsd-x11: {freebsd-x11-url}[{freebsd-x11-desc}] :freebsd-xen-desc: FreeBSD port to Xen mailing list :freebsd-xen-url: https://lists.FreeBSD.org/subscription/freebsd-xen :freebsd-xen: {freebsd-xen-url}[{freebsd-xen-desc}] :freebsd-xfce-desc: XFCE for FreeBSD mailing list :freebsd-xfce-url: https://lists.FreeBSD.org/subscription/freebsd-xfce :freebsd-xfce: {freebsd-xfce-url}[{freebsd-xfce-desc}] :freebsd-zope-desc: Zope for FreeBSD mailing list :freebsd-zope-url: https://lists.FreeBSD.org/subscription/freebsd-zope :freebsd-zope: {freebsd-zope-url}[{freebsd-zope-desc}] :committers-name: FreeBSD committer's mailing list :committers: {committers-name} :core-email: core@FreeBSD.org :core-name: freebsd-core :developers-name: FreeBSD developers mailing list :developers: {committers-developers} :doc-committers-name: FreeBSD doc/ committer's mailing list :doc-committers: {doc-committers-name} :doc-developers-name: FreeBSD doc/ developers mailing list :doc-developers: {doc-developers-name} :ports-committers-name: FreeBSD ports/ committer's mailing list :ports-committers: {ports-committers-name} :ports-developers-name: FreeBSD ports/ developers mailing list :ports-developers: {ports-developers-name} :src-committers-name: FreeBSD src/ committer's mailing list :src-committers: {src-committers-name} :src-developers-name: FreeBSD src/ developers mailing list :src-developers: {src-developers-name} // Not really proper mailing lists :bugfollowup: bug-followup@FreeBSD.org :bugsubmit: {bugfollowup} :majordomo: majordomo@FreeBSD.org // The following mailinglists are deactivated. Keep them until all references // in the documentation are gone. :freebsd-alpha-desc: FreeBSD Alpha porting mailing list :freebsd-alpha-url: https://lists.FreeBSD.org/subscription/freebsd-alpha :freebsd-alpha: {freebsd-alpha-url}[{freebsd-alpha-desc}] :freebsd-qa-desc: FreeBSD Quality Assurance mailing list :freebsd-qa-url: https://lists.FreeBSD.org/subscription/freebsd-qa :freebsd-qa: {freebsd-qa-url}[{freebsd-qa-desc}] :freebsd-smp-desc: FreeBSD symmetric multiprocessing mailing list :freebsd-smp-url: https://lists.FreeBSD.org/subscription/freebsd-smp :freebsd-smp: {freebsd-smp-url}[{freebsd-smp-desc}] diff --git a/shared/es/mailing-lists.adoc b/shared/es/mailing-lists.adoc index 36dd5e30ec..1ba35958b9 100644 --- a/shared/es/mailing-lists.adoc +++ b/shared/es/mailing-lists.adoc @@ -1,447 +1,447 @@ // // Nombres de las listas de correo de FreeBSD y software relacionado. // // $FreeBSD$ // -:mailman-lists-desc: servidor de listas de FreeBSD -:mailman-lists-url: https://lists.freebsd.org -:mailman-lists: {mailman-lists-url}[{mailman-lists-desc}] +:mailing-lists-desc: servidor de listas de FreeBSD +:mailing-lists-url: https://lists.freebsd.org +:mailing-lists: {mailing-lists-url}[{mailing-lists-desc}] :freebsd-acpi-desc: lista de correo sobre ACPI en FreeBSD :freebsd-acpi-url: https://lists.FreeBSD.org/subscription/freebsd-acpi :freebsd-acpi: {freebsd-acpi-url}[{freebsd-acpi-desc}] :freebsd-advocacy-desc: lista de promoción de FreeBSD :freebsd-advocacy-url: https://lists.FreeBSD.org/subscription/freebsd-advocacy :freebsd-advocacy: {freebsd-advocacy-url}[{freebsd-advocacy-desc}] :freebsd-afs-desc: lista del port de AFS a FreeBSD :freebsd-afs-url: https://lists.FreeBSD.org/subscription/freebsd-afs :freebsd-afs: {freebsd-afs-url}[{freebsd-afs-desc}] :freebsd-aic7xxx-desc: lista sobre Adaptec AIC7xxx en FreeBSD :freebsd-aic7xxx-url: https://lists.FreeBSD.org/subscription/aic7xxx :freebsd-aic7xxx: {freebsd-aic7xxx-url}[{freebsd-aic7xxx-desc}] :freebsd-alpha-desc: lista de correo del port de FreeBSD para Alpha :freebsd-alpha-url: https://lists.FreeBSD.org/subscription/freebsd-alpha :freebsd-alpha: {freebsd-alpha-url}[{freebsd-alpha-desc}] :freebsd-amd64-desc: lista del port de FreeBSD a sistemas AMD64 :freebsd-amd64-url: https://lists.FreeBSD.org/subscription/freebsd-amd64 :freebsd-amd64: {freebsd-amd64-url}[{freebsd-amd64-desc}] :freebsd-announce-desc: lista de anuncios importantes del Proyecto FreeBSD :freebsd-announce-url: https://lists.FreeBSD.org/subscription/freebsd-announce :freebsd-announce: {freebsd-announce-url}[{freebsd-announce-desc}] :freebsd-apache-desc: lista sobre Apache en FreeBSD :freebsd-apache-url: https://lists.FreeBSD.org/subscription/freebsd-apache :freebsd-apache: {freebsd-apache-url}[{freebsd-apache-desc}] :freebsd-arch-desc: lista sobre arquitectura y diseño de FreeBSD :freebsd-arch-url: https://lists.FreeBSD.org/subscription/freebsd-arch :freebsd-arch: {freebsd-arch-url}[{freebsd-arch-desc}] :freebsd-arm-desc: lista del port de FreeBSD para ARM :freebsd-arm-url: https://lists.FreeBSD.org/subscription/freebsd-arm :freebsd-arm: {freebsd-arm-url}[{freebsd-arm-desc}] :freebsd-atm-desc: lista de networking ATM en FreeBSD :freebsd-atm-url: https://lists.FreeBSD.org/subscription/freebsd-atm :freebsd-atm: {freebsd-atm-url}[{freebsd-atm-desc}] :freebsd-audit-desc: lista para la auditoría de código fuente de FreeBSD :freebsd-audit-url: https://lists.FreeBSD.org/subscription/freebsd-audit :freebsd-audit: {freebsd-audit-url}[{freebsd-audit-desc}] :freebsd-binup-desc: lista del sistema de actualización binaria de FreeBSD :freebsd-binup-url: https://lists.FreeBSD.org/subscription/freebsd-binup :freebsd-binup: {freebsd-binup-url}[{freebsd-binup-desc}] :freebsd-bluetooth-desc: lista de correo sobre Bluetooth en FreeBSD :freebsd-bluetooth-url: https://lists.FreeBSD.org/subscription/freebsd-bluetooth :freebsd-bluetooth: {freebsd-bluetooth-url}[{freebsd-bluetooth-desc}] :freebsd-bugbusters-desc: lista de correo de los bugbusters de FreeBSD :freebsd-bugbusters-url: https://lists.FreeBSD.org/subscription/freebsd-bugbusters :freebsd-bugbusters: {freebsd-bugbusters-url}[{freebsd-bugbusters-desc}] :freebsd-bugs-desc: lista de 'problem reports' de FreeBSD :freebsd-bugs-url: https://lists.FreeBSD.org/subscription/freebsd-bugs :freebsd-bugs: {freebsd-bugs-url}[{freebsd-bugs-desc}] :freebsd-chat-desc: lista de charla de FreeBSD :freebsd-chat-url: https://lists.FreeBSD.org/subscription/freebsd-chat :freebsd-chat: {freebsd-chat-url}[{freebsd-chat-desc}] :freebsd-cluster-desc: lista de 'clustering' en FreeBSD :freebsd-cluster-url: https://lists.FreeBSD.org/subscription/freebsd-cluster :freebsd-cluster: {freebsd-cluster-url}[{freebsd-cluster-desc}] :freebsd-current-desc: FreeBSD-CURRENT lista de correo :freebsd-current-url: https://lists.FreeBSD.org/subscription/freebsd-current :freebsd-current: {freebsd-current-url}[{freebsd-current-desc}] :ctm-announce-desc: avisos CTM :ctm-announce-url: https://lists.FreeBSD.org/subscription/ctm-announce :ctm-announce: {ctm-announce-url}[{ctm-announce-desc}] :ctm-cvs-cur-desc: distribución CTM de ficheros CVS :ctm-cvs-cur-url: https://lists.FreeBSD.org/subscription/ctm-cvs-cur :ctm-cvs-cur: {ctm-cvs-cur-url}[{ctm-cvs-cur-desc}] :ctm-src-4-desc: lista de correo para la distribución CTM de src de la rama 4-STABLE :ctm-src-4-url: https://lists.FreeBSD.org/subscription/ctm-src-4 :ctm-src-4: {ctm-src-4-url}[{ctm-src-4-desc}] :ctm-src-cur-desc: lista de correo para la distribución CTM de src de la rama -CURRENT :ctm-src-cur-url: https://lists.FreeBSD.org/subscription/ctm-src-cur :ctm-src-cur: {ctm-src-cur-url}[{ctm-src-cur-desc}] :ctm-users-desc: lista de correo para usuarios de CTM :ctm-users-url: https://lists.FreeBSD.org/subscription/ctm-users :ctm-users: {ctm-users-url}[{ctm-users-desc}] :cvs-all-desc: lista de correo de mensajes de committs del CVS de FreeBSD :cvs-all-url: https://lists.FreeBSD.org/subscription/cvs-all :cvs-all: {cvs-all-url}[{cvs-all-desc}] :cvs-doc-desc: lista de correo de mensajes de committs del CVS de la documentación de FreeBSD :cvs-doc-url: https://lists.FreeBSD.org/subscription/cvs-doc :cvs-doc: {cvs-doc-url}[{cvs-doc-desc}] :cvs-ports-desc: lista de correo de mensajes de committs del CVS de los ports de FreeBSD :cvs-ports-url: https://lists.FreeBSD.org/subscription/cvs-ports :cvs-ports: {cvs-ports-url}[{cvs-ports-desc}] :cvs-projects-desc: lista de correo de committs del árbol de proyectos del CVS de FreeBSD :cvs-projects-url: https://lists.FreeBSD.org/subscription/cvs-projects :cvs-projects: {cvs-projects-url}[{cvs-projects-desc}] :cvs-src-desc: lista de correo de mensajes de committs del árbol src del CVS de FreeBSD :cvs-src-url: https://lists.FreeBSD.org/subscription/cvs-src :cvs-src: {cvs-src-url}[{cvs-src-desc}] :freebsd-cvsweb-desc: lista de correo de gestión del CVSweb de FreeBSD :freebsd-cvsweb-url: https://lists.FreeBSD.org/subscription/freebsd-cvsweb :freebsd-cvsweb: {freebsd-cvsweb-url}[{freebsd-cvsweb-desc}] :freebsd-database-desc: lista de correo sobre el uso de desarrollo de bases de datos en FreeBSD :freebsd-database-url: https://lists.FreeBSD.org/subscription/freebsd-database :freebsd-database: {freebsd-database-url}[{freebsd-database-desc}] :freebsd-doc-desc: lista de correo del proyecto de documentación de FreeBSD :freebsd-doc-url: https://lists.FreeBSD.org/subscription/freebsd-doc :freebsd-doc: {freebsd-doc-url}[{freebsd-doc-desc}] :freebsd-drivers-desc: lista de correo sobre controladores para FreeBSD :freebsd-drivers-url: https://lists.FreeBSD.org/subscription/freebsd-drivers :freebsd-drivers: {freebsd-drivers-url}[{freebsd-drivers-desc}] :freebsd-eclipse-desc: lista de correo para usuarios de Eclipse en FreeBSD :freebsd-eclipse-url: https://lists.FreeBSD.org/subscription/freebsd-eclipse :freebsd-eclipse: {freebsd-eclipse-url}[{freebsd-eclipse-desc}] :freebsd-embedded-desc: lista de correo sobre sistemas empotrados y FreeBSD :freebsd-embedded-url: https://lists.FreeBSD.org/subscription/freebsd-embedded :freebsd-embedded: {freebsd-embedded-url}[{freebsd-embedded-desc}] :freebsd-emulation-desc: lista de correo sobre emulación en FreeBSD :freebsd-emulation-url: https://lists.FreeBSD.org/subscription/freebsd-emulation :freebsd-emulation: {freebsd-emulation-url}[{freebsd-emulation-desc}] :freebsd-eol-desc: lista de correo de fechas de fin de soporte :freebsd-eol-url: https://lists.FreeBSD.org/subscription/freebsd-eol :freebsd-eol: {freebsd-eol-url}[{freebsd-eol-desc}] :freebsd-firewire-desc: lista de correo sobre FireWire (IEEE 1394) en FreeBSD :freebsd-firewire-url: https://lists.FreeBSD.org/subscription/freebsd-firewire :freebsd-firewire: {freebsd-firewire-url}[{freebsd-firewire-desc}] :freebsd-fs-desc: lista de correo sobre sistemas de ficheros en FreeBSD :freebsd-fs-url: https://lists.FreeBSD.org/subscription/freebsd-fs :freebsd-fs: {freebsd-fs-url}[{freebsd-fs-desc}] :freebsd-geom-desc: lista de correo sobre GEOM en FreeBSD :freebsd-geom-url: https://lists.FreeBSD.org/subscription/freebsd-geom :freebsd-geom: {freebsd-geom-url}[{freebsd-geom-desc}] :freebsd-gnome-desc: lista de correo sobre GNOME y aplicaciones GNOME en FreeBSD :freebsd-gnome-url: https://lists.FreeBSD.org/subscription/freebsd-gnome :freebsd-gnome: {freebsd-gnome-url}[{freebsd-gnome-desc}] :freebsd-hackers-desc: lista de correo de discusiones técnicas en FreeBSD :freebsd-hackers-url: https://lists.FreeBSD.org/subscription/freebsd-hackers :freebsd-hackers: {freebsd-hackers-url}[{freebsd-hackers-desc}] :freebsd-hardware-desc: lista de correo sobre hardware en FreeBSD :freebsd-hardware-url: https://lists.FreeBSD.org/subscription/freebsd-hardware :freebsd-hardware: {freebsd-hardware-url}[{freebsd-hardware-desc}] :freebsd-hubs-desc: lista de correo de correo de las réplicas de FreeBSD :freebsd-hubs-url: https://lists.FreeBSD.org/subscription/freebsd-hubs :freebsd-hubs: {freebsd-hubs-url}[{freebsd-hubs-desc}] :freebsd-i18n-desc: lista de correo sobre internacionalización de FreeBSD :freebsd-i18n-url: https://lists.FreeBSD.org/subscription/freebsd-i18n :freebsd-i18n: {freebsd-i18n-url}[{freebsd-i18n-desc}] :freebsd-i386-desc: lista de correo específica sobre i386 y FreeBSD :freebsd-i386-url: https://lists.FreeBSD.org/subscription/freebsd-i386 :freebsd-i386: {freebsd-i386-url}[{freebsd-i386-desc}] :freebsd-ia32-desc: lista de correo del port de IA32 para FreeBSD :freebsd-ia32-url: https://lists.FreeBSD.org/subscription/freebsd-ia32 :freebsd-ia32: {freebsd-ia32-url}[{freebsd-ia32-desc}] :freebsd-ia64-desc: lista de correo del port de IA64 para FreeBSD :freebsd-ia64-url: https://lists.FreeBSD.org/subscription/freebsd-ia64 :freebsd-ia64: {freebsd-ia64-url}[{freebsd-ia64-desc}] :freebsd-ipfw-desc: lista de correo sobre el código de IPFW de FreeBSD :freebsd-ipfw-url: https://lists.FreeBSD.org/subscription/freebsd-ipfw :freebsd-ipfw: {freebsd-ipfw-url}[{freebsd-ipfw-desc}] :freebsd-isdn-desc: lista de correo sobre RDSI/ISDN en FreeBSD :freebsd-isdn-url: https://lists.FreeBSD.org/subscription/freebsd-isdn :freebsd-isdn: {freebsd-isdn-url}[{freebsd-isdn-desc}] :freebsd-isp-desc: lista de correo de Proveedores de Servicios de Internet en FreeBSD :freebsd-isp-url: https://lists.FreeBSD.org/subscription/freebsd-isp :freebsd-isp: {freebsd-isp-url}[{freebsd-isp-desc}] :freebsd-java-desc: lista de correo sobre el Lenguaje Java en FreeBSD :freebsd-java-url: https://lists.FreeBSD.org/subscription/freebsd-java :freebsd-java: {freebsd-java-url}[{freebsd-java-desc}] :freebsd-jobs-desc: lista de correo sobre empleos relacionados con FreeBSD :freebsd-jobs-url: https://lists.FreeBSD.org/subscription/freebsd-jobs :freebsd-jobs: {freebsd-jobs-url}[{freebsd-jobs-desc}] :freebsd-kde-desc: lista de correo sobre KDE/Qt y aplicaciones KDE en FreeBSD :freebsd-kde-url: http://freebsd.kde.org/mailman/listinfo/kde-freebsd :freebsd-kde: {freebsd-kde-url}[{freebsd-kde-desc}] :freebsd-lfs-desc: lista de correo sobre el port de LFS a FreeBSD :freebsd-lfs-url: https://lists.FreeBSD.org/subscription/freebsd-lfs :freebsd-lfs: {freebsd-lfs-url}[{freebsd-lfs-desc}] :freebsd-libh-desc: lista de correo sobre el sistema de instalación y empaquetado libh en FreeBSD :freebsd-libh-url: https://lists.FreeBSD.org/subscription/freebsd-libh :freebsd-libh: {freebsd-libh-url}[{freebsd-libh-desc}] :freebsd-mips-desc: lista de correo del port de FreeBSD para MIPS :freebsd-mips-url: https://lists.FreeBSD.org/subscription/freebsd-mips :freebsd-mips: {freebsd-mips-url}[{freebsd-mips-desc}] :mirror-announce-desc: lista de correo de avisos para administradores de réplicas de FreeBSD :mirror-announce-url: https://lists.FreeBSD.org/subscription/mirror-announce :mirror-announce: {mirror-announce-url}[{mirror-announce-desc}] :freebsd-mobile-desc: lista de correo sobre FreeBSD y portátiles :freebsd-mobile-url: https://lists.FreeBSD.org/subscription/freebsd-mobile :freebsd-mobile: {freebsd-mobile-url}[{freebsd-mobile-desc}] :freebsd-mozilla-desc: lista de correo del port del navegador Mozilla a FreeBSD :freebsd-mozilla-url: https://lists.FreeBSD.org/subscription/freebsd-mozilla :freebsd-mozilla: {freebsd-mozilla-url}[{freebsd-mozilla-desc}] :freebsd-multimedia-desc: lista de correo sobre multimedia en FreeBSD :freebsd-multimedia-url: https://lists.FreeBSD.org/subscription/freebsd-multimedia :freebsd-multimedia: {freebsd-multimedia-url}[{freebsd-multimedia-desc}] :freebsd-net-desc: lista de correo sobre networking en FreeBSD :freebsd-net-url: https://lists.FreeBSD.org/subscription/freebsd-net :freebsd-net: {freebsd-net-url}[{freebsd-net-desc}] :freebsd-newbies-desc: lista de correo para recién llegados a FreeBSD :freebsd-newbies-url: https://lists.FreeBSD.org/subscription/freebsd-newbies :freebsd-newbies: {freebsd-newbies-url}[{freebsd-newbies-desc}] :freebsd-new-bus-desc: lista de correo sobre new-bus en FreeBSD :freebsd-new-bus-url: https://lists.FreeBSD.org/subscription/freebsd-new-bus :freebsd-new-bus: {freebsd-new-bus-url}[{freebsd-new-bus-desc}] :freebsd-openoffice-desc: lista de correo sobre OpenOffice.org en FreeBSD :freebsd-openoffice-url: https://lists.FreeBSD.org/subscription/freebsd-openoffice :freebsd-openoffice: {freebsd-openoffice-url}[{freebsd-openoffice-desc}] :freebsd-performance-desc: lista de correo sobre rendimiento de FreeBSD :freebsd-performance-url: https://lists.FreeBSD.org/subscription/freebsd-performance :freebsd-performance: {freebsd-performance-url}[{freebsd-performance-desc}] :freebsd-perl-desc: lista de correo sobre Perl en FreeBSD :freebsd-perl-url: https://lists.FreeBSD.org/subscription/freebsd-perl :freebsd-perl: {freebsd-perl-url}[{freebsd-perl-desc}] :freebsd-pf-desc: lista de correo sobre pf en FreeBSD :freebsd-pf-url: https://lists.FreeBSD.org/subscription/freebsd-pf :freebsd-pf: {freebsd-pf-url}[{freebsd-pf-desc}] :freebsd-platforms-desc: lista de correo sobre FreeBSD en plataformas no Intel :freebsd-platforms-url: https://lists.FreeBSD.org/subscription/freebsd-platforms :freebsd-platforms: {freebsd-platforms-url}[{freebsd-platforms-desc}] :freebsd-policy-desc: lista de correo del Core Team para las discusiones sobre líneas maestras de FreeBSD :freebsd-policy-url: https://lists.FreeBSD.org/subscription/freebsd-policy :freebsd-policy: {freebsd-policy-url}[{freebsd-policy-desc}] :freebsd-ports-desc: lista de correo sobre los ports de FreeBSD :freebsd-ports-url: https://lists.FreeBSD.org/subscription/freebsd-ports :freebsd-ports: {freebsd-ports-url}[{freebsd-ports-desc}] :freebsd-ports-bugs-desc: lista de correo sobre errores en los ports de FreeBSD :freebsd-ports-bugs-url: https://lists.FreeBSD.org/subscription/freebsd-ports-bugs :freebsd-ports-bugs: {freebsd-ports-bugs-url}[{freebsd-ports-bugs-desc}] :freebsd-ppc-desc: lista de correo del port de FreeBSD a PowerPC :freebsd-ppc-url: https://lists.FreeBSD.org/subscription/freebsd-ppc :freebsd-ppc: {freebsd-ppc-url}[{freebsd-ppc-desc}] :freebsd-proliant-desc: lista de correo de FreeBSD en servidores HP ProLiant :freebsd-proliant-url: https://lists.FreeBSD.org/subscription/freebsd-proliant :freebsd-proliant: {freebsd-proliant-url}[{freebsd-proliant-desc}] :freebsd-python-desc: lista de correo sobre Python en FreeBSD :freebsd-python-url: https://lists.FreeBSD.org/subscription/freebsd-python :freebsd-python: {freebsd-python-url}[{freebsd-python-desc}] :freebsd-qa-desc: lista de correo sobre 'Quality Assurance' en FreeBSD :freebsd-qa-url: https://lists.FreeBSD.org/subscription/freebsd-qa :freebsd-qa: {freebsd-qa-url}[{freebsd-qa-desc}] :freebsd-questions-desc: lista de correo para preguntas generales sobre FreeBSD :freebsd-questions-url: https://lists.FreeBSD.org/subscription/freebsd-questions :freebsd-questions: {freebsd-questions-url}[{freebsd-questions-desc}] :freebsd-rc-desc: lista de correo sobre los scripts de arranque de FreeBSD :freebsd-rc-url: https://lists.FreeBSD.org/subscription/freebsd-rc :freebsd-rc: {freebsd-rc-url}[{freebsd-rc-desc}] :freebsd-realtime-desc: lista de correo sobre extensiones en tiempo real en FreeBSD :freebsd-realtime-url: https://lists.FreeBSD.org/subscription/freebsd-realtime :freebsd-realtime: {freebsd-realtime-url}[{freebsd-realtime-desc}] :freebsd-scsi-desc: lista de correo sobre el subsistema SCSI de FreeBSD :freebsd-scsi-url: https://lists.FreeBSD.org/subscription/freebsd-scsi :freebsd-scsi: {freebsd-scsi-url}[{freebsd-scsi-desc}] :freebsd-security-desc: lista de correo sobre seguridad en FreeBSD :freebsd-security-url: https://lists.FreeBSD.org/subscription/freebsd-security :freebsd-security: {freebsd-security-url}[{freebsd-security-desc}] :freebsd-security-notifications-desc: lista de correo para anuncios de seguridad que afectan a FreeBSD :freebsd-security-notifications-url: https://lists.FreeBSD.org/subscription/freebsd-security-notifications :freebsd-security-notifications: {freebsd-security-notifications-url}[{freebsd-security-notifications-desc}] :freebsd-small-desc: lista de correo sobre sistemas empotrados y FreeBSD :freebsd-small-url: https://lists.FreeBSD.org/subscription/freebsd-small :freebsd-small: {freebsd-small-url}[{freebsd-small-desc}] :freebsd-smp-desc: lista de correo sobre multiproceso simétrico en FreeBSD :freebsd-smp-url: https://lists.FreeBSD.org/subscription/freebsd-smp :freebsd-smp: {freebsd-smp-url}[{freebsd-smp-desc}] :freebsd-sparc64-desc: lista de correo del port de FreeBSD a SPARC :freebsd-sparc64-url: https://lists.FreeBSD.org/subscription/freebsd-sparc64 :freebsd-sparc64: {freebsd-sparc64-url}[{freebsd-sparc64-desc}] :freebsd-stable-desc: lista de correo sobre FreeBSD-STABLE; :freebsd-stable-url: https://lists.FreeBSD.org/subscription/freebsd-stable :freebsd-stable: {freebsd-stable-url}[{freebsd-stable-desc}] :freebsd-standards-desc: lista de correo sobre la conformidad de FreeBSD con los estándares C99 y POSIX :freebsd-standards-url: https://lists.FreeBSD.org/subscription/freebsd-standards :freebsd-standards: {freebsd-standards-url}[{freebsd-standards-desc}] :freebsd-sun4v-desc: lista de correo del port de FreeBSD a sun4v :freebsd-sun4v-url: https://lists.FreeBSD.org/subscription/freebsd-sun4v :freebsd-sun4v: {freebsd-sun4v-url}[{freebsd-sun4v-desc}] :freebsd-test-desc: lista de correo de pruebas del servidor de listas de FreeBSD :freebsd-test-url: https://lists.FreeBSD.org/subscription/freebsd-test :freebsd-test: {freebsd-test-url}[{freebsd-test-desc}] :freebsd-testing-desc: lista de correo sobre pruebas de rendimiento y estabilidad de FreeBSD :freebsd-testing-url: https://lists.FreeBSD.org/subscription/freebsd-testing :freebsd-testing: {freebsd-testing-url}[{freebsd-testing-desc}] :freebsd-threads-desc: lista de correo sobre hilos -'threads'- en FreeBSD :freebsd-threads-url: https://lists.FreeBSD.org/subscription/freebsd-threads :freebsd-threads: {freebsd-threads-url}[{freebsd-threads-desc}] :freebsd-tokenring-desc: lista de correo sobre tokenring en FreeBSD :freebsd-tokenring-url: https://lists.FreeBSD.org/subscription/freebsd-tokenring :freebsd-tokenring: {freebsd-tokenring-url}[{freebsd-tokenring-desc}] :freebsd-usb-desc: lista de correo sobre USB en FreeBSD :freebsd-usb-url: https://lists.FreeBSD.org/subscription/freebsd-usb :freebsd-usb: {freebsd-usb-url}[{freebsd-usb-desc}] :freebsd-user-groups-desc: lista de correo para la coordinación de grupos de usuarios de FreeBSD :freebsd-user-groups-url: https://lists.FreeBSD.org/subscription/freebsd-user-groups :freebsd-user-groups: {freebsd-user-groups-url}[{freebsd-user-groups-desc}] :freebsd-vendors-desc: lista de correo para la coordinación de pre-releases de los distribuidores de FreeBSD :freebsd-vendors-url: https://lists.FreeBSD.org/subscription/freebsd-vendors :freebsd-vendors: {freebsd-vendors-url}[{freebsd-vendors-desc}] :freebsd-vuxml-desc: lista de correo sobre VuXML en FreeBSD :freebsd-vuxml-url: lista de correo sobre VuXML en FreeBSD :freebsd-vuxml: {freebsd-vuxml-url}[{freebsd-vuxml-desc}] :freebsd-www-desc: lista de correo de los Webmasters de FreeBSD :freebsd-www-url: https://lists.FreeBSD.org/subscription/freebsd-www :freebsd-www: {freebsd-www-url}[{freebsd-www-desc}] :freebsd-x11-desc: lista de correo sobre X11 en FreeBSD :freebsd-x11-url: https://lists.FreeBSD.org/subscription/freebsd-x11 :freebsd-x11: {freebsd-x11-url}[{freebsd-x11-desc}] :committers-name: lista de correo para 'committers' de FreeBSD :committers: {committers-name} :core-email: core@FreeBSD.org :core-name: FreeBSD core team :core: {core-name} :developers-name: lista de correo de desarrolladores de FreeBSD :developers: {committers-developers} :doc-committers-name: lista de correo del FreeBSD Documentation Project :doc-committers: {doc-committers-name} :doc-developers-name: lista de correo para desarrolladores de documentación de FreeBSD :doc-developers: {doc-developers-name} :ports-committers-name: lista de correo de los 'ports committers' de FreeBSD :ports-committers: {ports-committers-name} :ports-developers-name: lista de correo de los 'ports developers' de FreeBSD :ports-developers: {ports-developers-name} :src-committers-name: lista de correo de los 'src/ committers' de FreeBSD :src-committers: {src-committers-name} :src-developers-name: lista de correo de los 'src/ developers' de FreeBSD :src-developers: {src-developers-name} // Listas de correo oficiales de FreeBSD en castellano. :es-doc-desc: lista de correo sobre la documentación de FreeBSD en castellano :es-doc-url: https://listas.es.FreeBSD.org/mailman/listinfo/doc :es-doc: {es-doc-url}[{es-doc-desc}] :es-freebsd-desc: lista de correo en castellano sobre FreeBSD :es-freebsd-url: https://listas.es.FreeBSD.org/mailman/freebsd :es-freebsd: {es-freebsd-url}[{es-freebsd-desc}] // Not really proper mailing lists :bugfollowup: bug-followup@FreeBSD.org :bugsubmit: {bugfollowup} :majordomo: majordomo@FreeBSD.org diff --git a/shared/fr/mailing-lists.adoc b/shared/fr/mailing-lists.adoc index 406f951aae..0681ce875c 100644 --- a/shared/fr/mailing-lists.adoc +++ b/shared/fr/mailing-lists.adoc @@ -1,558 +1,558 @@ // // The FreeBSD Documentation Project // The FreeBSD French Documentation Project // // Noms des listes de diffusion sur FreeBSD et les logiciels associes. // // $FreeBSD$ // -:mailman-lists-desc: serveur des listes de diffusion FreeBSD -:mailman-lists-url: https://lists.freebsd.org -:mailman-lists: {mailman-lists-url}[{mailman-lists-desc}] +:mailing-lists-desc: serveur des listes de diffusion FreeBSD +:mailing-lists-url: https://lists.freebsd.org +:mailing-lists: {mailing-lists-url}[{mailing-lists-desc}] :freebsd-acpi-desc: liste de diffusion concernant ACPI sous FreeBSD :freebsd-acpi-url: https://lists.FreeBSD.org/subscription/freebsd-acpi :freebsd-acpi: {freebsd-acpi-url}[{freebsd-acpi-desc}] :freebsd-advocacy-desc: liste de diffusion de propagande sur FreeBSD :freebsd-advocacy-url: https://lists.FreeBSD.org/subscription/freebsd-advocacy :freebsd-advocacy: {freebsd-advocacy-url}[{freebsd-advocacy-desc}] :freebsd-afs-desc: liste de diffusion sur le portage d'AFS sous FreeBSD :freebsd-afs-url: https://lists.FreeBSD.org/subscription/freebsd-afs :freebsd-afs: {freebsd-afs-url}[{freebsd-afs-desc}] :freebsd-aic7xxx-desc: liste de diffusion sur les contrôleurs Adaptec AIC7xxx sous FreeBSD :freebsd-aic7xxx-url: https://lists.FreeBSD.org/subscription/aic7xxx :freebsd-aic7xxx: {freebsd-aic7xxx-url}[{freebsd-aic7xxx-desc}] :freebsd-amd64-desc: liste de diffusion sur le portage de FreeBSD sur les systèmes AMD64 :freebsd-amd64-url: https://lists.FreeBSD.org/subscription/freebsd-amd64 :freebsd-amd64: {freebsd-amd64-url}[{freebsd-amd64-desc}] :freebsd-announce-desc: liste de diffusion pour les annonces relatives à FreeBSD :freebsd-announce-url: https://lists.FreeBSD.org/subscription/freebsd-announce :freebsd-announce: {freebsd-announce-url}[{freebsd-announce-desc}] :freebsd-apache-desc: liste de diffusion realtive à Apache sous FreeBSD :freebsd-apache-url: https://lists.FreeBSD.org/subscription/freebsd-apache :freebsd-apache: {freebsd-apache-url}[{freebsd-apache-desc}] :freebsd-arch-desc: liste de diffusion sur l'architecture et l'implémentation de FreeBSD :freebsd-arch-url: https://lists.FreeBSD.org/subscription/freebsd-arch :freebsd-arch: {freebsd-arch-url}[{freebsd-arch-desc}] :freebsd-arm-desc: liste de diffusion sur le portage de FreeBSD sur les systèmes ARM :freebsd-arm-url: https://lists.FreeBSD.org/subscription/freebsd-arm :freebsd-arm: {freebsd-arm-url}[{freebsd-arm-desc}] :freebsd-atm-desc: liste de diffusion sur les réseaux ATM sous FreeBSD :freebsd-atm-url: https://lists.FreeBSD.org/subscription/freebsd-atm :freebsd-atm: {freebsd-atm-url}[{freebsd-atm-desc}] :freebsd-audit-desc: liste de diffusion pour l'audit du code source de FreeBSD :freebsd-audit-url: https://lists.FreeBSD.org/subscription/freebsd-audit :freebsd-audit: {freebsd-audit-url}[{freebsd-audit-desc}] :freebsd-binup-desc: liste de diffusion pour la mise à jour binaire du système FreeBSD :freebsd-binup-url: https://lists.FreeBSD.org/subscription/freebsd-binup :freebsd-binup: {freebsd-binup-url}[{freebsd-binup-desc}] :freebsd-bluetooth-desc: liste de diffusion sur relative à la technologie Bluetooth sous FreeBSD :freebsd-bluetooth-url: https://lists.FreeBSD.org/subscription/freebsd-bluetooth :freebsd-bluetooth: {freebsd-bluetooth-url}[{freebsd-bluetooth-desc}] :freebsd-bugbusters-desc: liste de diffusion pour la recherche de bogue sous FreeBSD :freebsd-bugbusters-url: https://lists.FreeBSD.org/subscription/freebsd-bugbusters :freebsd-bugbusters: {freebsd-bugbusters-url}[{freebsd-bugbusters-desc}] :freebsd-bugs-desc: liste de diffusion des rapports de bogue de FreeBSD :freebsd-bugs-url: https://lists.FreeBSD.org/subscription/freebsd-bugs :freebsd-bugs: {freebsd-bugs-url}[{freebsd-bugs-desc}] :freebsd-chat-desc: liste de diffusion pour la discussion de sujets non-techniques en rapport avec FreeBSD :freebsd-chat-url: https://lists.FreeBSD.org/subscription/freebsd-chat :freebsd-chat: {freebsd-chat-url}[{freebsd-chat-desc}] :freebsd-chromium-desc: problèmes avec Chromium et relatifs à FreeBSD :freebsd-chromium-url: https://lists.FreeBSD.org/subscription/freebsd-chromium :freebsd-chromium: {freebsd-chromium-url}[{freebsd-chromium-desc}] :freebsd-cluster-desc: liste de diffusion sur l'utilisation de grappes de machines sous FreeBSD :freebsd-cluster-url: https://lists.FreeBSD.org/subscription/freebsd-cluster :freebsd-cluster: {freebsd-cluster-url}[{freebsd-cluster-desc}] :freebsd-current-desc: liste de diffusion à propos de la branche FreeBSD-CURRENT :freebsd-current-url: https://lists.FreeBSD.org/subscription/freebsd-current :freebsd-current: {freebsd-current-url}[{freebsd-current-desc}] :ctm-announce-desc: annonces CTM :ctm-announce-url: https://lists.FreeBSD.org/subscription/ctm-announce :ctm-announce: {ctm-announce-url}[{ctm-announce-desc}] :ctm-cvs-cur-desc: distribution des fichiers CVS via CTM :ctm-cvs-cur-url: https://lists.FreeBSD.org/subscription/ctm-cvs-cur :ctm-cvs-cur: {ctm-cvs-cur-url}[{ctm-cvs-cur-desc}] :ctm-src-4-desc: liste de diffusion des sources de la branche 4-STABLE via CTM :ctm-src-4-url: https://lists.FreeBSD.org/subscription/ctm-src-4 :ctm-src-4: {ctm-src-4-url}[{ctm-src-4-desc}] :ctm-src-5-desc: liste de diffusion des sources de la branche 5-STABLE via CTM :ctm-src-5-url: https://lists.FreeBSD.org/subscription/ctm-src-5 :ctm-src-5: {ctm-src-5-url}[{ctm-src-5-desc}] :ctm-src-6-desc: liste de diffusion des sources de la branche 6-STABLE via CTM :ctm-src-6-url: https://lists.FreeBSD.org/subscription/ctm-src-6 :ctm-src-6: {ctm-src-6-url}[{ctm-src-6-desc}] :ctm-src-7-desc: liste de diffusion des sources de la branche 7-STABLE via CTM :ctm-src-7-url: https://lists.FreeBSD.org/subscription/ctm-src-7 :ctm-src-7: {ctm-src-7-url}[{ctm-src-7-desc}] :ctm-src-8-desc: liste de diffusion des sources de la branche 8-STABLE via CTM :ctm-src-8-url: https://lists.FreeBSD.org/subscription/ctm-src-8 :ctm-src-8: {ctm-src-8-url}[{ctm-src-8-desc}] :ctm-src-cur-desc: liste de diffusion des sources de la branche -CURRENT via CTM :ctm-src-cur-url: https://lists.FreeBSD.org/subscription/ctm-src-cur :ctm-src-cur: {ctm-src-cur-url}[{ctm-src-cur-desc}] :ctm-users-desc: liste de diffusion des utilisateurs de CTM :ctm-users-url: https://lists.FreeBSD.org/subscription/ctm-users :ctm-users: {ctm-users-url}[{ctm-users-desc}] :cvs-all-desc: liste de diffusion des messages de modification CVS de FreeBSD :cvs-all-url: https://lists.FreeBSD.org/subscription/cvs-all :cvs-all: {cvs-all-url}[{cvs-all-desc}] :cvs-doc-desc: liste de diffusion des messages de modification CVS concernant la documentation de FreeBSD :cvs-doc-url: https://lists.FreeBSD.org/subscription/cvs-doc :cvs-doc: {cvs-doc-url}[{cvs-doc-desc}] :cvs-ports-desc: liste de diffusion des messages de modification CVS concernant les logiciels portés de FreeBSD :cvs-ports-url: https://lists.FreeBSD.org/subscription/cvs-ports :cvs-ports: {cvs-ports-url}[{cvs-ports-desc}] :cvs-projects-desc: liste de diffusion des messages de modification CVS concernant les projets FreeBSD :cvs-projects-url: https://lists.FreeBSD.org/subscription/cvs-projects :cvs-projects: {cvs-projects-url}[{cvs-projects-desc}] :cvs-src-desc: liste de diffusion des messages de modification CVS concernant les sources de FreeBSD :cvs-src-url: https://lists.FreeBSD.org/subscription/cvs-src :cvs-src: {cvs-src-url}[{cvs-src-desc}] :freebsd-cvsweb-desc: liste de diffusion à propos de la maintenance CVSweb de FreeBSD :freebsd-cvsweb-url: https://lists.FreeBSD.org/subscription/freebsd-cvsweb :freebsd-cvsweb: {freebsd-cvsweb-url}[{freebsd-cvsweb-desc}] :freebsd-database-desc: liste de diffusion à propos de l'utilisation et du développement de bases de données sous FreeBSD :freebsd-database-url: https://lists.FreeBSD.org/subscription/freebsd-database :freebsd-database: {freebsd-database-url}[{freebsd-database-desc}] :freebsd-doc-desc: liste de diffusion du groupe de documentation de FreeBSD :freebsd-doc-url: https://lists.FreeBSD.org/subscription/freebsd-doc :freebsd-doc: {freebsd-doc-url}[{freebsd-doc-desc}] :freebsd-drivers-desc: Ecrire des pilotes de périphériques pour FreeBSD :freebsd-drivers-url: https://lists.FreeBSD.org/subscription/freebsd-drivers :freebsd-drivers: {freebsd-drivers-url}[{freebsd-drivers-desc}] :freebsd-eclipse-desc: liste de diffusion pour les utilisateurs FreeBSD de l'EDI Eclipse, des utilitaires, des applications et logiciels utilisant Eclipse :freebsd-eclipse-url: https://lists.FreeBSD.org/subscription/freebsd-eclipse :freebsd-eclipse: {freebsd-eclipse-url}[{freebsd-eclipse-desc}] :freebsd-embedded-desc: liste de diffusion sur l'utilisation de FreeBSD dans les systèmes embarqués :freebsd-embedded-url: https://lists.FreeBSD.org/subscription/freebsd-embedded :freebsd-embedded: {freebsd-embedded-url}[{freebsd-embedded-desc}] :freebsd-emulation-desc: liste de diffusion à propos de l'émulation d'autres systèmes d'exploitation sous FreeBSD :freebsd-emulation-url: https://lists.FreeBSD.org/subscription/freebsd-emulation :freebsd-emulation: {freebsd-emulation-url}[{freebsd-emulation-desc}] :freebsd-eol-desc: liste de diffusion concernant la fin du support des anciennes versions de FreeBSD :freebsd-eol-url: https://lists.FreeBSD.org/subscription/freebsd-eol :freebsd-eol: {freebsd-eol-url}[{freebsd-eol-desc}] :freebsd-firewire-desc: liste de diffusion à propos du FireWire (IEEE 1394) sous FreeBSD :freebsd-firewire-url: https://lists.FreeBSD.org/subscription/freebsd-firewire :freebsd-firewire: {freebsd-firewire-url}[{freebsd-firewire-desc}] :freebsd-fs-desc: liste de diffusion sur les systèmes de fichiers :freebsd-fs-url: https://lists.FreeBSD.org/subscription/freebsd-fs :freebsd-fs: {freebsd-fs-url}[{freebsd-fs-desc}] :freebsd-gecko-desc: liste de diffusion gecko FreeBSD :freebsd-gecko-url: https://lists.FreeBSD.org/subscription/freebsd-gecko :freebsd-gecko: {freebsd-gecko-url}[{freebsd-gecko-desc}] :freebsd-geom-desc: liste de diffusion concernant FreeBSD GEOM :freebsd-geom-url: https://lists.FreeBSD.org/subscription/freebsd-geom :freebsd-geom: {freebsd-geom-url}[{freebsd-geom-desc}] :freebsd-gnome-desc: liste de diffusion concernant le Project FreeBSD GNOME et les applications GNOME :freebsd-gnome-url: https://lists.FreeBSD.org/subscription/freebsd-gnome :freebsd-gnome: {freebsd-gnome-url}[{freebsd-gnome-desc}] :freebsd-hackers-desc: liste de diffusion pour les discussions techniques sur FreeBSD :freebsd-hackers-url: https://lists.FreeBSD.org/subscription/freebsd-hackers :freebsd-hackers: {freebsd-hackers-url}[{freebsd-hackers-desc}] :freebsd-hardware-desc: liste de diffusion pour les discussions générales sur le matériel utilisable avec FreeBSD :freebsd-hardware-url: https://lists.FreeBSD.org/subscription/freebsd-hardware :freebsd-hardware: {freebsd-hardware-url}[{freebsd-hardware-desc}] :freebsd-hubs-desc: liste de diffusion pour les sites miroirs de FreeBSD :freebsd-hubs-url: https://lists.FreeBSD.org/subscription/freebsd-hubs :freebsd-hubs: {freebsd-hubs-url}[{freebsd-hubs-desc}] :freebsd-i18n-desc: liste de diffusion pour les discussions sur l'internationalisation de FreeBSD :freebsd-i18n-url: https://lists.FreeBSD.org/subscription/freebsd-i18n :freebsd-i18n: {freebsd-i18n-url}[{freebsd-i18n-desc}] :freebsd-i386-desc: liste de diffusion pour les problèmes spécifiques à l'architecture i386 sous FreeBSD :freebsd-i386-url: https://lists.FreeBSD.org/subscription/freebsd-i386 :freebsd-i386: {freebsd-i386-url}[{freebsd-i386-desc}] :freebsd-ia32-desc: liste de diffusion sur le portage de FreeBSD sur l'architecture IA32 :freebsd-ia32-url: https://lists.FreeBSD.org/subscription/freebsd-ia32 :freebsd-ia32: {freebsd-ia32-url}[{freebsd-ia32-desc}] :freebsd-ia64-desc: liste de diffusion sur le portage de FreeBSD sur l'architecture IA64 :freebsd-ia64-url: https://lists.FreeBSD.org/subscription/freebsd-ia64 :freebsd-ia64: {freebsd-ia64-url}[{freebsd-ia64-desc}] :freebsd-ipfw-desc: liste de diffusion sur le code d'IPFW :freebsd-ipfw-url: https://lists.FreeBSD.org/subscription/freebsd-ipfw :freebsd-ipfw: {freebsd-ipfw-url}[{freebsd-ipfw-desc}] :freebsd-isdn-desc: liste de diffusion concernant l'ISDN sous FreeBSD :freebsd-isdn-url: https://lists.FreeBSD.org/subscription/freebsd-isdn :freebsd-isdn: {freebsd-isdn-url}[{freebsd-isdn-desc}] :freebsd-isp-desc: liste de diffusion pour les fournisseurs d'accès Internet utilisant FreeBSD :freebsd-isp-url: https://lists.FreeBSD.org/subscription/freebsd-isp :freebsd-isp: {freebsd-isp-url}[{freebsd-isp-desc}] :freebsd-jail-desc: liste de diffusion concernant les environnements jail sous FreeBSD :freebsd-jail-url: https://lists.FreeBSD.org/subscription/freebsd-jail :freebsd-jail: {freebsd-jail-url}[{freebsd-jail-desc}] :freebsd-java-desc: liste de diffusion sur le langage Java sous FreeBSD :freebsd-java-url: https://lists.FreeBSD.org/subscription/freebsd-java :freebsd-java: {freebsd-java-url}[{freebsd-java-desc}] :freebsd-jobs-desc: liste de diffusion sur les emplois en rapport avec FreeBSD :freebsd-jobs-url: https://lists.FreeBSD.org/subscription/freebsd-jobs :freebsd-jobs: {freebsd-jobs-url}[{freebsd-jobs-desc}] :freebsd-kde-desc: liste de diffusion concernant le Project FreeBSD KDE/Qt et les applications KDE :freebsd-kde-url: https://mail.kde.org/mailman/listinfo/kde-freebsd :freebsd-kde: {freebsd-kde-url}[{freebsd-kde-desc}] :freebsd-lfs-desc: liste de diffusion sur le portage de LFS sous FreeBSD :freebsd-lfs-url: https://lists.FreeBSD.org/subscription/freebsd-lfs :freebsd-lfs: {freebsd-lfs-url}[{freebsd-lfs-desc}] :freebsd-libh-desc: liste de diffusion sur le système d'installation et de distribution de logiciels libh :freebsd-libh-url: https://lists.FreeBSD.org/subscription/freebsd-libh :freebsd-libh: {freebsd-libh-url}[{freebsd-libh-desc}] :freebsd-mips-desc: liste de diffusion sur le portage de FreeBSD sur l'architecture MIPS :freebsd-mips-url: https://lists.FreeBSD.org/subscription/freebsd-mips :freebsd-mips: {freebsd-mips-url}[{freebsd-mips-desc}] :mirror-announce-desc: liste de diffusion des administrateurs de miroirs FreeBSD :mirror-announce-url: https://lists.FreeBSD.org/subscription/mirror-announce :mirror-announce: {mirror-announce-url}[{mirror-announce-desc}] :freebsd-mobile-desc: liste de diffusion pour les discussions concernant les ordinateurs portables sous FreeBSD :freebsd-mobile-url: https://lists.FreeBSD.org/subscription/freebsd-mobile :freebsd-mobile: {freebsd-mobile-url}[{freebsd-mobile-desc}] :freebsd-mono-desc: applications Mono et C# sous FreeBSD :freebsd-mono-url: https://lists.FreeBSD.org/subscription/freebsd-mono :freebsd-mono: {freebsd-mono-url}[{freebsd-mono-desc}] :freebsd-mozilla-desc: liste de diffusion à propos du portage FreeBSD du navigateur Mozilla :freebsd-mozilla-url: https://lists.FreeBSD.org/subscription/freebsd-mozilla :freebsd-mozilla: {freebsd-mozilla-url}[{freebsd-mozilla-desc}] :freebsd-multimedia-desc: liste de diffusion pour les discussions concernant le multimédia sous FreeBSD :freebsd-multimedia-url: https://lists.FreeBSD.org/subscription/freebsd-multimedia :freebsd-multimedia: {freebsd-multimedia-url}[{freebsd-multimedia-desc}] :freebsd-net-desc: liste de diffusion pour les discussions sur les réseaux sous FreeBSD :freebsd-net-url: https://lists.FreeBSD.org/subscription/freebsd-net :freebsd-net: {freebsd-net-url}[{freebsd-net-desc}] :freebsd-newbies-desc: liste de diffusion pour les discussions entre nouveaux utilisateurs de FreeBSD :freebsd-newbies-url: https://lists.FreeBSD.org/subscription/freebsd-newbies :freebsd-newbies: {freebsd-newbies-url}[{freebsd-newbies-desc}] :freebsd-new-bus-desc: liste de diffusion concernant l'architecture New Bus :freebsd-new-bus-url: https://lists.FreeBSD.org/subscription/freebsd-new-bus :freebsd-new-bus: {freebsd-new-bus-url}[{freebsd-new-bus-desc}] :freebsd-openoffice-desc: liste de diffusion à propos du portage FreeBSD d'OpenOffice :freebsd-openoffice-url: https://lists.FreeBSD.org/subscription/freebsd-openoffice :freebsd-openoffice: {freebsd-openoffice-url}[{freebsd-openoffice-desc}] :freebsd-performance-desc: liste de diffusion à propos de l'amélioration des performances sous FreeBSD :freebsd-performance-url: https://lists.FreeBSD.org/subscription/freebsd-performance :freebsd-performance: {freebsd-performance-url}[{freebsd-performance-desc}] :freebsd-perl-desc: liste de diffusion à propose de perl sous FreeBSD :freebsd-perl-url: https://lists.FreeBSD.org/subscription/freebsd-perl :freebsd-perl: {freebsd-perl-url}[{freebsd-perl-desc}] :freebsd-pf-desc: liste de diffusion relative au programme packet filter sous FreeBSD :freebsd-pf-url: https://lists.FreeBSD.org/subscription/freebsd-pf :freebsd-pf: {freebsd-pf-url}[{freebsd-pf-desc}] :freebsd-platforms-desc: liste de diffusion à propos des portages sur les plates-formes non-Intel :freebsd-platforms-url: https://lists.FreeBSD.org/subscription/freebsd-platforms :freebsd-platforms: {freebsd-platforms-url}[{freebsd-platforms-desc}] :freebsd-policy-desc: liste de diffusion pour les décisions de la politique de l'équipe de base de FreeBSD :freebsd-policy-url: https://lists.FreeBSD.org/subscription/freebsd-policy :freebsd-policy: {freebsd-policy-url}[{freebsd-policy-desc}] :freebsd-ports-desc: liste de diffusion à propos du catalogue des logiciels portés de FreeBSD :freebsd-ports-url: https://lists.FreeBSD.org/subscription/freebsd-ports :freebsd-ports: {freebsd-ports-url}[{freebsd-ports-desc}] :freebsd-ports-bugs-desc: liste de diffusion à propos des rapports de bogue concernant le catalogue des logiciels portés de FreeBSD :freebsd-ports-bugs-url: https://lists.FreeBSD.org/subscription/freebsd-ports-bugs :freebsd-ports-bugs: {freebsd-ports-bugs-url}[{freebsd-ports-bugs-desc}] :freebsd-ppc-desc: liste de diffusion sur le portage de FreeBSD sur les systèmes PowerPC :freebsd-ppc-url: https://lists.FreeBSD.org/subscription/freebsd-ppc :freebsd-ppc: {freebsd-ppc-url}[{freebsd-ppc-desc}] :freebsd-proliant-desc: liste de diffusion pour les discussions techniques à propos de l'utilisation de FreeBSD sur les serveurs HP ProLiant :freebsd-proliant-url: https://lists.FreeBSD.org/subscription/freebsd-proliant :freebsd-proliant: {freebsd-proliant-url}[{freebsd-proliant-desc}] :freebsd-python-desc: liste de diffusion relative à Python sous FreeBSD :freebsd-python-url: https://lists.FreeBSD.org/subscription/freebsd-python :freebsd-python: {freebsd-python-url}[{freebsd-python-desc}] :freebsd-questions-desc: liste de diffusion pour les questions d'ordre général à propos de FreeBSD :freebsd-questions-url: https://lists.FreeBSD.org/subscription/freebsd-questions :freebsd-questions: {freebsd-questions-url}[{freebsd-questions-desc}] :freebsd-rc-desc: liste de diffusion sur le système de procédures de démarrage de FreeBSD :freebsd-rc-url: https://lists.FreeBSD.org/subscription/freebsd-rc :freebsd-rc: {freebsd-rc-url}[{freebsd-rc-desc}] :freebsd-realtime-desc: liste de diffusion sur les extensions temps réel de FreeBSD :freebsd-realtime-url: https://lists.FreeBSD.org/subscription/freebsd-realtime :freebsd-realtime: {freebsd-realtime-url}[{freebsd-realtime-desc}] :freebsd-ruby-desc: liste de diffusion sur l'utilisation de ruby sous FreeBSD :freebsd-ruby-url: https://lists.FreeBSD.org/subscription/freebsd-ruby :freebsd-ruby: {freebsd-ruby-url}[{freebsd-ruby-desc}] :freebsd-scsi-desc: liste de diffusion sur le sous-système SCSI de FreeBSD :freebsd-scsi-url: https://lists.FreeBSD.org/subscription/freebsd-scsi :freebsd-scsi: {freebsd-scsi-url}[{freebsd-scsi-desc}] :freebsd-security-desc: liste de diffusion pour les questions concernant la sécurité :freebsd-security-url: https://lists.FreeBSD.org/subscription/freebsd-security :freebsd-security: {freebsd-security-url}[{freebsd-security-desc}] :freebsd-security-notifications-desc: liste de diffusion des avis de sécurité pour FreeBSD :freebsd-security-notifications-url: https://lists.FreeBSD.org/subscription/freebsd-security-notifications :freebsd-security-notifications: {freebsd-security-notifications-url}[{freebsd-security-notifications-desc}] :freebsd-small-desc: liste de diffusion pour les systèmes FreeBSD embarqués :freebsd-small-url: https://lists.FreeBSD.org/subscription/freebsd-small :freebsd-small: {freebsd-small-url}[{freebsd-small-desc}] :freebsd-sparc64-desc: liste de diffusion sur le portage de FreeBSD sur les systèmes SPARC :freebsd-sparc64-url: https://lists.FreeBSD.org/subscription/freebsd-sparc64 :freebsd-sparc64: {freebsd-sparc64-url}[{freebsd-sparc64-desc}] :freebsd-stable-desc: liste de diffusion à propos de la branche FreeBSD-STABLE; :freebsd-stable-url: https://lists.FreeBSD.org/subscription/freebsd-stable :freebsd-stable: {freebsd-stable-url}[{freebsd-stable-desc}] :freebsd-standards-desc: liste de diffusion concernant la conformité de FreeBSD aux normes C99 et POSIX :freebsd-standards-url: https://lists.FreeBSD.org/subscription/freebsd-standards :freebsd-standards: {freebsd-standards-url}[{freebsd-standards-desc}] :freebsd-sun4v-desc: liste de diffusion concernant le portage de FreeBSD par l'architecture sun4v :freebsd-sun4v-url: https://lists.FreeBSD.org/subscription/freebsd-sun4v :freebsd-sun4v: {freebsd-sun4v-url}[{freebsd-sun4v-desc}] :svn-src-all-desc: messages SVN de modification concernant l'intégrélité de l'arbre src (en dehors des arbres "user" et "projects") :svn-src-all-url: https://lists.FreeBSD.org/subscription/svn-src-all :svn-src-all: {svn-src-all-url}[{svn-src-all-desc}] :svn-src-head-desc: messages SVN de modification pour l'arbre pour head/-current :svn-src-head-url: https://lists.FreeBSD.org/subscription/svn-src-head :svn-src-head: {svn-src-head-url}[{svn-src-head-desc}] :svn-src-projects-desc: messages SVN de modification pour l'arbre src "projects" :svn-src-projects-url: https://lists.FreeBSD.org/subscription/svn-src-projects :svn-src-projects: {svn-src-projects-url}[{svn-src-projects-desc}] :svn-src-release-desc: messages SVN de modification de l'arbre src pour les versions publiées :svn-src-release-url: https://lists.FreeBSD.org/subscription/svn-src-release :svn-src-release: {svn-src-release-url}[{svn-src-release-desc}] :svn-src-releng-desc: messages SVN pour les modifications sur l'arbre src relatives à la sécurité ou à la fabrication des versions :svn-src-releng-url: https://lists.FreeBSD.org/subscription/svn-src-releng :svn-src-releng: {svn-src-releng-url}[{svn-src-releng-desc}] :svn-src-stable-desc: messages SVN de modification de l'arbre src pour toutes les branches -stable :svn-src-stable-url: https://lists.FreeBSD.org/subscription/svn-src-stable :svn-src-stable: {svn-src-stable-url}[{svn-src-stable-desc}] :svn-src-stable-6-desc: messages SVN de modification uniquement pour la branche 6-stable de l'arbre src :svn-src-stable-6-url: https://lists.FreeBSD.org/subscription/svn-src-stable-6 :svn-src-stable-6: {svn-src-stable-6-url}[{svn-src-stable-6-desc}] :svn-src-stable-7-desc: messages SVN de modification uniquement pour la branche 7-stable de l'arbre src :svn-src-stable-7-url: https://lists.FreeBSD.org/subscription/svn-src-stable-7 :svn-src-stable-7: {svn-src-stable-7-url}[{svn-src-stable-7-desc}] :svn-src-stable-8-desc: messages SVN de modification uniquement pour la branche 8-stable de l'arbre src :svn-src-stable-8-url: https://lists.FreeBSD.org/subscription/svn-src-stable-8 :svn-src-stable-8: {svn-src-stable-8-url}[{svn-src-stable-8-desc}] :svn-src-stable-other-desc: messages SVN de modification des arbres src des anciennes branches stable :svn-src-stable-other-url: https://lists.FreeBSD.org/subscription/svn-src-stable-other :svn-src-stable-other: {svn-src-stable-other-url}[{svn-src-stable-other-desc}] :svn-src-svnadmin-desc: messages SVN de modification pour l'admin / et l'arbre de configuration :svn-src-svnadmin-url: https://lists.FreeBSD.org/subscription/svn-src-svnadmin :svn-src-svnadmin: {svn-src-svnadmin-url}[{svn-src-svnadmin-desc}] :svn-src-user-desc: messages SVN de modification pour l'arbre expérimental "user" :svn-src-user-url: https://lists.FreeBSD.org/subscription/svn-src-user :svn-src-user: {svn-src-user-url}[{svn-src-user-desc}] :svn-src-vendor-desc: messages SVN de modification concernant la partie relative aux fournisseurs :svn-src-vendor-url: https://lists.FreeBSD.org/subscription/svn-src-vendor :svn-src-vendor: {svn-src-vendor-url}[{svn-src-vendor-desc}] :freebsd-sysinstall-desc: liste de diffusion relative au développement de Sysinstall :freebsd-sysinstall-url: https://lists.FreeBSD.org/subscription/freebsd-sysinstall :freebsd-sysinstall: {freebsd-sysinstall-url}[{freebsd-sysinstall-desc}] :freebsd-test-desc: liste de diffusion de test :freebsd-test-url: https://lists.FreeBSD.org/subscription/freebsd-test :freebsd-test: {freebsd-test-url}[{freebsd-test-desc}] :freebsd-testing-desc: list de diffusion à propos des tests de stabilité et de performance de FreeBSD :freebsd-testing-url: https://lists.FreeBSD.org/subscription/freebsd-testing :freebsd-testing: {freebsd-testing-url}[{freebsd-testing-desc}] :freebsd-threads-desc: liste de diffusion à propos des threads sous FreeBSD :freebsd-threads-url: https://lists.FreeBSD.org/subscription/freebsd-threads :freebsd-threads: {freebsd-threads-url}[{freebsd-threads-desc}] :freebsd-tilera-desc: portage de FreeBSD sur la famille de CPUs Tilera :freebsd-tilera-url: https://lists.FreeBSD.org/subscription/freebsd-tilera :freebsd-tilera: {freebsd-tilera-url}[{freebsd-tilera-desc}] :freebsd-tokenring-desc: liste de diffusion sur le support des réseaux d'anneaux à jetons sous FreeBSD :freebsd-tokenring-url: https://lists.FreeBSD.org/subscription/freebsd-tokenring :freebsd-tokenring: {freebsd-tokenring-url}[{freebsd-tokenring-desc}] :freebsd-toolchain-desc: liste de diffusion sur la chaîne intégrée de compilation FreeBSD :freebsd-toolchain-url: https://lists.FreeBSD.org/subscription/freebsd-toolchain :freebsd-toolchain: {freebsd-toolchain-url}[{freebsd-toolchain-desc}] :freebsd-usb-desc: liste de diffusion sur le support USB sous FreeBSD :freebsd-usb-url: https://lists.FreeBSD.org/subscription/freebsd-usb :freebsd-usb: {freebsd-usb-url}[{freebsd-usb-desc}] :freebsd-user-groups-desc: liste de diffusion de coordination des groupes d'utilisateurs FreeBSD :freebsd-user-groups-url: https://lists.FreeBSD.org/subscription/freebsd-user-groups :freebsd-user-groups: {freebsd-user-groups-url}[{freebsd-user-groups-desc}] :freebsd-vendors-desc: liste de diffusion concernant la coordination des fournisseurs de pré-versions de FreeBSD :freebsd-vendors-url: https://lists.FreeBSD.org/subscription/freebsd-vendors :freebsd-vendors: {freebsd-vendors-url}[{freebsd-vendors-desc}] :freebsd-virtualization-desc: Discussion sur les différentes techniques de virtualisation supportées par FreeBSD :freebsd-virtualization-url: https://lists.FreeBSD.org/subscription/freebsd-virtualization :freebsd-virtualization: {freebsd-virtualization-url}[{freebsd-virtualization-desc}] :freebsd-vuxml-desc: discussion sur l'infrastructure VuXML :freebsd-vuxml-url: https://lists.FreeBSD.org/subscription/freebsd-vuxml :freebsd-vuxml: {freebsd-vuxml-url}[{freebsd-vuxml-desc}] :freebsd-wip-status-desc: liste de diffusion sur l'état des travaux en cours relatifs à FreeBSD :freebsd-wip-status-url: https://lists.FreeBSD.org/subscription/freebsd-wip-status :freebsd-wip-status: {freebsd-wip-status-url}[{freebsd-wip-status-desc}] :freebsd-wireless-desc: Discussions sur la pile 802.11, le développement de pilotes de périphérique :freebsd-wireless-url: https://lists.FreeBSD.org/subscription/freebsd-wireless :freebsd-wireless: {freebsd-wireless-url}[{freebsd-wireless-desc}] :freebsd-www-desc: liste de diffusion des Webmestres FreeBSD :freebsd-www-url: https://lists.FreeBSD.org/subscription/freebsd-www :freebsd-www: {freebsd-www-url}[{freebsd-www-desc}] :freebsd-x11-desc: liste de diffusion concernant X11 sous FreeBSD :freebsd-x11-url: https://lists.FreeBSD.org/subscription/freebsd-x11 :freebsd-x11: {freebsd-x11-url}[{freebsd-x11-desc}] :fr-doc-desc: liste de diffusion du groupe d'utilisateurs francophones de FreeBSD :fr-doc-email: freebsd-questions@FreeBSD-fr.org :fr-doc: {fr-doc-email}[{fr-doc-desc}] :committers-name: liste de diffusion pour les committers de FreeBSD :committers: {committers-name} :core-name: liste de diffusion de l'équipe de base de FreeBSD :core: {core-name} :developers-name: liste de diffusion des développeurs de FreeBSD :developers: {committers-developers} :doc-committers-name: liste de diffusion pour les committers de la documentation de FreeBSD :doc-committers: {doc-committers-name} :doc-developers-name: liste de diffusion pour les développeurs de l'arborescence doc/ de FreeBSD :doc-developers: {doc-developers-name} :ports-committers-name: liste de diffusion pour les committers du catalogue des logiciels portés de FreeBSD :ports-committers: {ports-committers-name} :ports-developers-name: liste de diffusion pour les développeurs de l'arborescence ports/ de FreeBSD :ports-developers: {ports-developers-name} :src-committers-name: liste de diffusion pour les committers des sources de FreeBSD :src-committers: {src-committers-name} :src-developers-name: liste de diffusion pour les développeurs de l'arborescence src/ de FreeBSD :src-developers: {src-developers-name} // Ce ne sont pas des listes de diffusions :bugfollowup: bug-followup@FreeBSD.org :bugsubmit: {bugfollowup} :majordomo: majordomo@FreeBSD.org // The following mailinglists are deactivated. Keep them until all references // in the documentation are gone. :alpha-desc: liste de diffusion sur le portage de FreeBSD sur les systèmes Alpha :alpha-url: https://lists.FreeBSD.org/subscription/freebsd-alpha :alpha: {alpha-url}[{alpha-desc}] :qa-desc: liste de diffusion sur la qualité de FreeBSD :qa-url: https://lists.FreeBSD.org/subscription/freebsd-qa :qa: {qa-url}[{qa-desc}] :smp-desc: iste de diffusion concernant le traitement symétrique multiprocesseurs (SMP) sous FreeBSD :smp-url: https://lists.FreeBSD.org/subscription/freebsd-smp :smp: {smp-url}[{smp-desc}] diff --git a/shared/hu/mailing-lists.adoc b/shared/hu/mailing-lists.adoc index 8cd2b6686f..8cc6cc3d86 100644 --- a/shared/hu/mailing-lists.adoc +++ b/shared/hu/mailing-lists.adoc @@ -1,527 +1,527 @@ // // Names of FreeBSD mailing lists and related software. // $FreeBSD$ // -:mailman-lists-desc: FreeBSD lista szerver -:mailman-lists-url: https://lists.freebsd.org -:mailman-lists: {mailman-lists-url}[{mailman-lists-desc}] +:mailing-lists-desc: FreeBSD lista szerver +:mailing-lists-url: https://lists.freebsd.org +:mailing-lists: {mailing-lists-url}[{mailing-lists-desc}] :freebsd-acpi-desc: FreeBSD ACPI levelezési lista :freebsd-acpi-url: https://lists.FreeBSD.org/subscription/freebsd-acpi :freebsd-acpi: {freebsd-acpi-url}[{freebsd-acpi-desc}] :freebsd-advocacy-desc: FreeBSD advocacy levelezési lista :freebsd-advocacy-url: https://lists.FreeBSD.org/subscription/freebsd-advocacy :freebsd-advocacy: {freebsd-advocacy-url}[{freebsd-advocacy-desc}] :freebsd-afs-desc: FreeBSD AFS levelezési lista :freebsd-afs-url: https://lists.FreeBSD.org/subscription/freebsd-afs :freebsd-afs: {freebsd-afs-url}[{freebsd-afs-desc}] :freebsd-aic7xxx-desc: FreeBSD Adaptec AIC7xxx levelezési lista :freebsd-aic7xxx-url: https://lists.FreeBSD.org/subscription/aic7xxx :freebsd-aic7xxx: {freebsd-aic7xxx-url}[{freebsd-aic7xxx-desc}] :freebsd-alpha-desc: FreeBSD Alpha levelezési lista :freebsd-alpha-url: https://lists.FreeBSD.org/subscription/freebsd-alpha :freebsd-alpha: {freebsd-alpha-url}[{freebsd-alpha-desc}] :freebsd-amd64-desc: FreeBSD AMD64 levelezési lista :freebsd-amd64-url: https://lists.FreeBSD.org/subscription/freebsd-amd64 :freebsd-amd64: {freebsd-amd64-url}[{freebsd-amd64-desc}] :freebsd-announce-desc: FreeBSD announcements levelezési lista :freebsd-announce-url: https://lists.FreeBSD.org/subscription/freebsd-announce :freebsd-announce: {freebsd-announce-url}[{freebsd-announce-desc}] :freebsd-apache-desc: FreeBSD Apache levelezési lista :freebsd-apache-url: https://lists.FreeBSD.org/subscription/freebsd-apache :freebsd-apache: {freebsd-apache-url}[{freebsd-apache-desc}] :freebsd-arch-desc: FreeBSD architecture and design levelezési lista :freebsd-arch-url: https://lists.FreeBSD.org/subscription/freebsd-arch :freebsd-arch: {freebsd-arch-url}[{freebsd-arch-desc}] :freebsd-arm-desc: FreeBSD ARM levelezési lista :freebsd-arm-url: https://lists.FreeBSD.org/subscription/freebsd-arm :freebsd-arm: {freebsd-arm-url}[{freebsd-arm-desc}] :freebsd-atm-desc: FreeBSD ATM networking levelezési lista :freebsd-atm-url: https://lists.FreeBSD.org/subscription/freebsd-atm :freebsd-atm: {freebsd-atm-url}[{freebsd-atm-desc}] :freebsd-audit-desc: FreeBSD source code audit levelezési lista :freebsd-audit-url: https://lists.FreeBSD.org/subscription/freebsd-audit :freebsd-audit: {freebsd-audit-url}[{freebsd-audit-desc}] :freebsd-binup-desc: FreeBSD binary update levelezési lista :freebsd-binup-url: https://lists.FreeBSD.org/subscription/freebsd-binup :freebsd-binup: {freebsd-binup-url}[{freebsd-binup-desc}] :freebsd-bluetooth-desc: FreeBSD Bluetooth levelezési lista :freebsd-bluetooth-url: https://lists.FreeBSD.org/subscription/freebsd-bluetooth :freebsd-bluetooth: {freebsd-bluetooth-url}[{freebsd-bluetooth-desc}] :freebsd-bugbusters-desc: FreeBSD bugbusters levelezési lista :freebsd-bugbusters-url: https://lists.FreeBSD.org/subscription/freebsd-bugbusters :freebsd-bugbusters: {freebsd-bugbusters-url}[{freebsd-bugbusters-desc}] :freebsd-bugs-desc: FreeBSD problem reports levelezési lista :freebsd-bugs-url: https://lists.FreeBSD.org/subscription/freebsd-bugs :freebsd-bugs: {freebsd-bugs-url}[{freebsd-bugs-desc}] :freebsd-chat-desc: FreeBSD chat levelezési lista :freebsd-chat-url: https://lists.FreeBSD.org/subscription/freebsd-chat :freebsd-chat: {freebsd-chat-url}[{freebsd-chat-desc}] :freebsd-cluster-desc: FreeBSD clustering levelezési lista :freebsd-cluster-url: https://lists.FreeBSD.org/subscription/freebsd-cluster :freebsd-cluster: {freebsd-cluster-url}[{freebsd-cluster-desc}] :freebsd-current-desc: FreeBSD-CURRENT levelezési lista :freebsd-current-url: https://lists.FreeBSD.org/subscription/freebsd-current :freebsd-current: {freebsd-current-url}[{freebsd-current-desc}] :ctm-announce-desc: CTM announcements levelezési lista :ctm-announce-url: https://lists.FreeBSD.org/subscription/ctm-announce :ctm-announce: {ctm-announce-url}[{ctm-announce-desc}] :ctm-cvs-cur-desc: CTM distribution of CVS files levelezési lista :ctm-cvs-cur-url: https://lists.FreeBSD.org/subscription/ctm-cvs-cur :ctm-cvs-cur: {ctm-cvs-cur-url}[{ctm-cvs-cur-desc}] :ctm-src-4-desc: CTM 4-STABLE src branch distribution levelezési lista :ctm-src-4-url: https://lists.FreeBSD.org/subscription/ctm-src-4 :ctm-src-4: {ctm-src-4-url}[{ctm-src-4-desc}] :ctm-src-cur-desc: CTM -CURRENT src branch distribution levelezési lista :ctm-src-cur-url: https://lists.FreeBSD.org/subscription/ctm-src-cur :ctm-src-cur: {ctm-src-cur-url}[{ctm-src-cur-desc}] :ctm-users-desc: CTM user discussion levelezési lista :ctm-users-url: https://lists.FreeBSD.org/subscription/ctm-users :ctm-users: {ctm-users-url}[{ctm-users-desc}] :cvs-all-desc: FreeBSD CVS commit message levelezési lista :cvs-all-url: https://lists.FreeBSD.org/subscription/cvs-all :cvs-all: {cvs-all-url}[{cvs-all-desc}] :cvs-doc-desc: FreeBSD CVS doc commit lista :cvs-doc-url: https://lists.FreeBSD.org/subscription/cvs-doc :cvs-doc: {cvs-doc-url}[{cvs-doc-desc}] :cvs-ports-desc: FreeBSD CVS ports commit lista :cvs-ports-url: https://lists.FreeBSD.org/subscription/cvs-ports :cvs-ports: {cvs-ports-url}[{cvs-ports-desc}] :cvs-projects-desc: FreeBSD CVS projects commit lista :cvs-projects-url: https://lists.FreeBSD.org/subscription/cvs-projects :cvs-projects: {cvs-projects-url}[{cvs-projects-desc}] :cvs-src-desc: FreeBSD CVS src commit lista :cvs-src-url: https://lists.FreeBSD.org/subscription/cvs-src :cvs-src: {cvs-src-url}[{cvs-src-desc}] :freebsd-cvsweb-desc: FreeBSD CVSweb maintenance levelezési lista :freebsd-cvsweb-url: https://lists.FreeBSD.org/subscription/freebsd-cvsweb :freebsd-cvsweb: {freebsd-cvsweb-url}[{freebsd-cvsweb-desc}] :freebsd-database-desc: FreeBSD based Databases levelezési lista :freebsd-database-url: https://lists.FreeBSD.org/subscription/freebsd-database :freebsd-database: {freebsd-database-url}[{freebsd-database-desc}] :freebsd-doc-desc: FreeBSD Dokumentációs Projekt levelezési lista :freebsd-doc-url: https://lists.FreeBSD.org/subscription/freebsd-doc :freebsd-doc: {freebsd-doc-url}[{freebsd-doc-desc}] :freebsd-drivers-desc: FreeBSD device drivers levelezési lista :freebsd-drivers-url: https://lists.FreeBSD.org/subscription/freebsd-drivers :freebsd-drivers: {freebsd-drivers-url}[{freebsd-drivers-desc}] :freebsd-eclipse-desc: FreeBSD users of Eclipse IDE levelezési lista :freebsd-eclipse-url: https://lists.FreeBSD.org/subscription/freebsd-eclipse :freebsd-eclipse: {freebsd-eclipse-url}[{freebsd-eclipse-desc}] :freebsd-embedded-desc: FreeBSD-embedded levelezési lista :freebsd-embedded-url: https://lists.FreeBSD.org/subscription/freebsd-embedded :freebsd-embedded: {freebsd-embedded-url}[{freebsd-embedded-desc}] :freebsd-emulation-desc: FreeBSD-emulation levelezési lista :freebsd-emulation-url: https://lists.FreeBSD.org/subscription/freebsd-emulation :freebsd-emulation: {freebsd-emulation-url}[{freebsd-emulation-desc}] :freebsd-eol-desc: FreeBSD-eol levelezési lista :freebsd-eol-url: https://lists.FreeBSD.org/subscription/freebsd-eol :freebsd-eol: {freebsd-eol-url}[{freebsd-eol-desc}] :freebsd-firewire-desc: FreeBSD FireWire (IEEE 1394) levelezési lista :freebsd-firewire-url: https://lists.FreeBSD.org/subscription/freebsd-firewire :freebsd-firewire: {freebsd-firewire-url}[{freebsd-firewire-desc}] :freebsd-fs-desc: FreeBSD file system project levelezési lista :freebsd-fs-url: https://lists.FreeBSD.org/subscription/freebsd-fs :freebsd-fs: {freebsd-fs-url}[{freebsd-fs-desc}] :freebsd-gecko-desc: FreeBSD Gecko levelezési lista :freebsd-gecko-url: https://lists.FreeBSD.org/subscription/freebsd-gecko :freebsd-gecko: {freebsd-gecko-url}[{freebsd-gecko-desc}] :freebsd-geom-desc: FreeBSD GEOM levelezési lista :freebsd-geom-url: https://lists.FreeBSD.org/subscription/freebsd-geom :freebsd-geom: {freebsd-geom-url}[{freebsd-geom-desc}] :freebsd-gnome-desc: FreeBSD GNOME and GNOME applications levelezési lista :freebsd-gnome-url: https://lists.FreeBSD.org/subscription/freebsd-gnome :freebsd-gnome: {freebsd-gnome-url}[{freebsd-gnome-desc}] :freebsd-hackers-desc: FreeBSD technical discussions levelezési lista :freebsd-hackers-url: https://lists.FreeBSD.org/subscription/freebsd-hackers :freebsd-hackers: {freebsd-hackers-url}[{freebsd-hackers-desc}] :freebsd-hardware-desc: FreeBSD hardware and equipment levelezési lista :freebsd-hardware-url: https://lists.FreeBSD.org/subscription/freebsd-hardware :freebsd-hardware: {freebsd-hardware-url}[{freebsd-hardware-desc}] :freebsd-hubs-desc: FreeBSD mirror sites levelezési lista :freebsd-hubs-url: https://lists.FreeBSD.org/subscription/freebsd-hubs :freebsd-hubs: {freebsd-hubs-url}[{freebsd-hubs-desc}] :freebsd-i18n-desc: FreeBSD internationalization levelezési lista :freebsd-i18n-url: https://lists.FreeBSD.org/subscription/freebsd-i18n :freebsd-i18n: {freebsd-i18n-url}[{freebsd-i18n-desc}] :freebsd-i386-desc: FreeBSD i386 levelezési lista :freebsd-i386-url: https://lists.FreeBSD.org/subscription/freebsd-i386 :freebsd-i386: {freebsd-i386-url}[{freebsd-i386-desc}] :freebsd-ia32-desc: FreeBSD IA32 levelezési lista :freebsd-ia32-url: https://lists.FreeBSD.org/subscription/freebsd-ia32 :freebsd-ia32: {freebsd-ia32-url}[{freebsd-ia32-desc}] :freebsd-ia64-desc: FreeBSD IA64 levelezési lista :freebsd-ia64-url: https://lists.FreeBSD.org/subscription/freebsd-ia64 :freebsd-ia64: {freebsd-ia64-url}[{freebsd-ia64-desc}] :freebsd-ipfw-desc: FreeBSD IPFW levelezési lista :freebsd-ipfw-url: https://lists.FreeBSD.org/subscription/freebsd-ipfw :freebsd-ipfw: {freebsd-ipfw-url}[{freebsd-ipfw-desc}] :freebsd-isdn-desc: FreeBSD ISDN levelezési lista :freebsd-isdn-url: https://lists.FreeBSD.org/subscription/freebsd-isdn :freebsd-isdn: {freebsd-isdn-url}[{freebsd-isdn-desc}] :freebsd-isp-desc: FreeBSD Internet service provider's levelezési lista :freebsd-isp-url: https://lists.FreeBSD.org/subscription/freebsd-isp :freebsd-isp: {freebsd-isp-url}[{freebsd-isp-desc}] :freebsd-jail-desc: FreeBSD jails levelezési lista :freebsd-jail-url: https://lists.FreeBSD.org/subscription/freebsd-jail :freebsd-jail: {freebsd-jail-url}[{freebsd-jail-desc}] :freebsd-java-desc: FreeBSD Java Language levelezési lista :freebsd-java-url: https://lists.FreeBSD.org/subscription/freebsd-java :freebsd-java: {freebsd-java-url}[{freebsd-java-desc}] :freebsd-jobs-desc: FreeBSD related employment levelezési lista :freebsd-jobs-url: https://lists.FreeBSD.org/subscription/freebsd-jobs :freebsd-jobs: {freebsd-jobs-url}[{freebsd-jobs-desc}] :freebsd-kde-desc: FreeBSD KDE/Qt and KDE applications levelezési lista :freebsd-kde-url: https://mail.kde.org/mailman/listinfo/kde-freebsd :freebsd-kde: {freebsd-kde-url}[{freebsd-kde-desc}] :freebsd-lfs-desc: FreeBSD LFS porting levelezési lista :freebsd-lfs-url: https://lists.FreeBSD.org/subscription/freebsd-lfs :freebsd-lfs: {freebsd-lfs-url}[{freebsd-lfs-desc}] :freebsd-libh-desc: FreeBSD libh installation and packaging system levelezési lista :freebsd-libh-url: https://lists.FreeBSD.org/subscription/freebsd-libh :freebsd-libh: {freebsd-libh-url}[{freebsd-libh-desc}] :freebsd-mips-desc: FreeBSD MIPS levelezési lista :freebsd-mips-url: https://lists.FreeBSD.org/subscription/freebsd-mips :freebsd-mips: {freebsd-mips-url}[{freebsd-mips-desc}] :mirror-announce-desc: FreeBSD mirror site adminisztrátorok :mirror-announce-url: https://lists.FreeBSD.org/subscription/mirror-announce :mirror-announce: {mirror-announce-url}[{mirror-announce-desc}] :freebsd-mobile-desc: FreeBSD laptop computer levelezési lista :freebsd-mobile-url: https://lists.FreeBSD.org/subscription/freebsd-mobile :freebsd-mobile: {freebsd-mobile-url}[{freebsd-mobile-desc}] :freebsd-mono-desc: FreeBSD Mono és C# alkalmazások levelezési lista :freebsd-mono-url: https://lists.FreeBSD.org/subscription/freebsd-mono :freebsd-mono: {freebsd-mono-url}[{freebsd-mono-desc}] :freebsd-mozilla-desc: FreeBSD port of the Mozilla browser levelezési lista :freebsd-mozilla-url: https://lists.FreeBSD.org/subscription/freebsd-mozilla :freebsd-mozilla: {freebsd-mozilla-url}[{freebsd-mozilla-desc}] :freebsd-multimedia-desc: FreeBSD multimedia levelezési lista :freebsd-multimedia-url: https://lists.FreeBSD.org/subscription/freebsd-multimedia :freebsd-multimedia: {freebsd-multimedia-url}[{freebsd-multimedia-desc}] :freebsd-net-desc: FreeBSD networking levelezési lista :freebsd-net-url: https://lists.FreeBSD.org/subscription/freebsd-net :freebsd-net: {freebsd-net-url}[{freebsd-net-desc}] :freebsd-newbies-desc: FreeBSD new users levelezési lista :freebsd-newbies-url: https://lists.FreeBSD.org/subscription/freebsd-newbies :freebsd-newbies: {freebsd-newbies-url}[{freebsd-newbies-desc}] :freebsd-new-bus-desc: FreeBSD new-bus levelezési lista :freebsd-new-bus-url: https://lists.FreeBSD.org/subscription/freebsd-new-bus :freebsd-new-bus: {freebsd-new-bus-url}[{freebsd-new-bus-desc}] :freebsd-openoffice-desc: FreeBSD OpenOffice levelezési lista :freebsd-openoffice-url: https://lists.FreeBSD.org/subscription/freebsd-openoffice :freebsd-openoffice: {freebsd-openoffice-url}[{freebsd-openoffice-desc}] :freebsd-performance-desc: FreeBSD performance levelezési lista :freebsd-performance-url: https://lists.FreeBSD.org/subscription/freebsd-performance :freebsd-performance: {freebsd-performance-url}[{freebsd-performance-desc}] :freebsd-perl-desc: FreeBSD Perl levelezési lista :freebsd-perl-url: https://lists.FreeBSD.org/subscription/freebsd-perl :freebsd-perl: {freebsd-perl-url}[{freebsd-perl-desc}] :freebsd-pf-desc: FreeBSD packet filter levelezési lista :freebsd-pf-url: https://lists.FreeBSD.org/subscription/freebsd-pf :freebsd-pf: {freebsd-pf-url}[{freebsd-pf-desc}] :freebsd-platforms-desc: FreeBSD non-Intel platforms levelezési lista :freebsd-platforms-url: https://lists.FreeBSD.org/subscription/freebsd-platforms :freebsd-platforms: {freebsd-platforms-url}[{freebsd-platforms-desc}] :freebsd-policy-desc: FreeBSD core team policy decisions levelezési lista :freebsd-policy-url: https://lists.FreeBSD.org/subscription/freebsd-policy :freebsd-policy: {freebsd-policy-url}[{freebsd-policy-desc}] :freebsd-ports-desc: FreeBSD ports levelezési lista :freebsd-ports-url: https://lists.FreeBSD.org/subscription/freebsd-ports :freebsd-ports: {freebsd-ports-url}[{freebsd-ports-desc}] :freebsd-ports-bugs-desc: FreeBSD ports bugs levelezési lista :freebsd-ports-bugs-url: https://lists.FreeBSD.org/subscription/freebsd-ports-bugs :freebsd-ports-bugs: {freebsd-ports-bugs-url}[{freebsd-ports-bugs-desc}] :freebsd-ppc-desc: FreeBSD PowerPC levelezési lista :freebsd-ppc-url: https://lists.FreeBSD.org/subscription/freebsd-ppc :freebsd-ppc: {freebsd-ppc-url}[{freebsd-ppc-desc}] :freebsd-proliant-desc: FreeBSD on HP ProLiant server levelezési lista :freebsd-proliant-url: https://lists.FreeBSD.org/subscription/freebsd-proliant :freebsd-proliant: {freebsd-proliant-url}[{freebsd-proliant-desc}] :freebsd-python-desc: FreeBSD Python levelezési lista :freebsd-python-url: https://lists.FreeBSD.org/subscription/freebsd-python :freebsd-python: {freebsd-python-url}[{freebsd-python-desc}] :freebsd-qa-desc: FreeBSD Quality Assurance levelezési lista :freebsd-qa-url: https://lists.FreeBSD.org/subscription/freebsd-qa :freebsd-qa: {freebsd-qa-url}[{freebsd-qa-desc}] :freebsd-questions-desc: FreeBSD general questions levelezési lista :freebsd-questions-url: https://lists.FreeBSD.org/subscription/freebsd-questions :freebsd-questions: {freebsd-questions-url}[{freebsd-questions-desc}] :freebsd-rc-desc: FreeBSD boot script system levelezési lista :freebsd-rc-url: https://lists.FreeBSD.org/subscription/freebsd-rc :freebsd-rc: {freebsd-rc-url}[{freebsd-rc-desc}] :freebsd-realtime-desc: FreeBSD realtime extensions levelezési lista :freebsd-realtime-url: https://lists.FreeBSD.org/subscription/freebsd-realtime :freebsd-realtime: {freebsd-realtime-url}[{freebsd-realtime-desc}] :freebsd-ruby-desc: FreeBSD Ruby levelezési lista :freebsd-ruby-url: https://lists.FreeBSD.org/subscription/freebsd-ruby :freebsd-ruby: {freebsd-ruby-url}[{freebsd-ruby-desc}] :freebsd-scsi-desc: FreeBSD SCSI subsystem levelezési lista :freebsd-scsi-url: https://lists.FreeBSD.org/subscription/freebsd-scsi :freebsd-scsi: {freebsd-scsi-url}[{freebsd-scsi-desc}] :freebsd-security-desc: FreeBSD security levelezési lista :freebsd-security-url: https://lists.FreeBSD.org/subscription/freebsd-security :freebsd-security: {freebsd-security-url}[{freebsd-security-desc}] :freebsd-security-notifications-desc: FreeBSD security notifications levelezési lista :freebsd-security-notifications-url: https://lists.FreeBSD.org/subscription/freebsd-security-notifications :freebsd-security-notifications: {freebsd-security-notifications-url}[{freebsd-security-notifications-desc}] :freebsd-small-desc: FreeBSD-small levelezési lista :freebsd-small-url: https://lists.FreeBSD.org/subscription/freebsd-small :freebsd-small: {freebsd-small-url}[{freebsd-small-desc}] :freebsd-smp-desc: FreeBSD symmetric multiprocessing levelezési lista :freebsd-smp-url: https://lists.FreeBSD.org/subscription/freebsd-smp :freebsd-smp: {freebsd-smp-url}[{freebsd-smp-desc}] :freebsd-sparc64-desc: FreeBSD SPARC levelezési lista :freebsd-sparc64-url: https://lists.FreeBSD.org/subscription/freebsd-sparc64 :freebsd-sparc64: {freebsd-sparc64-url}[{freebsd-sparc64-desc}] :freebsd-stable-desc: FreeBSD-STABLE; levelezési lista :freebsd-stable-url: https://lists.FreeBSD.org/subscription/freebsd-stable :freebsd-stable: {freebsd-stable-url}[{freebsd-stable-desc}] :freebsd-standards-desc: FreeBSD C99 and POSIX compliance levelezési lista :freebsd-standards-url: https://lists.FreeBSD.org/subscription/freebsd-standards :freebsd-standards: {freebsd-standards-url}[{freebsd-standards-desc}] :freebsd-sun4v-desc: FreeBSD sun4v levelezési lista :freebsd-sun4v-url: https://lists.FreeBSD.org/subscription/freebsd-sun4v :freebsd-sun4v: {freebsd-sun4v-url}[{freebsd-sun4v-desc}] :svn-src-all-desc: A teljes src fa SVN commit üzenetei (kivéve "user" és "projects") :svn-src-all-url: https://lists.FreeBSD.org/subscription/svn-src-all :svn-src-all: {svn-src-all-url}[{svn-src-all-desc}] :svn-src-head-desc: Az src fa head/-current ágának SVN commit üzenetei :svn-src-head-url: https://lists.FreeBSD.org/subscription/svn-src-head :svn-src-head: {svn-src-head-url}[{svn-src-head-desc}] :svn-src-projects-desc: Az src "projects" fa SVN commit üzenetei :svn-src-projects-url: https://lists.FreeBSD.org/subscription/svn-src-projects :svn-src-projects: {svn-src-projects-url}[{svn-src-projects-desc}] :svn-src-release-desc: Az src fa kiadásokat tartalmazó ágainak SVN commit üzenetei :svn-src-release-url: https://lists.FreeBSD.org/subscription/svn-src-release :svn-src-release: {svn-src-release-url}[{svn-src-release-desc}] :svn-src-releng-desc: Az src fa kiadásokkal és biztonsági javításokkal kapcsolatos SVN commit üzenetei :svn-src-releng-url: https://lists.FreeBSD.org/subscription/svn-src-releng :svn-src-releng: {svn-src-releng-url}[{svn-src-releng-desc}] :svn-src-stable-desc: Az src fa -stable ágainak SVN commit üzenetei :svn-src-stable-url: https://lists.FreeBSD.org/subscription/svn-src-stable :svn-src-stable: {svn-src-stable-url}[{svn-src-stable-desc}] :svn-src-stable-6-desc: Az src fa 6-stable ágának SVN commit üzenetei :svn-src-stable-6-url: https://lists.FreeBSD.org/subscription/svn-src-stable-6 :svn-src-stable-6: {svn-src-stable-6-url}[{svn-src-stable-6-desc}] :svn-src-stable-7-desc: Az src fa 7-stable ágának SVN commit üzenetei :svn-src-stable-7-url: https://lists.FreeBSD.org/subscription/svn-src-stable-7 :svn-src-stable-7: {svn-src-stable-7-url}[{svn-src-stable-7-desc}] :svn-src-stable-8-desc: Az src fa 8-stable ágának SVN commit üzenetei :svn-src-stable-8-url: https://lists.FreeBSD.org/subscription/svn-src-stable-8 :svn-src-stable-8: {svn-src-stable-8-url}[{svn-src-stable-8-desc}] :svn-src-stable-other-desc: Az src fa régebbi -stable ágainak SVN commit üzenetei :svn-src-stable-other-url: https://lists.FreeBSD.org/subscription/svn-src-stable-other :svn-src-stable-other: {svn-src-stable-other-url}[{svn-src-stable-other-desc}] :svn-src-svnadmin-desc: A repository szkriptjeihez és beállításaihoz tartozó SVN commit üzenetek :svn-src-svnadmin-url: https://lists.FreeBSD.org/subscription/svn-src-svnadmin :svn-src-svnadmin: {svn-src-svnadmin-url}[{svn-src-svnadmin-desc}] :svn-src-user-desc: Az src fa kísérleti jellegû "user" részének SVN commit üzenetei :svn-src-user-url: https://lists.FreeBSD.org/subscription/svn-src-user :svn-src-user: {svn-src-user-url}[{svn-src-user-desc}] :svn-src-vendor-desc: Az src fa vendor könyvtárának SVN commit üzenetei :svn-src-vendor-url: https://lists.FreeBSD.org/subscription/svn-src-vendor :svn-src-vendor: {svn-src-vendor-url}[{svn-src-vendor-desc}] :freebsd-sysinstall-desc: FreeBSD sysinstall levelezési lista :freebsd-sysinstall-url: https://lists.FreeBSD.org/subscription/freebsd-sysinstall :freebsd-sysinstall: {freebsd-sysinstall-url}[{freebsd-sysinstall-desc}] :freebsd-test-desc: FreeBSD test levelezési lista :freebsd-test-url: https://lists.FreeBSD.org/subscription/freebsd-test :freebsd-test: {freebsd-test-url}[{freebsd-test-desc}] :freebsd-testing-desc: FreeBSD performance and stability testing levelezési lista :freebsd-testing-url: https://lists.FreeBSD.org/subscription/freebsd-testing :freebsd-testing: {freebsd-testing-url}[{freebsd-testing-desc}] :freebsd-threads-desc: FreeBSD threads levelezési lista :freebsd-threads-url: https://lists.FreeBSD.org/subscription/freebsd-threads :freebsd-threads: {freebsd-threads-url}[{freebsd-threads-desc}] :freebsd-tilera-desc: FreeBSD Tilera levelezési lista :freebsd-tilera-url: https://lists.FreeBSD.org/subscription/freebsd-tilera :freebsd-tilera: {freebsd-tilera-url}[{freebsd-tilera-desc}] :freebsd-tokenring-desc: FreeBSD tokenring levelezési lista :freebsd-tokenring-url: https://lists.FreeBSD.org/subscription/freebsd-tokenring :freebsd-tokenring: {freebsd-tokenring-url}[{freebsd-tokenring-desc}] :freebsd-toolchain-desc: FreeBSD segédprogramok levelezési lista :freebsd-toolchain-url: https://lists.FreeBSD.org/subscription/freebsd-toolchain :freebsd-toolchain: {freebsd-toolchain-url}[{freebsd-toolchain-desc}] :freebsd-usb-desc: FreeBSD USB levelezési lista :freebsd-usb-url: https://lists.FreeBSD.org/subscription/freebsd-usb :freebsd-usb: {freebsd-usb-url}[{freebsd-usb-desc}] :freebsd-user-groups-desc: FreeBSD user group coordination levelezési lista :freebsd-user-groups-url: https://lists.FreeBSD.org/subscription/freebsd-user-groups :freebsd-user-groups: {freebsd-user-groups-url}[{freebsd-user-groups-desc}] :freebsd-vendors-desc: FreeBSD vendors pre-release coordination levelezési lista :freebsd-vendors-url: https://lists.FreeBSD.org/subscription/freebsd-vendors :freebsd-vendors: {freebsd-vendors-url}[{freebsd-vendors-desc}] :freebsd-virtualization-desc: Discussion of various virtualization techniques supported by FreeBSD levelezési lista :freebsd-virtualization-url: https://lists.FreeBSD.org/subscription/freebsd-virtualization :freebsd-virtualization: {freebsd-virtualization-url}[{freebsd-virtualization-desc}] :freebsd-vuxml-desc: FreeBSD VuXML levelezési lista :freebsd-vuxml-url: https://lists.FreeBSD.org/subscription/freebsd-vuxml :freebsd-vuxml: {freebsd-vuxml-url}[{freebsd-vuxml-desc}] :freebsd-wip-status-desc: FreeBSD Work-In-Progress Status levelezési lista :freebsd-wip-status-url: https://lists.FreeBSD.org/subscription/freebsd-wip-status :freebsd-wip-status: {freebsd-wip-status-url}[{freebsd-wip-status-desc}] :freebsd-www-desc: FreeBSD Webmaster levelezési lista :freebsd-www-url: https://lists.FreeBSD.org/subscription/freebsd-www :freebsd-www: {freebsd-www-url}[{freebsd-www-desc}] :freebsd-x11-desc: FreeBSD X11 levelezési lista :freebsd-x11-url: https://lists.FreeBSD.org/subscription/freebsd-x11 :freebsd-x11: {freebsd-x11-url}[{freebsd-x11-desc}] :freebsd-xen-desc: FreeBSD Xen port levelezési lista :freebsd-xen-url: https://lists.FreeBSD.org/subscription/freebsd-xen :freebsd-xen: {freebsd-xen-url}[{freebsd-xen-desc}] :committers-name: FreeBSD committer's mailing list :committers: {committers-name} :core-name: FreeBSD core team :core: {core-name} :developers-name: FreeBSD developers levelezési lista :developers: {committers-developers} :doc-committers-name: FreeBSD doc/ committer's levelezési lista :doc-committers: {doc-committers-name} :doc-developers-name: FreeBSD doc/ developers levelezési lista :doc-developers: {doc-developers-name} :ports-committers-name: FreeBSD ports/ committer's levelezési lista :ports-committers: {ports-committers-name} :ports-developers-name: FreeBSD ports/ developers levelezési lista :ports-developers: {ports-developers-name} :src-committers-name: FreeBSD src/ committer's levelezési lista :src-committers: {src-committers-name} :src-developers-name: FreeBSD src/ developers levelezési lista :src-developers: {src-developers-name} // Not really proper mailing lists :bugfollowup: bug-followup@FreeBSD.org :bugsubmit: {bugfollowup} :majordomo: majordomo@FreeBSD.org diff --git a/shared/it/mailing-lists.adoc b/shared/it/mailing-lists.adoc index f6a88dbf22..f177a91d62 100644 --- a/shared/it/mailing-lists.adoc +++ b/shared/it/mailing-lists.adoc @@ -1,443 +1,443 @@ // // // The FreeBSD Italian Documentation Project // // Nomi delle mailing list FreeBSD e relativo software. // // $FreeBSD$ // -:mailman-lists-desc: server delle liste di FreeBSD -:mailman-lists-url: https://lists.freebsd.org -:mailman-lists: {mailman-lists-url}[{mailman-lists-desc}] +:mailing-lists-desc: server delle liste di FreeBSD +:mailing-lists-url: https://lists.freebsd.org +:mailing-lists: {mailing-lists-url}[{mailing-lists-desc}] :freebsd-acpi-desc: mailing list su ACPI in FreeBSD :freebsd-acpi-url: https://lists.FreeBSD.org/subscription/freebsd-acpi :freebsd-acpi: {freebsd-acpi-url}[{freebsd-acpi-desc}] :freebsd-advocacy-desc: mailing list sull'avvocatura di FreeBSD :freebsd-advocacy-url: https://lists.FreeBSD.org/subscription/freebsd-advocacy :freebsd-advocacy: {freebsd-advocacy-url}[{freebsd-advocacy-desc}] :freebsd-afs-desc: mailing list sul porting di AFS su FreeBSD :freebsd-afs-url: https://lists.FreeBSD.org/subscription/freebsd-afs :freebsd-afs: {freebsd-afs-url}[{freebsd-afs-desc}] :freebsd-aic7xxx-desc: mailing list di discussione sugli Adaptec AIC7xxx in FreeBSD :freebsd-aic7xxx-url: https://lists.FreeBSD.org/subscription/aic7xxx :freebsd-aic7xxx: {freebsd-aic7xxx-url}[{freebsd-aic7xxx-desc}] :freebsd-alpha-desc: mailing list sul porting di FreeBSD sui sistemi Alpha :freebsd-alpha-url: https://lists.FreeBSD.org/subscription/freebsd-alpha :freebsd-alpha: {freebsd-alpha-url}[{freebsd-alpha-desc}] :freebsd-amd64-desc: mailing list sul porting di FreeBSD sui sistemi AMD64 :freebsd-amd64-url: https://lists.FreeBSD.org/subscription/freebsd-amd64 :freebsd-amd64: {freebsd-amd64-url}[{freebsd-amd64-desc}] :freebsd-announce-desc: mailing list di annunci su FreeBSD :freebsd-announce-url: https://lists.FreeBSD.org/subscription/freebsd-announce :freebsd-announce: {freebsd-announce-url}[{freebsd-announce-desc}] :freebsd-apache-desc: mailing list di FreeBSD su Apache :freebsd-apache-url: https://lists.FreeBSD.org/subscription/freebsd-apache :freebsd-apache: {freebsd-apache-url}[{freebsd-apache-desc}] :freebsd-arch-desc: mailing list sull'architettura e la progettazione di FreeBSD :freebsd-arch-url: https://lists.FreeBSD.org/subscription/freebsd-arch :freebsd-arch: {freebsd-arch-url}[{freebsd-arch-desc}] :freebsd-arm-desc: mailing list sul porting di FreeBSD sui processori ARM :freebsd-arm-url: https://lists.FreeBSD.org/subscription/freebsd-arm :freebsd-arm: {freebsd-arm-url}[{freebsd-arm-desc}] :freebsd-atm-desc: mailing list sulle reti ATM con FreeBSD :freebsd-atm-url: https://lists.FreeBSD.org/subscription/freebsd-atm :freebsd-atm: {freebsd-atm-url}[{freebsd-atm-desc}] :freebsd-audit-desc: mailing list di controllo del codice sorgente di FreeBSD :freebsd-audit-url: https://lists.FreeBSD.org/subscription/freebsd-audit :freebsd-audit: {freebsd-audit-url}[{freebsd-audit-desc}] :freebsd-binup-desc: mailing list sul sistema di update tramite binari di FreeBSD :freebsd-binup-url: https://lists.FreeBSD.org/subscription/freebsd-binup :freebsd-binup: {freebsd-binup-url}[{freebsd-binup-desc}] :freebsd-bluetooth-desc: mailing list su Bluetooth in FreeBSD :freebsd-bluetooth-url: https://lists.FreeBSD.org/subscription/freebsd-bluetooth :freebsd-bluetooth: {freebsd-bluetooth-url}[{freebsd-bluetooth-desc}] :freebsd-bugbusters-desc: mailing list sul sistema di segnalazione dei bug di FreeBSD :freebsd-bugbusters-url: https://lists.FreeBSD.org/subscription/freebsd-bugbusters :freebsd-bugbusters: {freebsd-bugbusters-url}[{freebsd-bugbusters-desc}] :freebsd-bugs-desc: mailing list di segnalazione dei problemi con FreeBSD :freebsd-bugs-url: https://lists.FreeBSD.org/subscription/freebsd-bugs :freebsd-bugs: {freebsd-bugs-url}[{freebsd-bugs-desc}] :freebsd-chat-desc: mailing list di chiacchiere su FreeBSD :freebsd-chat-url: https://lists.FreeBSD.org/subscription/freebsd-chat :freebsd-chat: {freebsd-chat-url}[{freebsd-chat-desc}] :freebsd-cluster-desc: mailing list sul clustering con FreeBSD :freebsd-cluster-url: https://lists.FreeBSD.org/subscription/freebsd-cluster :freebsd-cluster: {freebsd-cluster-url}[{freebsd-cluster-desc}] :freebsd-current-desc: mailing list su FreeBSD-CURRENT :freebsd-current-url: https://lists.FreeBSD.org/subscription/freebsd-current :freebsd-current: {freebsd-current-url}[{freebsd-current-desc}] :ctm-announce-desc: Annunci CTM :ctm-announce-url: https://lists.FreeBSD.org/subscription/ctm-announce :ctm-announce: {ctm-announce-url}[{ctm-announce-desc}] :ctm-cvs-cur-desc: Distribuzione CTM di file CVS :ctm-cvs-cur-url: https://lists.FreeBSD.org/subscription/ctm-cvs-cur :ctm-cvs-cur: {ctm-cvs-cur-url}[{ctm-cvs-cur-desc}] :ctm-src-4-desc: mailing list di distribuzione CTM del ramo src 4-STABLE :ctm-src-4-url: https://lists.FreeBSD.org/subscription/ctm-src-4 :ctm-src-4: {ctm-src-4-url}[{ctm-src-4-desc}] :ctm-src-cur-desc: mailing list di distribuzione CTM del ramo src -CURRENT :ctm-src-cur-url: https://lists.FreeBSD.org/subscription/ctm-src-cur :ctm-src-cur: {ctm-src-cur-url}[{ctm-src-cur-desc}] :ctm-users-desc: mailing list per gli utenti di CTM :ctm-users-url: https://lists.FreeBSD.org/subscription/ctm-users :ctm-users: {ctm-users-url}[{ctm-users-desc}] :cvs-all-desc: mailing list con i messaggi di commit sul CVS di FreeBSD :cvs-all-url: https://lists.FreeBSD.org/subscription/cvs-all :cvs-all: {cvs-all-url}[{cvs-all-desc}] :cvs-doc-desc: lista dei commit sul ramo doc del CVS di FreeBSD :cvs-doc-url: https://lists.FreeBSD.org/subscription/cvs-doc :cvs-doc: {cvs-doc-url}[{cvs-doc-desc}] :cvs-ports-desc: lista dei commit sul ramo ports del CVS di FreeBSD :cvs-ports-url: https://lists.FreeBSD.org/subscription/cvs-ports :cvs-ports: {cvs-ports-url}[{cvs-ports-desc}] :cvs-projects-desc: lista dei commit sul ramo projects del CVS di FreeBSD :cvs-projects-url: https://lists.FreeBSD.org/subscription/cvs-projects :cvs-projects: {cvs-projects-url}[{cvs-projects-desc}] :cvs-src-desc: lista dei commit sul ramo src del CVS di FreeBSD :cvs-src-url: https://lists.FreeBSD.org/subscription/cvs-src :cvs-src: {cvs-src-url}[{cvs-src-desc}] :freebsd-cvsweb-desc: mailing list sul mantenimento di CVSweb di FreeBSD :freebsd-cvsweb-url: https://lists.FreeBSD.org/subscription/freebsd-cvsweb :freebsd-cvsweb: {freebsd-cvsweb-url}[{freebsd-cvsweb-desc}] :freebsd-database-desc: mailing list sui database sotto FreeBSD :freebsd-database-url: https://lists.FreeBSD.org/subscription/freebsd-database :freebsd-database: {freebsd-database-url}[{freebsd-database-desc}] :freebsd-doc-desc: mailing list sul progetto di documentazione di FreeBSD :freebsd-doc-url: https://lists.FreeBSD.org/subscription/freebsd-doc :freebsd-doc: {freebsd-doc-url}[{freebsd-doc-desc}] :freebsd-drivers-desc: Scrivere driver di dispositivi per FreeBSD :freebsd-drivers-url: https://lists.FreeBSD.org/subscription/freebsd-drivers :freebsd-drivers: {freebsd-drivers-url}[{freebsd-drivers-desc}] :freebsd-eclipse-desc: Utenti FreeBSD di Eclipse IDE, strumenti, applicazioni client e port :freebsd-eclipse-url: https://lists.FreeBSD.org/subscription/freebsd-eclipse :freebsd-eclipse: {freebsd-eclipse-url}[{freebsd-eclipse-desc}] :freebsd-embedded-desc: mailing liste per FreeBSD-embedded :freebsd-embedded-url: https://lists.FreeBSD.org/subscription/freebsd-embedded :freebsd-embedded: {freebsd-embedded-url}[{freebsd-embedded-desc}] :freebsd-emulation-desc: mailing list sull'emulazione FreeBSD :freebsd-emulation-url: https://lists.FreeBSD.org/subscription/freebsd-emulation :freebsd-emulation: {freebsd-emulation-url}[{freebsd-emulation-desc}] :freebsd-eol-desc: mailing list FreeBSD-eol :freebsd-eol-url: https://lists.FreeBSD.org/subscription/freebsd-eol :freebsd-eol: {freebsd-eol-url}[{freebsd-eol-desc}] :freebsd-firewire-desc: mailing list di discussione su FireWire (IEEE 1394) in FreeBSD :freebsd-firewire-url: https://lists.FreeBSD.org/subscription/freebsd-firewire :freebsd-firewire: {freebsd-firewire-url}[{freebsd-firewire-desc}] :freebsd-fs-desc: mailing list sul progetto di file system di FreeBSD :freebsd-fs-url: https://lists.FreeBSD.org/subscription/freebsd-fs :freebsd-fs: {freebsd-fs-url}[{freebsd-fs-desc}] :freebsd-geom-desc: mailing list di FreeBSD su GEOM :freebsd-geom-url: https://lists.FreeBSD.org/subscription/freebsd-geom :freebsd-geom: {freebsd-geom-url}[{freebsd-geom-desc}] :freebsd-gnome-desc: mailing list su GNOME e sulle applicazioni GNOME con FreeBSD :freebsd-gnome-url: https://lists.FreeBSD.org/subscription/freebsd-gnome :freebsd-gnome: {freebsd-gnome-url}[{freebsd-gnome-desc}] :freebsd-hackers-desc: mailing list di discussioni tecniche su FreeBSD :freebsd-hackers-url: https://lists.FreeBSD.org/subscription/freebsd-hackers :freebsd-hackers: {freebsd-hackers-url}[{freebsd-hackers-desc}] :freebsd-hardware-desc: mailing list sull'hardware e le apparecchiature per FreeBSD :freebsd-hardware-url: https://lists.FreeBSD.org/subscription/freebsd-hardware :freebsd-hardware: {freebsd-hardware-url}[{freebsd-hardware-desc}] :freebsd-hubs-desc: mailing list sui siti mirror di FreeBSD :freebsd-hubs-url: https://lists.FreeBSD.org/subscription/freebsd-hubs :freebsd-hubs: {freebsd-hubs-url}[{freebsd-hubs-desc}] :freebsd-i18n-desc: mailing list sull'internazionalizzazione di FreeBSD :freebsd-i18n-url: https://lists.FreeBSD.org/subscription/freebsd-i18n :freebsd-i18n: {freebsd-i18n-url}[{freebsd-i18n-desc}] :freebsd-i386-desc: mailing list sulle questioni specifiche all'architettura i386 di FreeBSD :freebsd-i386-url: https://lists.FreeBSD.org/subscription/freebsd-i386 :freebsd-i386: {freebsd-i386-url}[{freebsd-i386-desc}] :freebsd-ia32-desc: mailing list sul porting di FreeBSD su IA32 :freebsd-ia32-url: https://lists.FreeBSD.org/subscription/freebsd-ia32 :freebsd-ia32: {freebsd-ia32-url}[{freebsd-ia32-desc}] :freebsd-ia64-desc: mailing list sul porting di FreeBSD su IA64 :freebsd-ia64-url: https://lists.FreeBSD.org/subscription/freebsd-ia64 :freebsd-ia64: {freebsd-ia64-url}[{freebsd-ia64-desc}] :freebsd-ipfw-desc: mailing list sul codice IPFW di FreeBSD :freebsd-ipfw-url: https://lists.FreeBSD.org/subscription/freebsd-ipfw :freebsd-ipfw: {freebsd-ipfw-url}[{freebsd-ipfw-desc}] :freebsd-isdn-desc: mailing list sulle reti ISDN con FreeBSD :freebsd-isdn-url: https://lists.FreeBSD.org/subscription/freebsd-isdn :freebsd-isdn: {freebsd-isdn-url}[{freebsd-isdn-desc}] :freebsd-isp-desc: mailing list degli Internet Service Provider che usano FreeBSD :freebsd-isp-url: https://lists.FreeBSD.org/subscription/freebsd-isp :freebsd-isp: {freebsd-isp-url}[{freebsd-isp-desc}] :freebsd-jail-desc: mailing list sulle jail di FreeBSD :freebsd-jail-url: https://lists.FreeBSD.org/subscription/freebsd-jail :freebsd-jail: {freebsd-jail-url}[{freebsd-jail-desc}] :freebsd-java-desc: mailing list sul linguaggio Java in FreeBSD :freebsd-java-url: https://lists.FreeBSD.org/subscription/freebsd-java :freebsd-java: {freebsd-java-url}[{freebsd-java-desc}] :freebsd-jobs-desc: mailing list sugli impieghi relativi a FreeBSD :freebsd-jobs-url: https://lists.FreeBSD.org/subscription/freebsd-jobs :freebsd-jobs: {freebsd-jobs-url}[{freebsd-jobs-desc}] :freebsd-kde-desc: mailing list su KDE/Qt e le applicazioni KDE di FreeBSD :freebsd-kde-url: https://mail.kde.org/mailman/listinfo/kde-freebsd :freebsd-kde: {freebsd-kde-url}[{freebsd-kde-desc}] :freebsd-lfs-desc: mailing list sul porting di LFS su FreeBSD :freebsd-lfs-url: https://lists.FreeBSD.org/subscription/freebsd-lfs :freebsd-lfs: {freebsd-lfs-url}[{freebsd-lfs-desc}] :freebsd-libh-desc: mailing list sul sistema libh di FreeBSD di installazione e creazione dei package :freebsd-libh-url: https://lists.FreeBSD.org/subscription/freebsd-libh :freebsd-libh: {freebsd-libh-url}[{freebsd-libh-desc}] :freebsd-mips-desc: mailing list sul porting di FreeBSD su MIPS :freebsd-mips-url: https://lists.FreeBSD.org/subscription/freebsd-mips :freebsd-mips: {freebsd-mips-url}[{freebsd-mips-desc}] :mirror-announce-desc: mailing list degli amministratori di un sito mirror di FreeBSD :mirror-announce-url: https://lists.FreeBSD.org/subscription/mirror-announce :mirror-announce: {mirror-announce-url}[{mirror-announce-desc}] :freebsd-mobile-desc: mailing list sui computer portatili con FreeBSD :freebsd-mobile-url: https://lists.FreeBSD.org/subscription/freebsd-mobile :freebsd-mobile: {freebsd-mobile-url}[{freebsd-mobile-desc}] :freebsd-mozilla-desc: mailing list sul port per FreeBSD del browser Mozilla :freebsd-mozilla-url: https://lists.FreeBSD.org/subscription/freebsd-mozilla :freebsd-mozilla: {freebsd-mozilla-url}[{freebsd-mozilla-desc}] :freebsd-multimedia-desc: mailing list sulle applicazioni multimediali con FreeBSD :freebsd-multimedia-url: https://lists.FreeBSD.org/subscription/freebsd-multimedia :freebsd-multimedia: {freebsd-multimedia-url}[{freebsd-multimedia-desc}] :freebsd-net-desc: mailing list sulle reti in FreeBSD :freebsd-net-url: https://lists.FreeBSD.org/subscription/freebsd-net :freebsd-net: {freebsd-net-url}[{freebsd-net-desc}] :freebsd-newbies-desc: mailing list per i nuovi utenti di FreeBSD :freebsd-newbies-url: https://lists.FreeBSD.org/subscription/freebsd-newbies :freebsd-newbies: {freebsd-newbies-url}[{freebsd-newbies-desc}] :freebsd-new-bus-desc: mailing list sulla nuova architettura del bus di FreeBSD :freebsd-new-bus-url: https://lists.FreeBSD.org/subscription/freebsd-new-bus :freebsd-new-bus: {freebsd-new-bus-url}[{freebsd-new-bus-desc}] :freebsd-openoffice-desc: mailing list su OpenOffice sotto FreeBSD :freebsd-openoffice-url: https://lists.FreeBSD.org/subscription/freebsd-openoffice :freebsd-openoffice: {freebsd-openoffice-url}[{freebsd-openoffice-desc}] :freebsd-performance-desc: mailing list sulle prestazioni di FreeBSD :freebsd-performance-url: https://lists.FreeBSD.org/subscription/freebsd-performance :freebsd-performance: {freebsd-performance-url}[{freebsd-performance-desc}] :freebsd-perl-desc: mailing list sul Perl sotto FreeBSD :freebsd-perl-url: https://lists.FreeBSD.org/subscription/freebsd-perl :freebsd-perl: {freebsd-perl-url}[{freebsd-perl-desc}] :freebsd-pf-desc: mailing list su packet filter in FreeBSD :freebsd-pf-url: https://lists.FreeBSD.org/subscription/freebsd-pf :freebsd-pf: {freebsd-pf-url}[{freebsd-pf-desc}] :freebsd-platforms-desc: mailing list sul porting di FreeBSD su piattaforme non Intel :freebsd-platforms-url: https://lists.FreeBSD.org/subscription/freebsd-platforms :freebsd-platforms: {freebsd-platforms-url}[{freebsd-platforms-desc}] :freebsd-policy-desc: mailing list sulle decisioni del core team sulle politiche di FreeBSD :freebsd-policy-url: https://lists.FreeBSD.org/subscription/freebsd-policy :freebsd-policy: {freebsd-policy-url}[{freebsd-policy-desc}] :freebsd-ports-desc: mailing list sui port di FreeBSD :freebsd-ports-url: https://lists.FreeBSD.org/subscription/freebsd-ports :freebsd-ports: {freebsd-ports-url}[{freebsd-ports-desc}] :freebsd-ports-bugs-desc: mailing list sui bug dei port di FreeBSD :freebsd-ports-bugs-url: https://lists.FreeBSD.org/subscription/freebsd-ports-bugs :freebsd-ports-bugs: {freebsd-ports-bugs-url}[{freebsd-ports-bugs-desc}] :freebsd-ppc-desc: mailing list sul porting di FreeBSD su PowerPC :freebsd-ppc-url: https://lists.FreeBSD.org/subscription/freebsd-ppc :freebsd-ppc: {freebsd-ppc-url}[{freebsd-ppc-desc}] :freebsd-proliant-desc: Discussioni tecniche di FreeBSD su piattaforme server HP ProLiant :freebsd-proliant-url: https://lists.FreeBSD.org/subscription/freebsd-proliant :freebsd-proliant: {freebsd-proliant-url}[{freebsd-proliant-desc}] :freebsd-python-desc: mailing list su Python sotto FreeBSD :freebsd-python-url: https://lists.FreeBSD.org/subscription/freebsd-python :freebsd-python: {freebsd-python-url}[{freebsd-python-desc}] :freebsd-qa-desc: mailing list sulla Garanzia di Qualità di FreeBSD :freebsd-qa-url: https://lists.FreeBSD.org/subscription/freebsd-qa :freebsd-qa: {freebsd-qa-url}[{freebsd-qa-desc}] :freebsd-questions-desc: mailing list per le domande generiche su FreeBSD :freebsd-questions-url: https://lists.FreeBSD.org/subscription/freebsd-questions :freebsd-questions: {freebsd-questions-url}[{freebsd-questions-desc}] :freebsd-rc-desc: mailing list sugli script di boot di FreeBSD :freebsd-rc-url: https://lists.FreeBSD.org/subscription/freebsd-rc :freebsd-rc: {freebsd-rc-url}[{freebsd-rc-desc}] :freebsd-realtime-desc: mailing list sulle estensioni realtime di FreeBSD :freebsd-realtime-url: https://lists.FreeBSD.org/subscription/freebsd-realtime :freebsd-realtime: {freebsd-realtime-url}[{freebsd-realtime-desc}] :freebsd-scsi-desc: mailing list sul sottosistema SCSI di FreeBSD :freebsd-scsi-url: https://lists.FreeBSD.org/subscription/freebsd-scsi :freebsd-scsi: {freebsd-scsi-url}[{freebsd-scsi-desc}] :freebsd-security-desc: mailing list sulla sicurezza in FreeBSD :freebsd-security-url: https://lists.FreeBSD.org/subscription/freebsd-security :freebsd-security: {freebsd-security-url}[{freebsd-security-desc}] :freebsd-security-notifications-desc: mailing list sugli avvisi di sicurezza su FreeBSD :freebsd-security-notifications-url: https://lists.FreeBSD.org/subscription/freebsd-security-notifications :freebsd-security-notifications: {freebsd-security-notifications-url}[{freebsd-security-notifications-desc}] :freebsd-small-desc: mailing list su FreeBSD-small :freebsd-small-url: https://lists.FreeBSD.org/subscription/freebsd-small :freebsd-small: {freebsd-small-url}[{freebsd-small-desc}] :freebsd-smp-desc: mailing list sul supporto multiprocessore di FreeBSD :freebsd-smp-url: https://lists.FreeBSD.org/subscription/freebsd-smp :freebsd-smp: {freebsd-smp-url}[{freebsd-smp-desc}] :freebsd-sparc64-desc: mailing list sul porting di FreeBSD su SPARC :freebsd-sparc64-url: https://lists.FreeBSD.org/subscription/freebsd-sparc64 :freebsd-sparc64: {freebsd-sparc64-url}[{freebsd-sparc64-desc}] :freebsd-stable-desc: mailing list su FreeBSD-STABLE; :freebsd-stable-url: https://lists.FreeBSD.org/subscription/freebsd-stable :freebsd-stable: {freebsd-stable-url}[{freebsd-stable-desc}] :freebsd-standards-desc: mailing list sulla conformità C99 e POSIX di FreeBSD :freebsd-standards-url: https://lists.FreeBSD.org/subscription/freebsd-standards :freebsd-standards: {freebsd-standards-url}[{freebsd-standards-desc}] :freebsd-sun4v-desc: mailing list sul porting di FreeBSD su sun4v :freebsd-sun4v-url: https://lists.FreeBSD.org/subscription/freebsd-sun4v :freebsd-sun4v: {freebsd-sun4v-url}[{freebsd-sun4v-desc}] :freebsd-test-desc: mailing list di prova di FreeBSD :freebsd-test-url: https://lists.FreeBSD.org/subscription/freebsd-test :freebsd-test: {freebsd-test-url}[{freebsd-test-desc}] :freebsd-testing-desc: mailing list sui test di prestazioni e stabilità di FreeBSD :freebsd-testing-url: https://lists.FreeBSD.org/subscription/freebsd-testing :freebsd-testing: {freebsd-testing-url}[{freebsd-testing-desc}] :freebsd-threads-desc: mailing list sui thread in FreeBSD :freebsd-threads-url: https://lists.FreeBSD.org/subscription/freebsd-threads :freebsd-threads: {freebsd-threads-url}[{freebsd-threads-desc}] :freebsd-tokenring-desc: mailing list sulle reti tokenring in FreeBSD :freebsd-tokenring-url: https://lists.FreeBSD.org/subscription/freebsd-tokenring :freebsd-tokenring: {freebsd-tokenring-url}[{freebsd-tokenring-desc}] :freebsd-usb-desc: mailing list su USB in FreeBSD :freebsd-usb-url: https://lists.FreeBSD.org/subscription/freebsd-usb :freebsd-usb: {freebsd-usb-url}[{freebsd-usb-desc}] :freebsd-user-groups-desc: mailing list di coordinamento dei gruppi utente di FreeBSD :freebsd-user-groups-url: https://lists.FreeBSD.org/subscription/freebsd-user-groups :freebsd-user-groups: {freebsd-user-groups-url}[{freebsd-user-groups-desc}] :freebsd-vendors-desc: mailing list di coordinamento dei distributori delle release di FreeBSD :freebsd-vendors-url: https://lists.FreeBSD.org/subscription/freebsd-vendors :freebsd-vendors: {freebsd-vendors-url}[{freebsd-vendors-desc}] :freebsd-vuxml-desc: mailing list di discussione sull'infrastruttura VuXML :freebsd-vuxml-url: https://lists.FreeBSD.org/subscription/freebsd-vuxml :freebsd-vuxml: {freebsd-vuxml-url}[{freebsd-vuxml-desc}] :freebsd-www-desc: mailing list del Webmaster di FreeBSD :freebsd-www-url: https://lists.FreeBSD.org/subscription/freebsd-www :freebsd-www: {freebsd-www-url}[{freebsd-www-desc}] :freebsd-x11-desc: mailing list di X11 per FreeBSD :freebsd-x11-url: https://lists.FreeBSD.org/subscription/freebsd-x11 :freebsd-x11: {freebsd-x11-url}[{freebsd-x11-desc}] :committers-name: mailing list dei committer di FreeBSD :committers: {committers-name} :core-name: core team di FreeBSD :core: {core-name} :developers-name: mailing list degli sviluppatori di FreeBSD :developers: {committers-developers} :doc-committers-name: mailing list del doc/ committer di FreeBSD :doc-committers: {doc-committers-name} :doc-developers-name: mailing list degli sviluppatori del doc/ di FreeBSD :doc-developers: {doc-developers-name} :ports-committers-name: mailing list del ports/ committer di FreeBSD :ports-committers: {ports-committers-name} :ports-developers-name: mailing list degli sviluppatori del ports/ di FreeBSD :ports-developers: {ports-developers-name} :src-committers-name: mailing list del src/ committer di FreeBSD :src-committers: {src-committers-name} :src-developers-name: mailing list degli sviluppatori del src/ di FreeBSD :src-developers: {src-developers-name} // Not really proper mailing lists :bugfollowup: bug-followup@FreeBSD.org :bugsubmit: {bugfollowup} :majordomo: majordomo@FreeBSD.org diff --git a/shared/ja/mailing-lists.adoc b/shared/ja/mailing-lists.adoc index 6e03d15cc8..7d8ed64d15 100644 --- a/shared/ja/mailing-lists.adoc +++ b/shared/ja/mailing-lists.adoc @@ -1,713 +1,713 @@ // // The FreeBSD Documentation Project // // The FreeBSD Japanese Documentation Project // // $FreeBSD$ // -:mailman-lists-desc: FreeBSD リストサーバ -:mailman-lists-url: https://lists.freebsd.org -:mailman-lists: {mailman-lists-url}[{mailman-lists-desc}] +:mailing-lists-desc: FreeBSD リストサーバ +:mailing-lists-url: https://lists.freebsd.org +:mailing-lists: {mailing-lists-url}[{mailing-lists-desc}] :freebsd-acpi-desc: FreeBSD ACPI メーリングリスト :freebsd-acpi-url: https://lists.FreeBSD.org/subscription/freebsd-acpi :freebsd-acpi: {freebsd-acpi-url}[{freebsd-acpi-desc}] :freebsd-advocacy-desc: FreeBSD advocacy メーリングリスト :freebsd-advocacy-url: https://lists.FreeBSD.org/subscription/freebsd-advocacy :freebsd-advocacy: {freebsd-advocacy-url}[{freebsd-advocacy-desc}] :freebsd-aic7xxx-desc: FreeBSD Adaptec AIC7xxx discussions メーリングリスト :freebsd-aic7xxx-url: https://lists.FreeBSD.org/subscription/aic7xxx :freebsd-aic7xxx: {freebsd-aic7xxx-url}[{freebsd-aic7xxx-desc}] :freebsd-amd64-desc: Porting FreeBSD to AMD64 systems :freebsd-amd64-url: https://lists.FreeBSD.org/subscription/freebsd-amd64 :freebsd-amd64: {freebsd-amd64-url}[{freebsd-amd64-desc}] :freebsd-announce-desc: FreeBSD announcements メーリングリスト :freebsd-announce-url: https://lists.FreeBSD.org/subscription/freebsd-announce :freebsd-announce: {freebsd-announce-url}[{freebsd-announce-desc}] :freebsd-apache-desc: FreeBSD Apache メーリングリスト :freebsd-apache-url: https://lists.FreeBSD.org/subscription/freebsd-apache :freebsd-apache: {freebsd-apache-url}[{freebsd-apache-desc}] :freebsd-arch-desc: FreeBSD architecture and design メーリングリスト :freebsd-arch-url: https://lists.FreeBSD.org/subscription/freebsd-arch :freebsd-arch: {freebsd-arch-url}[{freebsd-arch-desc}] :freebsd-arm-desc: FreeBSD ARM porting メーリングリスト :freebsd-arm-url: https://lists.FreeBSD.org/subscription/freebsd-arm :freebsd-arm: {freebsd-arm-url}[{freebsd-arm-desc}] :freebsd-atm-desc: FreeBSD ATM networking メーリングリスト :freebsd-atm-url: https://lists.FreeBSD.org/subscription/freebsd-atm :freebsd-atm: {freebsd-atm-url}[{freebsd-atm-desc}] :freebsd-bluetooth-desc: FreeBSD Bluetooth メーリングリスト :freebsd-bluetooth-url: https://lists.FreeBSD.org/subscription/freebsd-bluetooth :freebsd-bluetooth: {freebsd-bluetooth-url}[{freebsd-bluetooth-desc}] :freebsd-bugbusters-desc: FreeBSD bugbusters メーリングリスト :freebsd-bugbusters-url: https://lists.FreeBSD.org/subscription/freebsd-bugbusters :freebsd-bugbusters: {freebsd-bugbusters-url}[{freebsd-bugbusters-desc}] :freebsd-bugs-desc: FreeBSD problem reports メーリングリスト :freebsd-bugs-url: https://lists.FreeBSD.org/subscription/freebsd-bugs :freebsd-bugs: {freebsd-bugs-url}[{freebsd-bugs-desc}] :freebsd-chat-desc: FreeBSD chat メーリングリスト :freebsd-chat-url: https://lists.FreeBSD.org/subscription/freebsd-chat :freebsd-chat: {freebsd-chat-url}[{freebsd-chat-desc}] :freebsd-chromium-desc: FreeBSD-specific Chromium issues :freebsd-chromium-url: https://lists.FreeBSD.org/subscription/freebsd-chromium :freebsd-chromium: {freebsd-chromium-url}[{freebsd-chromium-desc}] :freebsd-cloud-desc: クラウドプラットフォーム (EC2, GCE, Azure など) での FreeBSD :freebsd-cloud-url: https://lists.FreeBSD.org/subscription/freebsd-cloud :freebsd-cloud: {freebsd-cloud-url}[{freebsd-cloud-desc}] :freebsd-cluster-desc: FreeBSD clustering メーリングリスト :freebsd-cluster-url: https://lists.FreeBSD.org/subscription/freebsd-cluster :freebsd-cluster: {freebsd-cluster-url}[{freebsd-cluster-desc}] :freebsd-current-desc: FreeBSD-CURRENT メーリングリスト :freebsd-current-url: https://lists.FreeBSD.org/subscription/freebsd-current :freebsd-current: {freebsd-current-url}[{freebsd-current-desc}] :ctm-announce-desc: CTM announcements :ctm-announce-url: https://lists.FreeBSD.org/subscription/ctm-announce :ctm-announce: {ctm-announce-url}[{ctm-announce-desc}] :ctm-src-4-desc: CTM 4-STABLE src branch distribution メーリングリスト :ctm-src-4-url: https://lists.FreeBSD.org/subscription/ctm-src-4 :ctm-src-4: {ctm-src-4-url}[{ctm-src-4-desc}] :ctm-src-5-desc: CTM 5-STABLE src branch distribution メーリングリスト :ctm-src-5-url: https://lists.FreeBSD.org/subscription/ctm-src-5 :ctm-src-5: {ctm-src-5-url}[{ctm-src-5-desc}] :ctm-src-6-desc: CTM 6-STABLE src branch distribution メーリングリスト :ctm-src-6-url: https://lists.FreeBSD.org/subscription/ctm-src-6 :ctm-src-6: {ctm-src-6-url}[{ctm-src-6-desc}] :ctm-src-7-desc: CTM 7-STABLE src branch distribution メーリングリスト :ctm-src-7-url: https://lists.FreeBSD.org/subscription/ctm-src-7 :ctm-src-7: {ctm-src-7-url}[{ctm-src-7-desc}] :ctm-src-8-desc: CTM 8-STABLE src branch distribution メーリングリスト :ctm-src-8-url: https://lists.FreeBSD.org/subscription/ctm-src-8 :ctm-src-8: {ctm-src-8-url}[{ctm-src-8-desc}] :ctm-src-9-desc: CTM 9-STABLE src branch distribution メーリングリスト :ctm-src-9-url: https://lists.FreeBSD.org/subscription/ctm-src-9 :ctm-src-9: {ctm-src-9-url}[{ctm-src-9-desc}] :ctm-src-10-desc: CTM 10-STABLE src branch distribution メーリングリスト :ctm-src-10-url: https://lists.FreeBSD.org/subscription/ctm-src-10 :ctm-src-10: {ctm-src-10-url}[{ctm-src-10-desc}] :ctm-src-cur-desc: CTM -CURRENT src branch distribution メーリングリスト :ctm-src-cur-url: https://lists.FreeBSD.org/subscription/ctm-src-cur :ctm-src-cur: {ctm-src-cur-url}[{ctm-src-cur-desc}] :ctm-users-desc: CTM user discussion メーリングリスト :ctm-users-url: https://lists.FreeBSD.org/subscription/ctm-users :ctm-users: {ctm-users-url}[{ctm-users-desc}] :cvs-all-desc: FreeBSD CVS commit message メーリングリスト :cvs-all-url: https://lists.FreeBSD.org/subscription/cvs-all :cvs-all: {cvs-all-url}[{cvs-all-desc}] :cvs-doc-desc: FreeBSD CVS doc commit list :cvs-doc-url: https://lists.FreeBSD.org/subscription/cvs-doc :cvs-doc: {cvs-doc-url}[{cvs-doc-desc}] :cvs-ports-desc: FreeBSD CVS ports commit list :cvs-ports-url: https://lists.FreeBSD.org/subscription/cvs-ports :cvs-ports: {cvs-ports-url}[{cvs-ports-desc}] :cvs-projects-desc: FreeBSD CVS projects commit list :cvs-projects-url: https://lists.FreeBSD.org/subscription/cvs-projects :cvs-projects: {cvs-projects-url}[{cvs-projects-desc}] :cvs-src-desc: FreeBSD CVS src commit list :cvs-src-url: https://lists.FreeBSD.org/subscription/cvs-src :cvs-src: {cvs-src-url}[{cvs-src-desc}] :freebsd-database-desc: FreeBSD based Databases メーリングリスト :freebsd-database-url: https://lists.FreeBSD.org/subscription/freebsd-database :freebsd-database: {freebsd-database-url}[{freebsd-database-desc}] :freebsd-desktop-desc: デスクトップでの FreeBSD の利用と改良 :freebsd-desktop-url: https://lists.FreeBSD.org/subscription/freebsd-desktop :freebsd-desktop: {freebsd-desktop-url}[{freebsd-desktop-desc}] :dev-ci-desc: ビルドおよび試験結果に関する FreeBSD の継続的インテグレーションの自動レポート :dev-ci-url: https://lists.FreeBSD.org/subscription/dev-ci :dev-ci: {dev-ci-url}[{dev-ci-desc}] :dev-commits-doc-all-desc: Commit messages for all branches of the doc repository :dev-commits-doc-all-url: https://lists.FreeBSD.org/subscription/dev-commits-doc-all :dev-commits-doc-all: {dev-commits-doc-all-url}[{dev-commits-doc-all-desc}] :dev-commits-ports-all-desc: Commit messages for all branches of the ports repository :dev-commits-ports-all-url: https://lists.FreeBSD.org/subscription/dev-commits-ports-all :dev-commits-ports-all: {dev-commits-ports-all-url}[{dev-commits-ports-all-desc}] :dev-commits-ports-branches-desc: Commit messages for the quarterly branches of the ports repository :dev-commits-ports-branches-url: https://lists.FreeBSD.org/subscription/dev-commits-ports-branches :dev-commits-ports-branches: {dev-commits-ports-branches-url}[{dev-commits-ports-branches-desc}] :dev-commits-ports-main-desc: Commit messages for the main branch of the ports repository :dev-commits-ports-main-url: https://lists.FreeBSD.org/subscription/dev-commits-ports-main :dev-commits-ports-main: {dev-commits-ports-main-url}[{dev-commits-ports-main-desc}] :dev-commits-src-all-desc: Commit messages for all branches of the src repository :dev-commits-src-all-url: https://lists.FreeBSD.org/subscription/dev-commits-src-all :dev-commits-src-all: {dev-commits-src-all-url}[{dev-commits-src-all-desc}] :dev-commits-src-branches-desc: Commit messages for the stable branches of the src repository :dev-commits-src-branches-url: https://lists.FreeBSD.org/subscription/dev-commits-src-branches :dev-commits-src-branches: {dev-commits-src-branches-url}[{dev-commits-src-branches-desc}] :dev-commits-src-main-desc: Commit messages for the main branch of the src repository :dev-commits-src-main-url: https://lists.FreeBSD.org/subscription/dev-commits-src-main :dev-commits-src-main: {dev-commits-src-main-url}[{dev-commits-src-main-desc}] :dev-reviews-desc: パッチを含む FreeBSD レビューツールにより進行中のレビュー作業の自動通知 :dev-reviews-url: https://lists.FreeBSD.org/subscription/dev-reviews :dev-reviews: {dev-reviews-url}[{dev-reviews-desc}] :freebsd-doc-desc: FreeBSD documentation project メーリングリスト :freebsd-doc-url: https://lists.FreeBSD.org/subscription/freebsd-doc :freebsd-doc: {freebsd-doc-url}[{freebsd-doc-desc}] :freebsd-drivers-desc: FreeBSD のデバイスドライバの作成 :freebsd-drivers-url: https://lists.FreeBSD.org/subscription/freebsd-drivers :freebsd-drivers: {freebsd-drivers-url}[{freebsd-drivers-desc}] :freebsd-dtrace-desc: FreeBSD における Dtrace の利用と開発 :freebsd-dtrace-url: https://lists.FreeBSD.org/subscription/freebsd-dtrace :freebsd-dtrace: {freebsd-dtrace-url}[{freebsd-dtrace-desc}] :freebsd-eclipse-desc: FreeBSD 上の Eclipse IDE, ツール、リッチクライアントアプリケーション、および ports のユーザメーリングリスト :freebsd-eclipse-url: https://lists.FreeBSD.org/subscription/freebsd-eclipse :freebsd-eclipse: {freebsd-eclipse-url}[{freebsd-eclipse-desc}] :freebsd-elastic-desc: FreeBSD 固有の ElasticSearch に関するメーリングリスト :freebsd-elastic-url: https://lists.FreeBSD.org/subscription/freebsd-elastic :freebsd-elastic: {freebsd-elastic-url}[{freebsd-elastic-desc}] :freebsd-embedded-desc: FreeBSD-embedded メーリングリスト :freebsd-embedded-url: https://lists.FreeBSD.org/subscription/freebsd-embedded :freebsd-embedded: {freebsd-embedded-url}[{freebsd-embedded-desc}] :freebsd-emulation-desc: FreeBSD-emulation メーリングリスト :freebsd-emulation-url: https://lists.FreeBSD.org/subscription/freebsd-emulation :freebsd-emulation: {freebsd-emulation-url}[{freebsd-emulation-desc}] :freebsd-enlightenment-desc: FreeBSD-enlightenment メーリングリスト :freebsd-enlightenment-url: https://lists.FreeBSD.org/subscription/freebsd-enlightenment :freebsd-enlightenment: {freebsd-enlightenment-url}[{freebsd-enlightenment-desc}] :freebsd-eol-desc: FreeBSD-eol メーリングリスト :freebsd-eol-url: https://lists.FreeBSD.org/subscription/freebsd-eol :freebsd-eol: {freebsd-eol-url}[{freebsd-eol-desc}] :freebsd-erlang-desc: FreeBSD-erlang メーリングリスト :freebsd-erlang-url: https://lists.FreeBSD.org/subscription/freebsd-erlang :freebsd-erlang: {freebsd-erlang-url}[{freebsd-erlang-desc}] :freebsd-firewire-desc: FreeBSD FireWire (IEEE 1394) discussion メーリングリスト :freebsd-firewire-url: https://lists.FreeBSD.org/subscription/freebsd-firewire :freebsd-firewire: {freebsd-firewire-url}[{freebsd-firewire-desc}] :freebsd-fortran-desc: FreeBSD での Fortran メーリングリスト :freebsd-fortran-url: https://lists.FreeBSD.org/subscription/freebsd-fortran :freebsd-fortran: {freebsd-fortran-url}[{freebsd-fortran-desc}] :freebsd-fs-desc: FreeBSD file system project メーリングリスト :freebsd-fs-url: https://lists.FreeBSD.org/subscription/freebsd-fs :freebsd-fs: {freebsd-fs-url}[{freebsd-fs-desc}] :freebsd-games-desc: FreeBSD でのゲームに関するメーリングリスト :freebsd-games-url: https://lists.FreeBSD.org/subscription/freebsd-games :freebsd-games: {freebsd-games-url}[{freebsd-games-desc}] :freebsd-gecko-desc: FreeBSD gecko メーリングリスト :freebsd-gecko-url: https://lists.FreeBSD.org/subscription/freebsd-gecko :freebsd-gecko: {freebsd-gecko-url}[{freebsd-gecko-desc}] :freebsd-geom-desc: FreeBSD GEOM メーリングリスト :freebsd-geom-url: https://lists.FreeBSD.org/subscription/freebsd-geom :freebsd-geom: {freebsd-geom-url}[{freebsd-geom-desc}] :freebsd-git-desc: FreeBSD プロジェクトでの git の使用に関する議論 :freebsd-git-url: https://lists.FreeBSD.org/subscription/freebsd-git :freebsd-git: {freebsd-git-url}[{freebsd-git-desc}] :freebsd-gnome-desc: FreeBSD GNOME and GNOME applications メーリングリスト :freebsd-gnome-url: https://lists.FreeBSD.org/subscription/freebsd-gnome :freebsd-gnome: {freebsd-gnome-url}[{freebsd-gnome-desc}] :freebsd-hackers-desc: FreeBSD technical discussions メーリングリスト :freebsd-hackers-url: https://lists.FreeBSD.org/subscription/freebsd-hackers :freebsd-hackers: {freebsd-hackers-url}[{freebsd-hackers-desc}] :freebsd-haskell-desc: FreeBSD 固有の Haskell に関する議論 :freebsd-haskell-url: https://lists.FreeBSD.org/subscription/freebsd-haskell :freebsd-haskell: {freebsd-haskell-url}[{freebsd-haskell-desc}] :freebsd-hardware-desc: FreeBSD hardware and equipment メーリングリスト :freebsd-hardware-url: https://lists.FreeBSD.org/subscription/freebsd-hardware :freebsd-hardware: {freebsd-hardware-url}[{freebsd-hardware-desc}] :freebsd-hubs-desc: FreeBSD mirror sites メーリングリストs :freebsd-hubs-url: https://lists.FreeBSD.org/subscription/freebsd-hubs :freebsd-hubs: {freebsd-hubs-url}[{freebsd-hubs-desc}] :freebsd-i18n-desc: FreeBSD internationalization メーリングリスト :freebsd-i18n-url: https://lists.FreeBSD.org/subscription/freebsd-i18n :freebsd-i18n: {freebsd-i18n-url}[{freebsd-i18n-desc}] :freebsd-i386-desc: FreeBSD i386-specific issues メーリングリスト :freebsd-i386-url: https://lists.FreeBSD.org/subscription/freebsd-i386 :freebsd-i386: {freebsd-i386-url}[{freebsd-i386-desc}] :freebsd-infiniband-desc: FreeBSD での Infiniband の使用 :freebsd-infiniband-url: https://lists.FreeBSD.org/subscription/freebsd-infiniband :freebsd-infiniband: {freebsd-infiniband-url}[{freebsd-infiniband-desc}] :freebsd-ipfw-desc: FreeBSD IPFW code メーリングリスト :freebsd-ipfw-url: https://lists.FreeBSD.org/subscription/freebsd-ipfw :freebsd-ipfw: {freebsd-ipfw-url}[{freebsd-ipfw-desc}] :freebsd-isdn-desc: FreeBSD ISDN メーリングリスト :freebsd-isdn-url: https://lists.FreeBSD.org/subscription/freebsd-isdn :freebsd-isdn: {freebsd-isdn-url}[{freebsd-isdn-desc}] :freebsd-isp-desc: FreeBSD Internet service provider's メーリングリスト :freebsd-isp-url: https://lists.FreeBSD.org/subscription/freebsd-isp :freebsd-isp: {freebsd-isp-url}[{freebsd-isp-desc}] :freebsd-jail-desc: FreeBSD jails メーリングリスト :freebsd-jail-url: https://lists.FreeBSD.org/subscription/freebsd-jail :freebsd-jail: {freebsd-jail-url}[{freebsd-jail-desc}] :freebsd-java-desc: FreeBSD Java Language メーリングリスト :freebsd-java-url: https://lists.FreeBSD.org/subscription/freebsd-java :freebsd-java: {freebsd-java-url}[{freebsd-java-desc}] :freebsd-jobs-desc: FreeBSD related employment メーリングリスト :freebsd-jobs-url: https://lists.FreeBSD.org/subscription/freebsd-jobs :freebsd-jobs: {freebsd-jobs-url}[{freebsd-jobs-desc}] :freebsd-kde-desc: FreeBSD KDE/Qt and KDE applications メーリングリスト :freebsd-kde-url: https://mail.kde.org/mailman/listinfo/kde-freebsd :freebsd-kde: {freebsd-kde-url}[{freebsd-kde-desc}] :freebsd-lfs-desc: FreeBSD LFS porting メーリングリスト :freebsd-lfs-url: https://lists.FreeBSD.org/subscription/freebsd-lfs :freebsd-lfs: {freebsd-lfs-url}[{freebsd-lfs-desc}] :freebsd-mips-desc: FreeBSD MIPS porting メーリングリスト :freebsd-mips-url: https://lists.FreeBSD.org/subscription/freebsd-mips :freebsd-mips: {freebsd-mips-url}[{freebsd-mips-desc}] :mirror-announce-desc: FreeBSD ミラーサイト管理者 :mirror-announce-url: https://lists.FreeBSD.org/subscription/mirror-announce :mirror-announce: {mirror-announce-url}[{mirror-announce-desc}] :freebsd-mono-desc: Mono and C# applications on FreeBSD :freebsd-mono-url: https://lists.FreeBSD.org/subscription/freebsd-mono :freebsd-mono: {freebsd-mono-url}[{freebsd-mono-desc}] :freebsd-multimedia-desc: FreeBSD multimedia メーリングリスト :freebsd-multimedia-url: https://lists.FreeBSD.org/subscription/freebsd-multimedia :freebsd-multimedia: {freebsd-multimedia-url}[{freebsd-multimedia-desc}] :freebsd-net-desc: FreeBSD networking メーリングリスト :freebsd-net-url: https://lists.FreeBSD.org/subscription/freebsd-net :freebsd-net: {freebsd-net-url}[{freebsd-net-desc}] :freebsd-newbies-desc: FreeBSD new users メーリングリスト :freebsd-newbies-url: https://lists.FreeBSD.org/subscription/freebsd-newbies :freebsd-newbies: {freebsd-newbies-url}[{freebsd-newbies-desc}] :freebsd-new-bus-desc: FreeBSD new-bus メーリングリスト :freebsd-new-bus-url: https://lists.FreeBSD.org/subscription/freebsd-new-bus :freebsd-new-bus: {freebsd-new-bus-url}[{freebsd-new-bus-desc}] :freebsd-numerics-desc: 高品質な libm 機能の実装に関する議論 :freebsd-numerics-url: https://lists.FreeBSD.org/subscription/freebsd-numerics :freebsd-numerics: {freebsd-numerics-url}[{freebsd-numerics-desc}] :freebsd-ocaml-desc: FreeBSD 固有の OCaml に関する議論 :freebsd-ocaml-url: https://lists.FreeBSD.org/subscription/freebsd-ocaml :freebsd-ocaml: {freebsd-ocaml-url}[{freebsd-ocaml-desc}] :freebsd-office-desc: FreeBSD でのオフィスアプリケーション :freebsd-office-url: https://lists.FreeBSD.org/subscription/freebsd-office :freebsd-office: {freebsd-office-url}[{freebsd-office-desc}] :freebsd-ops-announce-desc: プロジェクトのインフラストラクチャに関するアナウンス :freebsd-ops-announce-url: https://lists.FreeBSD.org/subscription/freebsd-ops-announce :freebsd-ops-announce: {freebsd-ops-announce-url}[{freebsd-ops-announce-desc}] :freebsd-performance-desc: FreeBSD performance メーリングリスト :freebsd-performance-url: https://lists.FreeBSD.org/subscription/freebsd-performance :freebsd-performance: {freebsd-performance-url}[{freebsd-performance-desc}] :freebsd-perl-desc: FreeBSD Perl メーリングリスト :freebsd-perl-url: https://lists.FreeBSD.org/subscription/freebsd-perl :freebsd-perl: {freebsd-perl-url}[{freebsd-perl-desc}] :freebsd-pf-desc: FreeBSD パケットフィルタメーリングリスト :freebsd-pf-url: https://lists.FreeBSD.org/subscription/freebsd-pf :freebsd-pf: {freebsd-pf-url}[{freebsd-pf-desc}] :freebsd-pkg-desc: バイナリ package 管理および package ツールについての議論 :freebsd-pkg-url: https://lists.FreeBSD.org/subscription/freebsd-pkg :freebsd-pkg: {freebsd-pkg-url}[{freebsd-pkg-desc}] :freebsd-pkg-fallout-desc: package 構築に失敗したログ :freebsd-pkg-fallout-url: https://lists.FreeBSD.org/subscription/freebsd-pkg-fallout :freebsd-pkg-fallout: {freebsd-pkg-fallout-url}[{freebsd-pkg-fallout-desc}] :freebsd-pkgbase-desc: FreeBSD ベースシステムの pkg 化 :freebsd-pkgbase-url: https://lists.FreeBSD.org/subscription/freebsd-pkgbase :freebsd-pkgbase: {freebsd-pkgbase-url}[{freebsd-pkgbase-desc}] :freebsd-platforms-desc: FreeBSD non-Intel platforms porting メーリングリスト :freebsd-platforms-url: https://lists.FreeBSD.org/subscription/freebsd-platforms :freebsd-platforms: {freebsd-platforms-url}[{freebsd-platforms-desc}] :freebsd-ports-desc: FreeBSD ports メーリングリスト :freebsd-ports-url: https://lists.FreeBSD.org/subscription/freebsd-ports :freebsd-ports: {freebsd-ports-url}[{freebsd-ports-desc}] :freebsd-ports-announce-desc: FreeBSD ports announce メーリングリスト :freebsd-ports-announce-url: https://lists.FreeBSD.org/subscription/freebsd-ports-announce :freebsd-ports-announce: {freebsd-ports-announce-url}[{freebsd-ports-announce-desc}] :freebsd-ports-bugs-desc: FreeBSD ports bugs メーリングリスト :freebsd-ports-bugs-url: https://lists.FreeBSD.org/subscription/freebsd-ports-bugs :freebsd-ports-bugs: {freebsd-ports-bugs-url}[{freebsd-ports-bugs-desc}] :freebsd-ppc-desc: FreeBSD PowerPC porting メーリングリスト :freebsd-ppc-url: https://lists.FreeBSD.org/subscription/freebsd-ppc :freebsd-ppc: {freebsd-ppc-url}[{freebsd-ppc-desc}] :freebsd-proliant-desc: HP ProLiant サーバプラットフォーム上の FreeBSD に関する議論 :freebsd-proliant-url: https://lists.FreeBSD.org/subscription/freebsd-proliant :freebsd-proliant: {freebsd-proliant-url}[{freebsd-proliant-desc}] :freebsd-python-desc: FreeBSD Python メーリングリスト :freebsd-python-url: https://lists.FreeBSD.org/subscription/freebsd-python :freebsd-python: {freebsd-python-url}[{freebsd-python-desc}] :freebsd-questions-desc: FreeBSD general questions メーリングリスト :freebsd-questions-url: https://lists.FreeBSD.org/subscription/freebsd-questions :freebsd-questions: {freebsd-questions-url}[{freebsd-questions-desc}] :freebsd-rc-desc: FreeBSD 起動スクリプトシステムメーリングリスト :freebsd-rc-url: https://lists.FreeBSD.org/subscription/freebsd-rc :freebsd-rc: {freebsd-rc-url}[{freebsd-rc-desc}] :freebsd-realtime-desc: FreeBSD realtime extensions メーリングリスト :freebsd-realtime-url: https://lists.FreeBSD.org/subscription/freebsd-realtime :freebsd-realtime: {freebsd-realtime-url}[{freebsd-realtime-desc}] :freebsd-riscv-desc: FreeBSD RISC-V porting メーリングリスト :freebsd-riscv-url: https://lists.FreeBSD.org/subscription/freebsd-riscv :freebsd-riscv: {freebsd-riscv-url}[{riscv-riscv-desc}] :freebsd-ruby-desc: FreeBSD Ruby メーリングリスト :freebsd-ruby-url: https://lists.FreeBSD.org/subscription/freebsd-ruby :freebsd-ruby: {freebsd-ruby-url}[{freebsd-ruby-desc}] :freebsd-scsi-desc: FreeBSD SCSI subsystem メーリングリスト :freebsd-scsi-url: https://lists.FreeBSD.org/subscription/freebsd-scsi :freebsd-scsi: {freebsd-scsi-url}[{freebsd-scsi-desc}] :freebsd-security-desc: FreeBSD security メーリングリスト :freebsd-security-url: https://lists.FreeBSD.org/subscription/freebsd-security :freebsd-security: {freebsd-security-url}[{freebsd-security-desc}] :freebsd-security-notifications-desc: FreeBSD security notifications メーリングリスト :freebsd-security-notifications-url: https://lists.FreeBSD.org/subscription/freebsd-security-notifications :freebsd-security-notifications: {freebsd-security-notifications-url}[{freebsd-security-notifications-desc}] :freebsd-snapshots-desc: FreeBSD 開発スナップショットのアナウンス :freebsd-snapshots-url: https://lists.FreeBSD.org/subscription/freebsd-snapshots :freebsd-snapshots: {freebsd-snapshots-url}[{freebsd-snapshots-desc}] :freebsd-sparc64-desc: FreeBSD SPARC porting メーリングリスト :freebsd-sparc64-url: https://lists.FreeBSD.org/subscription/freebsd-sparc64 :freebsd-sparc64: {freebsd-sparc64-url}[{freebsd-sparc64-desc}] :freebsd-stable-desc: FreeBSD-STABLE; メーリングリスト :freebsd-stable-url: https://lists.FreeBSD.org/subscription/freebsd-stable :freebsd-stable: {freebsd-stable-url}[{freebsd-stable-desc}] :freebsd-standards-desc: FreeBSD C99 and POSIX compliance メーリングリスト :freebsd-standards-url: https://lists.FreeBSD.org/subscription/freebsd-standards :freebsd-standards: {freebsd-standards-url}[{freebsd-standards-desc}] :freebsd-sun4v-desc: FreeBSD sun4v porting メーリングリスト :freebsd-sun4v-url: https://lists.FreeBSD.org/subscription/freebsd-sun4v :freebsd-sun4v: {freebsd-sun4v-url}[{freebsd-sun4v-desc}] :svn-doc-all-desc: SVN commit messages for the entire doc tree (except for "user", "projects" and "translations") :svn-doc-all-url: https://lists.FreeBSD.org/subscription/svn-doc-all :svn-doc-all: {svn-doc-all-url}[{svn-doc-all-desc}] :svn-doc-head-desc: SVN commit messages for the doc tree for head/ :svn-doc-head-url: https://lists.FreeBSD.org/subscription/svn-doc-head :svn-doc-head: {svn-doc-head-url}[{svn-doc-head-desc}] :svn-doc-projects-desc: SVN commit messages for the doc "projects" tree :svn-doc-projects-url: https://lists.FreeBSD.org/subscription/svn-doc-projects :svn-doc-projects: {svn-doc-projects-url}[{svn-doc-projects-desc}] :svn-doc-svnadmin-desc: SVN commit messages for the doc admin / configuration tree :svn-doc-svnadmin-url: https://lists.FreeBSD.org/subscription/svn-doc-svnadmin :svn-doc-svnadmin: {svn-doc-svnadmin-url}[{svn-doc-svnadmin-desc}] :svn-ports-all-desc: SVN commit messages for the entire ports tree :svn-ports-all-url: https://lists.FreeBSD.org/subscription/svn-ports-all :svn-ports-all: {svn-ports-all-url}[{svn-ports-all-desc}] :svn-ports-head-desc: SVN commit messages for the ports tree for head/ :svn-ports-head-url: https://lists.FreeBSD.org/subscription/svn-ports-head :svn-ports-head: {svn-ports-head-url}[{svn-ports-head-desc}] :svn-ports-svnadmin-desc: SVN commit messages for the ports admin / configuration tree :svn-ports-svnadmin-url: https://lists.FreeBSD.org/subscription/svn-ports-svnadmin :svn-ports-svnadmin: {svn-ports-svnadmin-url}[{svn-ports-svnadmin-desc}] :svn-src-all-desc: SVN commit messages for the entire src tree (except for "user" and "projects") :svn-src-all-url: https://lists.FreeBSD.org/subscription/svn-src-all :svn-src-all: {svn-src-all-url}[{svn-src-all-desc}] :svn-src-head-desc: SVN commit messages for the src tree for head/-current :svn-src-head-url: https://lists.FreeBSD.org/subscription/svn-src-head :svn-src-head: {svn-src-head-url}[{svn-src-head-desc}] :svn-src-projects-desc: SVN commit messages for the src "projects" tree :svn-src-projects-url: https://lists.FreeBSD.org/subscription/svn-src-projects :svn-src-projects: {svn-src-projects-url}[{svn-src-projects-desc}] :svn-src-release-desc: SVN commit messages for releases in the src tree :svn-src-release-url: https://lists.FreeBSD.org/subscription/svn-src-release :svn-src-release: {svn-src-release-url}[{svn-src-release-desc}] :svn-src-releng-desc: SVN commit messages for the release engineering / security commits to the src tree :svn-src-releng-url: https://lists.FreeBSD.org/subscription/svn-src-releng :svn-src-releng: {svn-src-releng-url}[{svn-src-releng-desc}] :svn-src-stable-desc: SVN commit messages for all the -stable branches of the src tree :svn-src-stable-url: https://lists.FreeBSD.org/subscription/svn-src-stable :svn-src-stable: {svn-src-stable-url}[{svn-src-stable-desc}] :svn-src-stable-6-desc: SVN commit messages for only the 6-stable src tree :svn-src-stable-6-url: https://lists.FreeBSD.org/subscription/svn-src-stable-6 :svn-src-stable-6: {svn-src-stable-6-url}[{svn-src-stable-6-desc}] :svn-src-stable-7-desc: SVN commit messages for only the 7-stable src tree :svn-src-stable-7-url: https://lists.FreeBSD.org/subscription/svn-src-stable-7 :svn-src-stable-7: {svn-src-stable-7-url}[{svn-src-stable-7-desc}] :svn-src-stable-8-desc: SVN commit messages for only the 8-stable src tree :svn-src-stable-8-url: https://lists.FreeBSD.org/subscription/svn-src-stable-8 :svn-src-stable-8: {svn-src-stable-8-url}[{svn-src-stable-8-desc}] :svn-src-stable-9-desc: 9-stable ソースツリーの SVN コミットメッセージ :svn-src-stable-9-url: https://lists.FreeBSD.org/subscription/svn-src-stable-9 :svn-src-stable-9: {svn-src-stable-9-url}[{svn-src-stable-9-desc}] :svn-src-stable-10-desc: 10-stable ソースツリーの SVN コミットメッセージ :svn-src-stable-10-url: https://lists.FreeBSD.org/subscription/svn-src-stable-10 :svn-src-stable-10: {svn-src-stable-10-url}[{svn-src-stable-10-desc}] :svn-src-stable-11-desc: 11-stable ソースツリーの SVN コミットメッセージ :svn-src-stable-11-url: https://lists.FreeBSD.org/subscription/svn-src-stable-11 :svn-src-stable-11: {svn-src-stable-11-url}[{svn-src-stable-11-desc}] :svn-src-stable-12-desc: 12-stable ソースツリーの SVN コミットメッセージ :svn-src-stable-12-url: https://lists.FreeBSD.org/subscription/svn-src-stable-12 :svn-src-stable-12: {svn-src-stable-12-url}[{svn-src-stable-12-desc}] :svn-src-stable-other-desc: SVN commit messages for the old stable src trees :svn-src-stable-other-url: https://lists.FreeBSD.org/subscription/svn-src-stable-other :svn-src-stable-other: {svn-src-stable-other-url}[{svn-src-stable-other-desc}] :svn-src-svnadmin-desc: SVN commit messages for the admin / configuration tree :svn-src-svnadmin-url: https://lists.FreeBSD.org/subscription/svn-src-svnadmin :svn-src-svnadmin: {svn-src-svnadmin-url}[{svn-src-svnadmin-desc}] :svn-src-user-desc: SVN commit messages for the experimental "user" src tree :svn-src-user-url: https://lists.FreeBSD.org/subscription/svn-src-user :svn-src-user: {svn-src-user-url}[{svn-src-user-desc}] :svn-src-vendor-desc: SVN commit messages for the vendor work area tree :svn-src-vendor-url: https://lists.FreeBSD.org/subscription/svn-src-vendor :svn-src-vendor: {svn-src-vendor-url}[{svn-src-vendor-desc}] :freebsd-sysinstall-desc: Sysinstall development メーリングリスト :freebsd-sysinstall-url: https://lists.FreeBSD.org/subscription/freebsd-sysinstall :freebsd-sysinstall: {freebsd-sysinstall-url}[{freebsd-sysinstall-desc}] :freebsd-tcltk-desc: FreeBSD 固有の Tcl/Tk に関する議論 :freebsd-tcltk-url: https://lists.FreeBSD.org/subscription/freebsd-tcltk :freebsd-tcltk: {freebsd-tcltk-url}[{freebsd-tcltk-desc}] :freebsd-teaching-desc: FreeBSD 教育のメーリングリスト :freebsd-teaching-url: https://lists.FreeBSD.org/subscription/freebsd-teaching :freebsd-teaching: {freebsd-teaching-url}[{freebsd-teaching-desc}] :freebsd-test-desc: FreeBSD test メーリングリスト :freebsd-test-url: https://lists.FreeBSD.org/subscription/freebsd-test :freebsd-test: {freebsd-test-url}[{freebsd-test-desc}] :freebsd-testing-desc: FreeBSD における試験 :freebsd-testing-url: https://lists.FreeBSD.org/subscription/freebsd-testing :freebsd-testing: {freebsd-testing-url}[{freebsd-testing-desc}] :freebsd-tex-desc: FreeBSD への TeX および関連アプリケーションの移植 :freebsd-tex-url: https://lists.FreeBSD.org/subscription/freebsd-tex :freebsd-tex: {freebsd-tex-url}[{freebsd-tex-desc}] :freebsd-threads-desc: FreeBSD threads メーリングリスト :freebsd-threads-url: https://lists.FreeBSD.org/subscription/freebsd-threads :freebsd-threads: {freebsd-threads-url}[{freebsd-threads-desc}] :freebsd-tilera-desc: Porting FreeBSD to the Tilera family of CPUs :freebsd-tilera-url: https://lists.FreeBSD.org/subscription/freebsd-tilera :freebsd-tilera: {freebsd-tilera-url}[{freebsd-tilera-desc}] :freebsd-tokenring-desc: FreeBSD tokenring メーリングリスト :freebsd-tokenring-url: https://lists.FreeBSD.org/subscription/freebsd-tokenring :freebsd-tokenring: {freebsd-tokenring-url}[{freebsd-tokenring-desc}] :freebsd-toolchain-desc: FreeBSD の統合されたツールチェインメーリングリスト :freebsd-toolchain-url: https://lists.FreeBSD.org/subscription/freebsd-toolchain :freebsd-toolchain: {freebsd-toolchain-url}[{freebsd-toolchain-desc}] :freebsd-translators-desc: FreeBSD 翻訳者メーリングリスト :freebsd-translators-url: https://lists.FreeBSD.org/subscription/freebsd-translators :freebsd-translators: {freebsd-translators-url}[{freebsd-translators-desc}] :freebsd-transport-desc: FreeBSD トランスポートメーリングリスト :freebsd-transport-url: https://lists.FreeBSD.org/subscription/freebsd-transport :freebsd-transport: {freebsd-transport-url}[{freebsd-transport-desc}] :freebsd-usb-desc: FreeBSD USB メーリングリスト :freebsd-usb-url: https://lists.FreeBSD.org/subscription/freebsd-usb :freebsd-usb: {freebsd-usb-url}[{freebsd-usb-desc}] :freebsd-user-groups-desc: FreeBSD user group coordination メーリングリスト :freebsd-user-groups-url: https://lists.FreeBSD.org/subscription/freebsd-user-groups :freebsd-user-groups: {freebsd-user-groups-url}[{freebsd-user-groups-desc}] :freebsd-vendors-desc: FreeBSD vendors pre-release coordination メーリングリスト :freebsd-vendors-url: https://lists.FreeBSD.org/subscription/freebsd-vendors :freebsd-vendors: {freebsd-vendors-url}[{freebsd-vendors-desc}] :freebsd-virtualization-desc: Discussion of various virtualization techniques supported by FreeBSD :freebsd-virtualization-url: https://lists.FreeBSD.org/subscription/freebsd-virtualization :freebsd-virtualization: {freebsd-virtualization-url}[{freebsd-virtualization-desc}] :freebsd-vuxml-desc: Discussion on the VuXML infrastructure :freebsd-vuxml-url: https://lists.FreeBSD.org/subscription/freebsd-vuxml :freebsd-vuxml: {freebsd-vuxml-url}[{freebsd-vuxml-desc}] :freebsd-wip-status-desc: FreeBSD Work-In-Progress Status :freebsd-wip-status-url: https://lists.FreeBSD.org/subscription/freebsd-wip-status :freebsd-wip-status: {freebsd-wip-status-url}[{freebsd-wip-status-desc}] :freebsd-wireless-desc: Discussions of 802.11 stack, tools, device driver development :freebsd-wireless-url: https://lists.FreeBSD.org/subscription/freebsd-wireless :freebsd-wireless: {freebsd-wireless-url}[{freebsd-wireless-desc}] :freebsd-women-desc: FreeBSD の女性支援 :freebsd-women-url: https://lists.FreeBSD.org/subscription/freebsd-women :freebsd-women: {freebsd-women-url}[{freebsd-women-desc}] :freebsd-www-desc: FreeBSD Webmaster メーリングリスト :freebsd-www-url: https://lists.FreeBSD.org/subscription/freebsd-www :freebsd-www: {freebsd-www-url}[{freebsd-www-desc}] :freebsd-x11-desc: FreeBSD X11 メーリングリスト :freebsd-x11-url: https://lists.FreeBSD.org/subscription/freebsd-x11 :freebsd-x11: {freebsd-x11-url}[{freebsd-x11-desc}] :freebsd-xen-desc: FreeBSD port to Xen メーリングリスト :freebsd-xen-url: https://lists.FreeBSD.org/subscription/freebsd-xen :freebsd-xen: {freebsd-xen-url}[{freebsd-xen-desc}] :freebsd-xfce-desc: XFCE for FreeBSD メーリングリスト :freebsd-xfce-url: https://lists.FreeBSD.org/subscription/freebsd-xfce :freebsd-xfce: {freebsd-xfce-url}[{freebsd-xfce-desc}] :freebsd-zope-desc: Zope for FreeBSD メーリングリスト :freebsd-zope-url: https://lists.FreeBSD.org/subscription/freebsd-zope :freebsd-zope: {freebsd-zope-url}[{freebsd-zope-desc}] :users-jp-desc: FreeBSD users-jp メーリングリスト :users-jp-mail: FreeBSD-users-jp@jp.FreeBSD.org :users-jp: {users-jp-desc} <{users-jp-mail}> :committers-name: FreeBSD committer's メーリングリスト :committers: {committers-name} :core-name: FreeBSD core team :core: {core-name} :developers-name: FreeBSD developers メーリングリスト :developers: {committers-developers} :doc-committers-name: FreeBSD doc/ committer's メーリングリスト :doc-committers: {doc-committers-name} :doc-developers-name: FreeBSD doc/ developers メーリングリスト :doc-developers: {doc-developers-name} :ports-committers-name: FreeBSD ports/ committer's メーリングリスト :ports-committers: {ports-committers-name} :ports-developers-name: FreeBSD ports/ developers メーリングリスト :ports-developers: {ports-developers-name} :src-committers-name: FreeBSD src/ committer's メーリングリスト :src-committers: {src-committers-name} :src-developers-name: FreeBSD src/ developers メーリングリスト :src-developers: {src-developers-name} // Not really proper mailing lists :bugfollowup: bug-followup@FreeBSD.org :bugsubmit: {bugfollowup} :majordomo: majordomo@FreeBSD.org // The following mailinglists are deactivated. Keep them until all references // in the documentation are gone. :freebsd-alpha-desc: FreeBSD Alpha porting メーリングリスト :freebsd-alpha-url: https://lists.FreeBSD.org/subscription/freebsd-alpha :freebsd-alpha: {freebsd-alpha-url}[{freebsd-alpha-desc}] :freebsd-qa-desc: FreeBSD Quality Assurance メーリングリスト :freebsd-qa-url: https://lists.FreeBSD.org/subscription/freebsd-qa :freebsd-qa: {freebsd-qa-url}[{freebsd-qa-desc}] :freebsd-smp-desc: FreeBSD symmetric multiprocessing メーリングリスト :freebsd-smp-url: https://lists.FreeBSD.org/subscription/freebsd-smp :freebsd-smp: {freebsd-smp-url}[{freebsd-smp-desc}] diff --git a/shared/mn/mailing-lists.adoc b/shared/mn/mailing-lists.adoc index bc1b8a34a9..9189a3b0c3 100644 --- a/shared/mn/mailing-lists.adoc +++ b/shared/mn/mailing-lists.adoc @@ -1,613 +1,613 @@ // // The FreeBSD Mongolian Documentation Project // // Names of FreeBSD mailing lists and related software. // // $FreeBSD$ // -:mailman-lists-desc: FreeBSD жагсаалтын сервер -:mailman-lists-url: https://lists.freebsd.org -:mailman-lists: {mailman-lists-url}[{mailman-lists-desc}] +:mailing-lists-desc: FreeBSD жагсаалтын сервер +:mailing-lists-url: https://lists.freebsd.org +:mailing-lists: {mailing-lists-url}[{mailing-lists-desc}] :freebsd-acpi-desc: FreeBSD ACPI захидлын жагсаалт :freebsd-acpi-url: https://lists.FreeBSD.org/subscription/freebsd-acpi :freebsd-acpi: {freebsd-acpi-url}[{freebsd-acpi-desc}] :freebsd-advocacy-desc: FreeBSD advocacy захидлын жагсаалт :freebsd-advocacy-url: https://lists.FreeBSD.org/subscription/freebsd-advocacy :freebsd-advocacy: {freebsd-advocacy-url}[{freebsd-advocacy-desc}] :freebsd-afs-desc: FreeBSD AFS порт хийх захидлын жагсаалт :freebsd-afs-url: https://lists.FreeBSD.org/subscription/freebsd-afs :freebsd-afs: {freebsd-afs-url}[{freebsd-afs-desc}] :freebsd-aic7xxx-desc: FreeBSD Adaptec AIC7xxx хэлэлцүүлгүүдийн захидлын жагсаалт :freebsd-aic7xxx-url: https://lists.FreeBSD.org/subscription/aic7xxx :freebsd-aic7xxx: {freebsd-aic7xxx-url}[{freebsd-aic7xxx-desc}] :freebsd-amd64-desc: FreeBSD-г AMD64 системүүд уруу порт хийх :freebsd-amd64-url: https://lists.FreeBSD.org/subscription/freebsd-amd64 :freebsd-amd64: {freebsd-amd64-url}[{freebsd-amd64-desc}] :freebsd-announce-desc: FreeBSD зарлалын захидлын жагсаалт :freebsd-announce-url: https://lists.FreeBSD.org/subscription/freebsd-announce :freebsd-announce: {freebsd-announce-url}[{freebsd-announce-desc}] :freebsd-apache-desc: FreeBSD Apache захидлын жагсаалт :freebsd-apache-url: https://lists.FreeBSD.org/subscription/freebsd-apache :freebsd-apache: {freebsd-apache-url}[{freebsd-apache-desc}] :freebsd-arch-desc: FreeBSD архитектур ба дизайны захидлын жагсаалт :freebsd-arch-url: https://lists.FreeBSD.org/subscription/freebsd-arch :freebsd-arch: {freebsd-arch-url}[{freebsd-arch-desc}] :freebsd-arm-desc: FreeBSD ARM порт хийх захидлын жагсаалт :freebsd-arm-url: https://lists.FreeBSD.org/subscription/freebsd-arm :freebsd-arm: {freebsd-arm-url}[{freebsd-arm-desc}] :freebsd-atm-desc: FreeBSD ATM сүлжээний захидлын жагсаалт :freebsd-atm-url: https://lists.FreeBSD.org/subscription/freebsd-atm :freebsd-atm: {freebsd-atm-url}[{freebsd-atm-desc}] :freebsd-bluetooth-desc: FreeBSD Bluetooth захидлын жагсаалт :freebsd-bluetooth-url: https://lists.FreeBSD.org/subscription/freebsd-bluetooth :freebsd-bluetooth: {freebsd-bluetooth-url}[{freebsd-bluetooth-desc}] :freebsd-bugbusters-desc: FreeBSD bugbusters захидлын жагсаалт :freebsd-bugbusters-url: https://lists.FreeBSD.org/subscription/freebsd-bugbusters :freebsd-bugbusters: {freebsd-bugbusters-url}[{freebsd-bugbusters-desc}] :freebsd-bugs-desc: FreeBSD асуудлын тайлангуудын захидлын жагсаалт :freebsd-bugs-url: https://lists.FreeBSD.org/subscription/freebsd-bugs :freebsd-bugs: {freebsd-bugs-url}[{freebsd-bugs-desc}] :freebsd-chat-desc: FreeBSD chat захидлын жагсаалт :freebsd-chat-url: https://lists.FreeBSD.org/subscription/freebsd-chat :freebsd-chat: {freebsd-chat-url}[{freebsd-chat-desc}] :freebsd-chromium-desc: FreeBSD-тэй холбоотой Chromium-ийн жагсаалт :freebsd-chromium-url: https://lists.FreeBSD.org/subscription/freebsd-chromium :freebsd-chromium: {freebsd-chromium-url}[{freebsd-chromium-desc}] :freebsd-cluster-desc: FreeBSD кластерийн захидлын жагсаалт :freebsd-cluster-url: https://lists.FreeBSD.org/subscription/freebsd-cluster :freebsd-cluster: {freebsd-cluster-url}[{freebsd-cluster-desc}] :freebsd-current-desc: FreeBSD-CURRENT захидлын жагсаалт :freebsd-current-url: https://lists.FreeBSD.org/subscription/freebsd-current :freebsd-current: {freebsd-current-url}[{freebsd-current-desc}] :ctm-announce-desc: CTM зарлалууд :ctm-announce-url: https://lists.FreeBSD.org/subscription/ctm-announce :ctm-announce: {ctm-announce-url}[{ctm-announce-desc}] :ctm-cvs-cur-desc: CVS файлуудын CTM түгээлт :ctm-cvs-cur-url: https://lists.FreeBSD.org/subscription/ctm-cvs-cur :ctm-cvs-cur: {ctm-cvs-cur-url}[{ctm-cvs-cur-desc}] :ctm-src-4-desc: CTM 4-STABLE src салбар түгээлтийн захидлын жагсаалт :ctm-src-4-url: https://lists.FreeBSD.org/subscription/ctm-src-4 :ctm-src-4: {ctm-src-4-url}[{ctm-src-4-desc}] :ctm-src-5-desc: CTM 5-STABLE src салбар түгээлтийн захидлын жагсаалт :ctm-src-5-url: https://lists.FreeBSD.org/subscription/ctm-src-5 :ctm-src-5: {ctm-src-5-url}[{ctm-src-5-desc}] :ctm-src-6-desc: CTM 6-STABLE src салбар түгээлтийн захидлын жагсаалт :ctm-src-6-url: https://lists.FreeBSD.org/subscription/ctm-src-6 :ctm-src-6: {ctm-src-6-url}[{ctm-src-6-desc}] :ctm-src-7-desc: CTM 7-STABLE src салбар түгээлтийн захидлын жагсаалт :ctm-src-7-url: https://lists.FreeBSD.org/subscription/ctm-src-7 :ctm-src-7: {ctm-src-7-url}[{ctm-src-7-desc}] :ctm-src-8-desc: CTM 8-STABLE src салбар түгээлтийн захидлын жагсаалт :ctm-src-8-url: https://lists.FreeBSD.org/subscription/ctm-src-8 :ctm-src-8: {ctm-src-8-url}[{ctm-src-8-desc}] :ctm-src-9-desc: CTM 9-STABLE src салбар түгээлтийн захидлын жагсаалт :ctm-src-9-url: https://lists.FreeBSD.org/subscription/ctm-src-9 :ctm-src-9: {ctm-src-9-url}[{ctm-src-9-desc}] :ctm-src-cur-desc: CTM -CURRENT src салбар түгээлтийн захидлын жагсаалт :ctm-src-cur-url: https://lists.FreeBSD.org/subscription/ctm-src-cur :ctm-src-cur: {ctm-src-cur-url}[{ctm-src-cur-desc}] :ctm-users-desc: CTM хэрэглэгчийн хэлэлцүүлэг захидлын жагсаалт :ctm-users-url: https://lists.FreeBSD.org/subscription/ctm-users :ctm-users: {ctm-users-url}[{ctm-users-desc}] :cvs-all-desc: FreeBSD CVS-ийн нийлүүлсэн мэдэгдлийн захидлын жагсаалт :cvs-all-url: https://lists.FreeBSD.org/subscription/cvs-all :cvs-all: {cvs-all-url}[{cvs-all-desc}] :cvs-doc-desc: FreeBSD CVS doc нийлүүлэх жагсаалт :cvs-doc-url: https://lists.FreeBSD.org/subscription/cvs-doc :cvs-doc: {cvs-doc-url}[{cvs-doc-desc}] :cvs-ports-desc: FreeBSD CVS ports нийлүүлэх жагсаалт :cvs-ports-url: https://lists.FreeBSD.org/subscription/cvs-ports :cvs-ports: {cvs-ports-url}[{cvs-ports-desc}] :cvs-projects-desc: FreeBSD CVS projects нийлүүлэх жагсаалт :cvs-projects-url: https://lists.FreeBSD.org/subscription/cvs-projects :cvs-projects: {cvs-projects-url}[{cvs-projects-desc}] :cvs-src-desc: FreeBSD CVS src нийлүүлэх жагсаалт :cvs-src-url: https://lists.FreeBSD.org/subscription/cvs-src :cvs-src: {cvs-src-url}[{cvs-src-desc}] :freebsd-cvsweb-desc: FreeBSD CVSweb арчилгааны захидлын жагсаалт :freebsd-cvsweb-url: https://lists.FreeBSD.org/subscription/freebsd-cvsweb :freebsd-cvsweb: {freebsd-cvsweb-url}[{freebsd-cvsweb-desc}] :freebsd-database-desc: FreeBSD дээр суурилсан мэдээллийн баазууд захидлын жагсаалт :freebsd-database-url: https://lists.FreeBSD.org/subscription/freebsd-database :freebsd-database: {freebsd-database-url}[{freebsd-database-desc}] :freebsd-desktop-desc: FreeBSD-г десктоп дээр ашиглах ба сайжруулах захидлын жагсаалт :freebsd-desktop-url: https://lists.FreeBSD.org/subscription/freebsd-desktop :freebsd-desktop: {freebsd-desktop-url}[{freebsd-desktop-desc}] :freebsd-doc-desc: FreeBSD баримтжуулах төслийн захидлын жагсаалт :freebsd-doc-url: https://lists.FreeBSD.org/subscription/freebsd-doc :freebsd-doc: {freebsd-doc-url}[{freebsd-doc-desc}] :freebsd-drivers-desc: FreeBSD-д зориулж төхөөрөмжийн драйвер бичих нь :freebsd-drivers-url: https://lists.FreeBSD.org/subscription/freebsd-drivers :freebsd-drivers: {freebsd-drivers-url}[{freebsd-drivers-desc}] :freebsd-eclipse-desc: Eclipse IDE, хэрэгслүүд, баян клиент програмууд болон портуудын FreeBSD хэрэглэгчид :freebsd-eclipse-url: https://lists.FreeBSD.org/subscription/freebsd-eclipse :freebsd-eclipse: {freebsd-eclipse-url}[{freebsd-eclipse-desc}] :freebsd-embedded-desc: FreeBSD-embedded захидлын жагсаалт :freebsd-embedded-url: https://lists.FreeBSD.org/subscription/freebsd-embedded :freebsd-embedded: {freebsd-embedded-url}[{freebsd-embedded-desc}] :freebsd-emulation-desc: FreeBSD-emulation захидлын жагсаалт :freebsd-emulation-url: https://lists.FreeBSD.org/subscription/freebsd-emulation :freebsd-emulation: {freebsd-emulation-url}[{freebsd-emulation-desc}] :freebsd-eol-desc: FreeBSD-eol захидлын жагсаалт :freebsd-eol-url: https://lists.FreeBSD.org/subscription/freebsd-eol :freebsd-eol: {freebsd-eol-url}[{freebsd-eol-desc}] :freebsd-firewire-desc: FreeBSD FireWire (IEEE 1394) хэлэлцүүлгийн захидлын жагсаалт :freebsd-firewire-url: https://lists.FreeBSD.org/subscription/freebsd-firewire :freebsd-firewire: {freebsd-firewire-url}[{freebsd-firewire-desc}] :freebsd-fs-desc: FreeBSD файлын системийн төслийн захидлын жагсаалт :freebsd-fs-url: https://lists.FreeBSD.org/subscription/freebsd-fs :freebsd-fs: {freebsd-fs-url}[{freebsd-fs-desc}] :freebsd-gecko-desc: FreeBSD gecko захидлын жагсаалт :freebsd-gecko-url: https://lists.FreeBSD.org/subscription/freebsd-gecko :freebsd-gecko: {freebsd-gecko-url}[{freebsd-gecko-desc}] :freebsd-geom-desc: FreeBSD GEOM захидлын жагсаалт :freebsd-geom-url: https://lists.FreeBSD.org/subscription/freebsd-geom :freebsd-geom: {freebsd-geom-url}[{freebsd-geom-desc}] :freebsd-gnome-desc: FreeBSD GNOME болон GNOME програмуудын захидлын жагсаалт :freebsd-gnome-url: https://lists.FreeBSD.org/subscription/freebsd-gnome :freebsd-gnome: {freebsd-gnome-url}[{freebsd-gnome-desc}] :freebsd-hackers-desc: FreeBSD техникийн хэлэлцүүлгүүдийн захидлын жагсаалт :freebsd-hackers-url: https://lists.FreeBSD.org/subscription/freebsd-hackers :freebsd-hackers: {freebsd-hackers-url}[{freebsd-hackers-desc}] :freebsd-hardware-desc: FreeBSD техник хангамж ба тоног төхөөрөмжийн захидлын жагсаалт :freebsd-hardware-url: https://lists.FreeBSD.org/subscription/freebsd-hardware :freebsd-hardware: {freebsd-hardware-url}[{freebsd-hardware-desc}] :freebsd-hubs-desc: FreeBSD толин тусгал сайтуудын захидлын жагсаалт :freebsd-hubs-url: https://lists.FreeBSD.org/subscription/freebsd-hubs :freebsd-hubs: {freebsd-hubs-url}[{freebsd-hubs-desc}] :freebsd-i18n-desc: FreeBSD интернационалчлалын захидлын жагсаалт :freebsd-i18n-url: https://lists.FreeBSD.org/subscription/freebsd-i18n :freebsd-i18n: {freebsd-i18n-url}[{freebsd-i18n-desc}] :freebsd-i386-desc: FreeBSD i386-тай холбоотой асуудлуудын захидлын жагсаалт :freebsd-i386-url: https://lists.FreeBSD.org/subscription/freebsd-i386 :freebsd-i386: {freebsd-i386-url}[{freebsd-i386-desc}] :freebsd-ia32-desc: FreeBSD IA32 порт хийх захидлын жагсаалт :freebsd-ia32-url: https://lists.FreeBSD.org/subscription/freebsd-ia32 :freebsd-ia32: {freebsd-ia32-url}[{freebsd-ia32-desc}] :freebsd-ia64-desc: FreeBSD IA64 порт хийх захидлын жагсаалт :freebsd-ia64-url: https://lists.FreeBSD.org/subscription/freebsd-ia64 :freebsd-ia64: {freebsd-ia64-url}[{freebsd-ia64-desc}] :freebsd-infiniband-desc: FreeBSD дээрх Infiniband :freebsd-infiniband-url: https://lists.FreeBSD.org/subscription/freebsd-infiniband :freebsd-infiniband: {freebsd-infiniband-url}[{freebsd-infiniband-desc}] :freebsd-ipfw-desc: FreeBSD IPFW кодын захидлын жагсаалт :freebsd-ipfw-url: https://lists.FreeBSD.org/subscription/freebsd-ipfw :freebsd-ipfw: {freebsd-ipfw-url}[{freebsd-ipfw-desc}] :freebsd-isdn-desc: FreeBSD ISDN захидлын жагсаалт :freebsd-isdn-url: https://lists.FreeBSD.org/subscription/freebsd-isdn :freebsd-isdn: {freebsd-isdn-url}[{freebsd-isdn-desc}] :freebsd-isp-desc: FreeBSD Интернетийн үйлчилгээ үзүүлэгчийн захидлын жагсаалт :freebsd-isp-url: https://lists.FreeBSD.org/subscription/freebsd-isp :freebsd-isp: {freebsd-isp-url}[{freebsd-isp-desc}] :freebsd-jail-desc: FreeBSD шоронгийн захидлын жагсаалт :freebsd-jail-url: https://lists.FreeBSD.org/subscription/freebsd-jail :freebsd-jail: {freebsd-jail-url}[{freebsd-jail-desc}] :freebsd-java-desc: FreeBSD Java хэлний захидлын жагсаалт :freebsd-java-url: https://lists.FreeBSD.org/subscription/freebsd-java :freebsd-java: {freebsd-java-url}[{freebsd-java-desc}] :freebsd-jobs-desc: FreeBSD-тэй холбоотой ажлын захидлын жагсаалт :freebsd-jobs-url: https://lists.FreeBSD.org/subscription/freebsd-jobs :freebsd-jobs: {freebsd-jobs-url}[{freebsd-jobs-desc}] :freebsd-kde-desc: FreeBSD KDE/Qt ба KDE програмуудын захидлын жагсаалт :freebsd-kde-url: https://mail.kde.org/mailman/listinfo/kde-freebsd :freebsd-kde: {freebsd-kde-url}[{freebsd-kde-desc}] :freebsd-lfs-desc: FreeBSD LFS порт хийх захидлын жагсаалт :freebsd-lfs-url: https://lists.FreeBSD.org/subscription/freebsd-lfs :freebsd-lfs: {freebsd-lfs-url}[{freebsd-lfs-desc}] :freebsd-mips-desc: FreeBSD MIPS порт хийх захидлын жагсаалт :freebsd-mips-url: https://lists.FreeBSD.org/subscription/freebsd-mips :freebsd-mips: {freebsd-mips-url}[{freebsd-mips-desc}] :mirror-announce-desc: FreeBSD толин тусгал сайтын администраторууд :mirror-announce-url: https://lists.FreeBSD.org/subscription/mirror-announce :mirror-announce: {mirror-announce-url}[{mirror-announce-desc}] :freebsd-mobile-desc: FreeBSD зөөврийн компьютерийн захидлын жагсаалт :freebsd-mobile-url: https://lists.FreeBSD.org/subscription/freebsd-mobile :freebsd-mobile: {freebsd-mobile-url}[{freebsd-mobile-desc}] :freebsd-mono-desc: Mono and C# applications on FreeBSD :freebsd-mono-url: https://lists.FreeBSD.org/subscription/freebsd-mono :freebsd-mono: {freebsd-mono-url}[{freebsd-mono-desc}] :freebsd-mozilla-desc: Mozilla хөтлөгчийн FreeBSD портын захидлын жагсаалт :freebsd-mozilla-url: https://lists.FreeBSD.org/subscription/freebsd-mozilla :freebsd-mozilla: {freebsd-mozilla-url}[{freebsd-mozilla-desc}] :freebsd-multimedia-desc: FreeBSD мультимедиа захидлын жагсаалт :freebsd-multimedia-url: https://lists.FreeBSD.org/subscription/freebsd-multimedia :freebsd-multimedia: {freebsd-multimedia-url}[{freebsd-multimedia-desc}] :freebsd-net-desc: FreeBSD сүлжээний захидлын жагсаалт :freebsd-net-url: https://lists.FreeBSD.org/subscription/freebsd-net :freebsd-net: {freebsd-net-url}[{freebsd-net-desc}] :freebsd-newbies-desc: FreeBSD шинэ хэрэглэгчдийн захидлын жагсаалт :freebsd-newbies-url: https://lists.FreeBSD.org/subscription/freebsd-newbies :freebsd-newbies: {freebsd-newbies-url}[{freebsd-newbies-desc}] :freebsd-new-bus-desc: FreeBSD new-bus захидлын жагсаалт :freebsd-new-bus-url: https://lists.FreeBSD.org/subscription/freebsd-new-bus :freebsd-new-bus: {freebsd-new-bus-url}[{freebsd-new-bus-desc}] :freebsd-numerics-desc: libm функцуудын өндөр чанартай шийдлийн хэлэлцүүлгүүд :freebsd-numerics-url: https://lists.FreeBSD.org/subscription/freebsd-numerics :freebsd-numerics: {freebsd-numerics-url}[{freebsd-numerics-desc}] :freebsd-office-desc: FreeBSD дээрх Оффисын програмууд :freebsd-office-url: https://lists.FreeBSD.org/subscription/freebsd-office :freebsd-office: {freebsd-office-url}[{freebsd-office-desc}] :freebsd-ops-announce-desc: Төслийн Дэд бүтцийн талаарх мэдээлэл :freebsd-ops-announce-url: https://lists.FreeBSD.org/subscription/freebsd-ops-announce :freebsd-ops-announce: {freebsd-ops-announce-url}[{freebsd-ops-announce-desc}] :freebsd-performance-desc: FreeBSD ажиллагааны захидлын жагсаалт :freebsd-performance-url: https://lists.FreeBSD.org/subscription/freebsd-performance :freebsd-performance: {freebsd-performance-url}[{freebsd-performance-desc}] :freebsd-perl-desc: FreeBSD Perl захидлын жагсаалт :freebsd-perl-url: https://lists.FreeBSD.org/subscription/freebsd-perl :freebsd-perl: {freebsd-perl-url}[{freebsd-perl-desc}] :freebsd-pf-desc: FreeBSD пакет шүүгчийн захидлын жагсаалт :freebsd-pf-url: https://lists.FreeBSD.org/subscription/freebsd-pf :freebsd-pf: {freebsd-pf-url}[{freebsd-pf-desc}] :freebsd-pkg-desc: Бинар багц удирдлага ба багцын хэрэгслүүдийн хэлэлцүүлэг :freebsd-pkg-url: https://lists.FreeBSD.org/subscription/freebsd-pkg :freebsd-pkg: {freebsd-pkg-url}[{freebsd-pkg-desc}] :freebsd-platforms-desc: FreeBSD Интел бус тавцангууд уруу порт хийх захидлын жагсаалт :freebsd-platforms-url: https://lists.FreeBSD.org/subscription/freebsd-platforms :freebsd-platforms: {freebsd-platforms-url}[{freebsd-platforms-desc}] :freebsd-ports-desc: FreeBSD портын захидлын жагсаалт :freebsd-ports-url: https://lists.FreeBSD.org/subscription/freebsd-ports :freebsd-ports: {freebsd-ports-url}[{freebsd-ports-desc}] :freebsd-ports-announce-desc: FreeBSD портын зарлалын захидлын жагсаалт :freebsd-ports-announce-url: https://lists.FreeBSD.org/subscription/freebsd-ports-announce :freebsd-ports-announce: {freebsd-ports-announce-url}[{freebsd-ports-announce-desc}] :freebsd-ports-bugs-desc: FreeBSD портын алдааны захидлын жагсаалт :freebsd-ports-bugs-url: https://lists.FreeBSD.org/subscription/freebsd-ports-bugs :freebsd-ports-bugs: {freebsd-ports-bugs-url}[{freebsd-ports-bugs-desc}] :freebsd-ppc-desc: FreeBSD PowerPC порт хийх захидлын жагсаалт :freebsd-ppc-url: https://lists.FreeBSD.org/subscription/freebsd-ppc :freebsd-ppc: {freebsd-ppc-url}[{freebsd-ppc-desc}] :freebsd-proliant-desc: HP Proliant сервер тавцангууд дээрх FreeBSD-ийн техникийн хэлэлцүүлэг :freebsd-proliant-url: https://lists.FreeBSD.org/subscription/freebsd-proliant :freebsd-proliant: {freebsd-proliant-url}[{freebsd-proliant-desc}] :freebsd-python-desc: FreeBSD Python захидлын жагсаалт :freebsd-python-url: https://lists.FreeBSD.org/subscription/freebsd-python :freebsd-python: {freebsd-python-url}[{freebsd-python-desc}] :freebsd-questions-desc: FreeBSD ерөнхий асуултууд захидлын жагсаалт :freebsd-questions-url: https://lists.FreeBSD.org/subscription/freebsd-questions :freebsd-questions: {freebsd-questions-url}[{freebsd-questions-desc}] :freebsd-rc-desc: FreeBSD ачаалах скрипт системийн захидлын жагсаалт :freebsd-rc-url: https://lists.FreeBSD.org/subscription/freebsd-rc :freebsd-rc: {freebsd-rc-url}[{freebsd-rc-desc}] :freebsd-realtime-desc: FreeBSD realtime өргөтгөлүүд захидлын жагсаалт :freebsd-realtime-url: https://lists.FreeBSD.org/subscription/freebsd-realtime :freebsd-realtime: {freebsd-realtime-url}[{freebsd-realtime-desc}] :freebsd-ruby-desc: FreeBSD Ruby захидлын жагсаалт :freebsd-ruby-url: https://lists.FreeBSD.org/subscription/freebsd-ruby :freebsd-ruby: {freebsd-ruby-url}[{freebsd-ruby-desc}] :freebsd-scsi-desc: FreeBSD SCSI дэд системийн захидлын жагсаалт :freebsd-scsi-url: https://lists.FreeBSD.org/subscription/freebsd-scsi :freebsd-scsi: {freebsd-scsi-url}[{freebsd-scsi-desc}] :freebsd-security-desc: FreeBSD аюулгүй байдлын захидлын жагсаалт :freebsd-security-url: https://lists.FreeBSD.org/subscription/freebsd-security :freebsd-security: {freebsd-security-url}[{freebsd-security-desc}] :freebsd-security-notifications-desc: FreeBSD аюулгүй байдлын мэдэгдлүүд захидлын жагсаалт :freebsd-security-notifications-url: https://lists.FreeBSD.org/subscription/freebsd-security-notifications :freebsd-security-notifications: {freebsd-security-notifications-url}[{freebsd-security-notifications-desc}] :freebsd-small-desc: FreeBSD-small захидлын жагсаалт :freebsd-small-url: https://lists.FreeBSD.org/subscription/freebsd-small :freebsd-small: {freebsd-small-url}[{freebsd-small-desc}] :freebsd-snapshots-desc: FreeBSD хөгжүүлэлтийн хормын хувилбарын зарууд :freebsd-snapshots-url: https://lists.FreeBSD.org/subscription/freebsd-snapshots :freebsd-snapshots: {freebsd-snapshots-url}[{freebsd-snapshots-desc}] :freebsd-sparc64-desc: FreeBSD SPARC порт хийх захидлын жагсаалт :freebsd-sparc64-url: https://lists.FreeBSD.org/subscription/freebsd-sparc64 :freebsd-sparc64: {freebsd-sparc64-url}[{freebsd-sparc64-desc}] :freebsd-stable-desc: FreeBSD-STABLE; захидлын жагсаалт :freebsd-stable-url: https://lists.FreeBSD.org/subscription/freebsd-stable :freebsd-stable: {freebsd-stable-url}[{freebsd-stable-desc}] :freebsd-standards-desc: FreeBSD C99 болон POSIX-той нийцтэй байдлын захидлын жагсаалт :freebsd-standards-url: https://lists.FreeBSD.org/subscription/freebsd-standards :freebsd-standards: {freebsd-standards-url}[{freebsd-standards-desc}] :freebsd-sun4v-desc: FreeBSD sun4v порт хийх захидлын жагсаалт :freebsd-sun4v-url: https://lists.FreeBSD.org/subscription/freebsd-sun4v :freebsd-sun4v: {freebsd-sun4v-url}[{freebsd-sun4v-desc}] :svn-doc-all-desc: doc модны бүх SVN нийлүүлэлтийн зурвасууд ("user", "projects" ба "translations"-с бусад) :svn-doc-all-url: https://lists.FreeBSD.org/subscription/svn-doc-all :svn-doc-all: {svn-doc-all-url}[{svn-doc-all-desc}] :svn-doc-head-desc: head/-д зориулсан doc модны SVN нийлүүлэлтийн зурвасууд :svn-doc-head-url: https://lists.FreeBSD.org/subscription/svn-doc-head :svn-doc-head: {svn-doc-head-url}[{svn-doc-head-desc}] :svn-doc-projects-desc: doc "projects" модонд зориулсан SVN нийлүүлэлтийн зурвасууд :svn-doc-projects-url: https://lists.FreeBSD.org/subscription/svn-doc-projects :svn-doc-projects: {svn-doc-projects-url}[{svn-doc-projects-desc}] :svn-doc-svnadmin-desc: doc admin / тохиргооны модонд зориулсан SVN нийлүүлэлтийн зурвасууд :svn-doc-svnadmin-url: https://lists.FreeBSD.org/subscription/svn-doc-svnadmin :svn-doc-svnadmin: {svn-doc-svnadmin-url}[{svn-doc-svnadmin-desc}] :svn-ports-all-desc: ports модны бүх SVN нийлүүлэлтийн зурвасууд :svn-ports-all-url: https://lists.FreeBSD.org/subscription/svn-ports-all :svn-ports-all: {svn-ports-all-url}[{svn-ports-all-desc}] :svn-ports-head-desc: head/-д зориулсан ports модны SVN нийлүүлэлтийн зурвасууд :svn-ports-head-url: https://lists.FreeBSD.org/subscription/svn-ports-head :svn-ports-head: {svn-ports-head-url}[{svn-ports-head-desc}] :svn-ports-svnadmin-desc: ports admin / тохиргооны модны SVN нийлүүлэлтийн зурвасууд :svn-ports-svnadmin-url: https://lists.FreeBSD.org/subscription/svn-ports-svnadmin :svn-ports-svnadmin: {svn-ports-svnadmin-url}[{svn-ports-svnadmin-desc}] :svn-src-all-desc: Бүх src модны SVN нийлүүлэлтийн зурвасууд("user" ба "projects"-с бусад) :svn-src-all-url: https://lists.FreeBSD.org/subscription/svn-src-all :svn-src-all: {svn-src-all-url}[{svn-src-all-desc}] :svn-src-head-desc: head/-current src модны SVN нийлүүлэлтийн зурвасууд :svn-src-head-url: https://lists.FreeBSD.org/subscription/svn-src-head :svn-src-head: {svn-src-head-url}[{svn-src-head-desc}] :svn-src-projects-desc: src "projects" модны SVN нийлүүлэлтийн зурвасууд :svn-src-projects-url: https://lists.FreeBSD.org/subscription/svn-src-projects :svn-src-projects: {svn-src-projects-url}[{svn-src-projects-desc}] :svn-src-release-desc: src мод дахь хувилбаруудын SVN нийлүүлэлтийн зурвасууд :svn-src-release-url: https://lists.FreeBSD.org/subscription/svn-src-release :svn-src-release: {svn-src-release-url}[{svn-src-release-desc}] :svn-src-releng-desc: src модны хувилбар инженерчлэл / аюулгүй байдлын SVN нийлүүлэлтийн зурвасууд :svn-src-releng-url: https://lists.FreeBSD.org/subscription/svn-src-releng :svn-src-releng: {svn-src-releng-url}[{svn-src-releng-desc}] :svn-src-stable-desc: src модны бүх -stable салбаруудын SVN нийлүүлэлтийн зурвасууд :svn-src-stable-url: https://lists.FreeBSD.org/subscription/svn-src-stable :svn-src-stable: {svn-src-stable-url}[{svn-src-stable-desc}] :svn-src-stable-6-desc: Зөвхөн 6-stable src модны SVN нийлүүлэлтийн зурвасууд :svn-src-stable-6-url: https://lists.FreeBSD.org/subscription/svn-src-stable-6 :svn-src-stable-6: {svn-src-stable-6-url}[{svn-src-stable-6-desc}] :svn-src-stable-7-desc: Зөвхөн 7-stable src модны SVN нийлүүлэлтийн зурвасууд :svn-src-stable-7-url: https://lists.FreeBSD.org/subscription/svn-src-stable-7 :svn-src-stable-7: {svn-src-stable-7-url}[{svn-src-stable-7-desc}] :svn-src-stable-8-desc: Зөвхөн 8-stable src модны SVN нийлүүлэлтийн зурвасууд :svn-src-stable-8-url: https://lists.FreeBSD.org/subscription/svn-src-stable-8 :svn-src-stable-8: {svn-src-stable-8-url}[{svn-src-stable-8-desc}] :svn-src-stable-9-desc: Зөвхөн 9-stable src модны SVN нийлүүлэлтийн зурвасууд :svn-src-stable-9-url: https://lists.FreeBSD.org/subscription/svn-src-stable-9 :svn-src-stable-9: {svn-src-stable-9-url}[{svn-src-stable-9-desc}] :svn-src-stable-other-desc: Хуучин src моднуудын SVN нийлүүлэлтийн зурвасууд :svn-src-stable-other-url: https://lists.FreeBSD.org/subscription/svn-src-stable-other :svn-src-stable-other: {svn-src-stable-other-url}[{svn-src-stable-other-desc}] :svn-src-svnadmin-desc: Админ / тохиргооны модны SVN нийлүүлэлтийн зурвасууд :svn-src-svnadmin-url: https://lists.FreeBSD.org/subscription/svn-src-svnadmin :svn-src-svnadmin: {svn-src-svnadmin-url}[{svn-src-svnadmin-desc}] :svn-src-user-desc: Туршилтын "user" src модны SVN нийлүүлэлтийн зурвасууд :svn-src-user-url: https://lists.FreeBSD.org/subscription/svn-src-user :svn-src-user: {svn-src-user-url}[{svn-src-user-desc}] :svn-src-vendor-desc: Үйлдвэрлэгчийн ажлын талбар модны SVN нийлүүлэлтийн зурвасууд :svn-src-vendor-url: https://lists.FreeBSD.org/subscription/svn-src-vendor :svn-src-vendor: {svn-src-vendor-url}[{svn-src-vendor-desc}] :freebsd-sysinstall-desc: Sysinstall хөгжүүлэлтийн захидлын жагсаалт :freebsd-sysinstall-url: https://lists.FreeBSD.org/subscription/freebsd-sysinstall :freebsd-sysinstall: {freebsd-sysinstall-url}[{freebsd-sysinstall-desc}] :freebsd-tcltk-desc: FreeBSD-ийн Tcl/Tk захидлын жагсаалт :freebsd-tcltk-url: https://lists.FreeBSD.org/subscription/freebsd-tcltk :freebsd-tcltk: {freebsd-tcltk-url}[{freebsd-tcltk-desc}] :freebsd-test-desc: FreeBSD тест захидлын жагсаалт :freebsd-test-url: https://lists.FreeBSD.org/subscription/freebsd-test :freebsd-test: {freebsd-test-url}[{freebsd-test-desc}] :freebsd-threads-desc: FreeBSD урсгалуудын захидлын жагсаалт :freebsd-threads-url: https://lists.FreeBSD.org/subscription/freebsd-threads :freebsd-threads: {freebsd-threads-url}[{freebsd-threads-desc}] :freebsd-tilera-desc: Tilera төрлийн CPU-ууд руу FreeBSD-г порт хийх талаар хэлэлцэх захидлын жагсаалт :freebsd-tilera-url: https://lists.FreeBSD.org/subscription/freebsd-tilera :freebsd-tilera: {freebsd-tilera-url}[{freebsd-tilera-desc}] :freebsd-tokenring-desc: FreeBSD tokenring захидлын жагсаалт :freebsd-tokenring-url: https://lists.FreeBSD.org/subscription/freebsd-tokenring :freebsd-tokenring: {freebsd-tokenring-url}[{freebsd-tokenring-desc}] :freebsd-toolchain-desc: FreeBSD-д багтдаг хэрэгслүүдийн захидлын жагсаалт :freebsd-toolchain-url: https://lists.FreeBSD.org/subscription/freebsd-toolchain :freebsd-toolchain: {freebsd-toolchain-url}[{freebsd-toolchain-desc}] :freebsd-usb-desc: FreeBSD USB захидлын жагсаалт :freebsd-usb-url: https://lists.FreeBSD.org/subscription/freebsd-usb :freebsd-usb: {freebsd-usb-url}[{freebsd-usb-desc}] :freebsd-user-groups-desc: FreeBSD хэрэглэгчийн бүлгийн зохицуулалт захидлын жагсаалт :freebsd-user-groups-url: https://lists.FreeBSD.org/subscription/freebsd-user-groups :freebsd-user-groups: {freebsd-user-groups-url}[{freebsd-user-groups-desc}] :freebsd-vendors-desc: FreeBSD үйлдвэрлэгчдийн урьдчилсан хувилбар зохицуулалт захидлын жагсаалт :freebsd-vendors-url: https://lists.FreeBSD.org/subscription/freebsd-vendors :freebsd-vendors: {freebsd-vendors-url}[{freebsd-vendors-desc}] :freebsd-virtualization-desc: FreeBSD-ийн дэмждэг төрөл бүрийн виртуалчлалын техникүүдийн талаарх хэлэлцүүлэг :freebsd-virtualization-url: https://lists.FreeBSD.org/subscription/freebsd-virtualization :freebsd-virtualization: {freebsd-virtualization-url}[{freebsd-virtualization-desc}] :freebsd-vuxml-desc: VuXML дэд бүтцийн тухай хэлэлцүүлэг :freebsd-vuxml-url: https://lists.FreeBSD.org/subscription/freebsd-vuxml :freebsd-vuxml: {freebsd-vuxml-url}[{freebsd-vuxml-desc}] :freebsd-wip-status-desc: FreeBSD Work-In-Progress Status :freebsd-wip-status-url: https://lists.FreeBSD.org/subscription/freebsd-wip-status :freebsd-wip-status: {freebsd-wip-status-url}[{freebsd-wip-status-desc}] :freebsd-wireless-desc: 802.11 стек, хэрэгслүүд, драйверын хөгжүүлэлтийн талаарх хэлэлцүүлэг :freebsd-wireless-url: https://lists.FreeBSD.org/subscription/freebsd-wireless :freebsd-wireless: {freebsd-wireless-url}[{freebsd-wireless-desc}] :freebsd-www-desc: FreeBSD вэб мастер захидлын жагсаалт :freebsd-www-url: https://lists.FreeBSD.org/subscription/freebsd-www :freebsd-www: {freebsd-www-url}[{freebsd-www-desc}] :freebsd-x11-desc: FreeBSD X11 захидлын жагсаалт :freebsd-x11-url: https://lists.FreeBSD.org/subscription/freebsd-x11 :freebsd-x11: {freebsd-x11-url}[{freebsd-x11-desc}] :freebsd-xen-desc: FreeBSD-ийн Xen портын захидлын жагсаалт :freebsd-xen-url: https://lists.FreeBSD.org/subscription/freebsd-xen :freebsd-xen: {freebsd-xen-url}[{freebsd-xen-desc}] :freebsd-xfce-desc: FreeBSD-ийн XFCE-н захидлын жагсаалт :freebsd-xfce-url: https://lists.FreeBSD.org/subscription/freebsd-xfce :freebsd-xfce: {freebsd-xfce-url}[{freebsd-xfce-desc}] :freebsd-zope-desc: FreeBSD-ийн Zope-н захидлын жагсаалт :freebsd-zope-url: https://lists.FreeBSD.org/subscription/freebsd-zope :freebsd-zope: {freebsd-zope-url}[{freebsd-zope-desc}] :committers-name: FreeBSD итгэмжлэн оруулагчдын захидлын жагсаалт :committers: {committers-name} :core-name: FreeBSD гол баг :core: {core-name} :developers-name: FreeBSD хөгжүүлэгчдийн захидлын жагсаалт :developers: {committers-developers} :doc-committers-name: FreeBSD doc/ нийлүүлэгчдийн захидлын жагсаалт :doc-committers: {doc-committers-name} :doc-developers-name: FreeBSD doc/ хөгжүүлэгчдийн захидлын жагсаалт :doc-developers: {doc-developers-name} :ports-committers-name: FreeBSD ports/ нийлүүлэгчдийн захидлын жагсаалт :ports-committers: {ports-committers-name} :ports-developers-name: FreeBSD ports/ хөгжүүлэгчдийн захидлын жагсаалт :ports-developers: {ports-developers-name} :src-committers-name: FreeBSD src/ нийлүүлэгчдийн захидлын жагсаалт :src-committers: {src-committers-name} :src-developers-name: FreeBSD src/ хөгжүүлэгчдийн захидлын жагсаалт :src-developers: {src-developers-name} // Not really proper mailing lists :bugfollowup: bug-followup@FreeBSD.org :bugsubmit: {bugfollowup} :majordomo: majordomo@FreeBSD.org // The following mailinglists are deactivated. Keep them until all references // in the documentation are gone. :freebsd-alpha-desc: FreeBSD Alpha порт хийх захидлын жагсаалт :freebsd-alpha-url: https://lists.FreeBSD.org/subscription/freebsd-alpha :freebsd-alpha: {freebsd-alpha-url}[{freebsd-alpha-desc}] :freebsd-qa-desc: FreeBSD Чанарын Батламжийн захидлын жагсаалт :freebsd-qa-url: https://lists.FreeBSD.org/subscription/freebsd-qa :freebsd-qa: {freebsd-qa-url}[{freebsd-qa-desc}] :freebsd-smp-desc: FreeBSD тэгш хэмт олон боловсруулалт захидлын жагсаалт :freebsd-smp-url: https://lists.FreeBSD.org/subscription/freebsd-smp :freebsd-smp: {freebsd-smp-url}[{freebsd-smp-desc}] diff --git a/shared/nl/mailing-lists.adoc b/shared/nl/mailing-lists.adoc index d61aaff779..7ac289a6da 100644 --- a/shared/nl/mailing-lists.adoc +++ b/shared/nl/mailing-lists.adoc @@ -1,619 +1,619 @@ // // Namen van FreeBSD mailinglijsten en gerelateerde software. // // $FreeBSD$ // -:mailman-lists-desc: FreeBSD nlijstserver -:mailman-lists-url: https://lists.freebsd.org -:mailman-lists: {mailman-lists-url}[{mailman-lists-desc}] +:mailing-lists-desc: FreeBSD nlijstserver +:mailing-lists-url: https://lists.freebsd.org +:mailing-lists: {mailing-lists-url}[{mailing-lists-desc}] :freebsd-acpi-desc: FreeBSD ACPI mailinglijst :freebsd-acpi-url: https://lists.FreeBSD.org/subscription/freebsd-acpi :freebsd-acpi: {freebsd-acpi-url}[{freebsd-acpi-desc}] :freebsd-advocacy-desc: FreeBSD steun mailinglijst :freebsd-advocacy-url: https://lists.FreeBSD.org/subscription/freebsd-advocacy :freebsd-advocacy: {freebsd-advocacy-url}[{freebsd-advocacy-desc}] :freebsd-afs-desc: FreeBSD AFS porting mailinglijst :freebsd-afs-url: https://lists.FreeBSD.org/subscription/freebsd-afs :freebsd-afs: {freebsd-afs-url}[{freebsd-afs-desc}] :freebsd-aic7xxx-desc: FreeBSD Adaptec AIC7xxx discussies mailinglijst :freebsd-aic7xxx-url: https://lists.FreeBSD.org/subscription/aic7xxx :freebsd-aic7xxx: {freebsd-aic7xxx-url}[{freebsd-aic7xxx-desc}] :freebsd-amd64-desc: FreeBSD porten naar AMD64 systemen :freebsd-amd64-url: https://lists.FreeBSD.org/subscription/freebsd-amd64 :freebsd-amd64: {freebsd-amd64-url}[{freebsd-amd64-desc}] :freebsd-announce-desc: FreeBSD aankondigingen mailinglijst :freebsd-announce-url: https://lists.FreeBSD.org/subscription/freebsd-announce :freebsd-announce: {freebsd-announce-url}[{freebsd-announce-desc}] :freebsd-apache-desc: FreeBSD Apache mailinglijst :freebsd-apache-url: https://lists.FreeBSD.org/subscription/freebsd-apache :freebsd-apache: {freebsd-apache-url}[{freebsd-apache-desc}] :freebsd-arch-desc: FreeBSD architectuur en ontwerp mailinglijst :freebsd-arch-url: https://lists.FreeBSD.org/subscription/freebsd-arch :freebsd-arch: {freebsd-arch-url}[{freebsd-arch-desc}] :freebsd-arm-desc: FreeBSD ARM porting mailinglijst :freebsd-arm-url: https://lists.FreeBSD.org/subscription/freebsd-arm :freebsd-arm: {freebsd-arm-url}[{freebsd-arm-desc}] :freebsd-atm-desc: FreeBSD ATM netwerken mailinglijst :freebsd-atm-url: https://lists.FreeBSD.org/subscription/freebsd-atm :freebsd-atm: {freebsd-atm-url}[{freebsd-atm-desc}] :freebsd-bluetooth-desc: FreeBSD Bluetooth mailinglijst :freebsd-bluetooth-url: https://lists.FreeBSD.org/subscription/freebsd-bluetooth :freebsd-bluetooth: {freebsd-bluetooth-url}[{freebsd-bluetooth-desc}] :freebsd-bugbusters-desc: FreeBSD bugbusters mailinglijst :freebsd-bugbusters-url: https://lists.FreeBSD.org/subscription/freebsd-bugbusters :freebsd-bugbusters: {freebsd-bugbusters-url}[{freebsd-bugbusters-desc}] :freebsd-bugs-desc: FreeBSD problem reports mailinglijst :freebsd-bugs-url: https://lists.FreeBSD.org/subscription/freebsd-bugs :freebsd-bugs: {freebsd-bugs-url}[{freebsd-bugs-desc}] :freebsd-chat-desc: FreeBSD babbel mailinglijst :freebsd-chat-url: https://lists.FreeBSD.org/subscription/freebsd-chat :freebsd-chat: {freebsd-chat-url}[{freebsd-chat-desc}] :freebsd-chromium-desc: FreeBSD specifieke Chromium problemen :freebsd-chromium-url: https://lists.FreeBSD.org/subscription/freebsd-chromium :freebsd-chromium: {freebsd-chromium-url}[{freebsd-chromium-desc}] :freebsd-cluster-desc: FreeBSD clustering mailinglijst :freebsd-cluster-url: https://lists.FreeBSD.org/subscription/freebsd-cluster :freebsd-cluster: {freebsd-cluster-url}[{freebsd-cluster-desc}] :freebsd-current-desc: FreeBSD-CURRENT mailinglijst :freebsd-current-url: https://lists.FreeBSD.org/subscription/freebsd-current :freebsd-current: {freebsd-current-url}[{freebsd-current-desc}] :ctm-announce-desc: CTM aankondigingen :ctm-announce-url: https://lists.FreeBSD.org/subscription/ctm-announce :ctm-announce: {ctm-announce-url}[{ctm-announce-desc}] :ctm-src-4-desc: CTM 4-STABLE src tak distributie mailinglijst :ctm-src-4-url: https://lists.FreeBSD.org/subscription/ctm-src-4 :ctm-src-4: {ctm-src-4-url}[{ctm-src-4-desc}] :ctm-src-5-desc: CTM 5-STABLE src tak distributie mailinglijst :ctm-src-5-url: https://lists.FreeBSD.org/subscription/ctm-src-5 :ctm-src-5: {ctm-src-5-url}[{ctm-src-5-desc}] :ctm-src-6-desc: CTM 6-STABLE src tak distributie mailinglist :ctm-src-6-url: https://lists.FreeBSD.org/subscription/ctm-src-6 :ctm-src-6: {ctm-src-6-url}[{ctm-src-6-desc}] :ctm-src-7-desc: CTM 7-STABLE src tak distributie mailinglist :ctm-src-7-url: https://lists.FreeBSD.org/subscription/ctm-src-7 :ctm-src-7: {ctm-src-7-url}[{ctm-src-7-desc}] :ctm-src-8-desc: CTM 8-STABLE src tak distributie mailinglist :ctm-src-8-url: https://lists.FreeBSD.org/subscription/ctm-src-8 :ctm-src-8: {ctm-src-8-url}[{ctm-src-8-desc}] :ctm-src-9-desc: CTM 9-STABLE src tak distributie mailinglist :ctm-src-9-url: https://lists.FreeBSD.org/subscription/ctm-src-9 :ctm-src-9: {ctm-src-9-url}[{ctm-src-9-desc}] :ctm-src-cur-desc: CTM -CURRENT src tak distributie mailinglijst :ctm-src-cur-url: https://lists.FreeBSD.org/subscription/ctm-src-cur :ctm-src-cur: {ctm-src-cur-url}[{ctm-src-cur-desc}] :ctm-users-desc: CTM gebruikersdiscussie mailinglijst :ctm-users-url: https://lists.FreeBSD.org/subscription/ctm-users :ctm-users: {ctm-users-url}[{ctm-users-desc}] :cvs-all-desc: FreeBSD CVS commitberichten mailinglijst :cvs-all-url: https://lists.FreeBSD.org/subscription/cvs-all :cvs-all: {cvs-all-url}[{cvs-all-desc}] :cvs-doc-desc: FreeBSD CVS doc commitlijst :cvs-doc-url: https://lists.FreeBSD.org/subscription/cvs-doc :cvs-doc: {cvs-doc-url}[{cvs-doc-desc}] :cvs-ports-desc: FreeBSD CVS ports commitlijst :cvs-ports-url: https://lists.FreeBSD.org/subscription/cvs-ports :cvs-ports: {cvs-ports-url}[{cvs-ports-desc}] :cvs-projects-desc: FreeBSD CVS projecten commitlijst :cvs-projects-url: https://lists.FreeBSD.org/subscription/cvs-projects :cvs-projects: {cvs-projects-url}[{cvs-projects-desc}] :cvs-src-desc: FreeBSD CVS src commitlijst :cvs-src-url: https://lists.FreeBSD.org/subscription/cvs-src :cvs-src: {cvs-src-url}[{cvs-src-desc}] :freebsd-cvsweb-desc: FreeBSD CVSweb beheer mailinglijst :freebsd-cvsweb-url: https://lists.FreeBSD.org/subscription/freebsd-cvsweb :freebsd-cvsweb: {freebsd-cvsweb-url}[{freebsd-cvsweb-desc}] :freebsd-database-desc: FreeBSD gebaseerde Databases mailinglijst :freebsd-database-url: https://lists.FreeBSD.org/subscription/freebsd-database :freebsd-database: {freebsd-database-url}[{freebsd-database-desc}] :freebsd-desktop-desc: FreeBSD gebruiken op en verbeteren voor bureaubladen :freebsd-desktop-url: https://lists.FreeBSD.org/subscription/freebsd-desktop :freebsd-desktop: {freebsd-desktop-url}[{freebsd-desktop-desc}] :freebsd-doc-desc: FreeBSD documentatieproject mailinglijst :freebsd-doc-url: https://lists.FreeBSD.org/subscription/freebsd-doc :freebsd-doc: {freebsd-doc-url}[{freebsd-doc-desc}] :freebsd-drivers-desc: Apparaatstuurprogramma's schrijven voor FreeBSD :freebsd-drivers-url: https://lists.FreeBSD.org/subscription/freebsd-drivers :freebsd-drivers: {freebsd-drivers-url}[{freebsd-drivers-desc}] :freebsd-dtrace-desc: DTrace op FreeBSD gebruiken en ontwikkelen :freebsd-dtrace-url: https://lists.FreeBSD.org/subscription/freebsd-dtrace :freebsd-dtrace: {freebsd-dtrace-url}[{freebsd-dtrace-desc}] :freebsd-eclipse-desc: FreeBSD gebruikers van Eclipse IDE, hulpprogramma's, clientapplicaties en ports :freebsd-eclipse-url: https://lists.FreeBSD.org/subscription/freebsd-eclipse :freebsd-eclipse: {freebsd-eclipse-url}[{freebsd-eclipse-desc}] :freebsd-embedded-desc: FreeBSD-embedded mailinglijst :freebsd-embedded-url: https://lists.FreeBSD.org/subscription/freebsd-embedded :freebsd-embedded: {freebsd-embedded-url}[{freebsd-embedded-desc}] :freebsd-emulation-desc: FreeBSD-emulatie mailinglijst :freebsd-emulation-url: https://lists.FreeBSD.org/subscription/freebsd-emulation :freebsd-emulation: {freebsd-emulation-url}[{freebsd-emulation-desc}] :freebsd-eol-desc: FreeBSD-eol mailinglijst :freebsd-eol-url: https://lists.FreeBSD.org/subscription/freebsd-eol :freebsd-eol: {freebsd-eol-url}[{freebsd-eol-desc}] :freebsd-firewire-desc: FreeBSD FireWire (IEEE 1394) discussion mailinglijst :freebsd-firewire-url: https://lists.FreeBSD.org/subscription/freebsd-firewire :freebsd-firewire: {freebsd-firewire-url}[{freebsd-firewire-desc}] :freebsd-fs-desc: FreeBSD bestandssysteem project mailinglijst :freebsd-fs-url: https://lists.FreeBSD.org/subscription/freebsd-fs :freebsd-fs: {freebsd-fs-url}[{freebsd-fs-desc}] :freebsd-gecko-desc: FreeBSD gecko mailinglijst :freebsd-gecko-url: https://lists.FreeBSD.org/subscription/freebsd-gecko :freebsd-gecko: {freebsd-gecko-url}[{freebsd-gecko-desc}] :freebsd-geom-desc: FreeBSD GEOM mailinglijst :freebsd-geom-url: https://lists.FreeBSD.org/subscription/freebsd-geom :freebsd-geom: {freebsd-geom-url}[{freebsd-geom-desc}] :freebsd-gnome-desc: FreeBSD GNOME and GNOME applications mailinglijst :freebsd-gnome-url: https://lists.FreeBSD.org/subscription/freebsd-gnome :freebsd-gnome: {freebsd-gnome-url}[{freebsd-gnome-desc}] :freebsd-hackers-desc: FreeBSD technische discussie mailinglijst :freebsd-hackers-url: https://lists.FreeBSD.org/subscription/freebsd-hackers :freebsd-hackers: {freebsd-hackers-url}[{freebsd-hackers-desc}] :freebsd-hardware-desc: FreeBSD hardware and apparatuur mailinglijst :freebsd-hardware-url: https://lists.FreeBSD.org/subscription/freebsd-hardware :freebsd-hardware: {freebsd-hardware-url}[{freebsd-hardware-desc}] :freebsd-hubs-desc: FreeBSD mirror sites mailinglijsts :freebsd-hubs-url: https://lists.FreeBSD.org/subscription/freebsd-hubs :freebsd-hubs: {freebsd-hubs-url}[{freebsd-hubs-desc}] :freebsd-i18n-desc: FreeBSD internationalisatie mailinglijst :freebsd-i18n-url: https://lists.FreeBSD.org/subscription/freebsd-i18n :freebsd-i18n: {freebsd-i18n-url}[{freebsd-i18n-desc}] :freebsd-i386-desc: FreeBSD i386-specifieke onderwerpen mailinglijst :freebsd-i386-url: https://lists.FreeBSD.org/subscription/freebsd-i386 :freebsd-i386: {freebsd-i386-url}[{freebsd-i386-desc}] :freebsd-ia32-desc: FreeBSD IA32 porting mailinglijst :freebsd-ia32-url: https://lists.FreeBSD.org/subscription/freebsd-ia32 :freebsd-ia32: {freebsd-ia32-url}[{freebsd-ia32-desc}] :freebsd-ia64-desc: FreeBSD IA64 porting mailinglijst :freebsd-ia64-url: https://lists.FreeBSD.org/subscription/freebsd-ia64 :freebsd-ia64: {freebsd-ia64-url}[{freebsd-ia64-desc}] :freebsd-infiniband-desc: Infiniband op FreeBSD :freebsd-infiniband-url: https://lists.FreeBSD.org/subscription/freebsd-infiniband :freebsd-infiniband: {freebsd-infiniband-url}[{freebsd-infiniband-desc}] :freebsd-ipfw-desc: FreeBSD IPFW code mailinglijst :freebsd-ipfw-url: https://lists.FreeBSD.org/subscription/freebsd-ipfw :freebsd-ipfw: {freebsd-ipfw-url}[{freebsd-ipfw-desc}] :freebsd-isdn-desc: FreeBSD ISDN mailinglijst :freebsd-isdn-url: https://lists.FreeBSD.org/subscription/freebsd-isdn :freebsd-isdn: {freebsd-isdn-url}[{freebsd-isdn-desc}] :freebsd-isp-desc: FreeBSD Internet service provider mailinglijst :freebsd-isp-url: https://lists.FreeBSD.org/subscription/freebsd-isp :freebsd-isp: {freebsd-isp-url}[{freebsd-isp-desc}] :freebsd-jail-desc: FreeBSD jails mailinglijst :freebsd-jail-url: https://lists.FreeBSD.org/subscription/freebsd-jail :freebsd-jail: {freebsd-jail-url}[{freebsd-jail-desc}] :freebsd-java-desc: FreeBSD Java Language mailinglijst :freebsd-java-url: https://lists.FreeBSD.org/subscription/freebsd-java :freebsd-java: {freebsd-java-url}[{freebsd-java-desc}] :freebsd-jobs-desc: FreeBSD gerelateerd werk mailinglijst :freebsd-jobs-url: https://lists.FreeBSD.org/subscription/freebsd-jobs :freebsd-jobs: {freebsd-jobs-url}[{freebsd-jobs-desc}] :freebsd-kde-desc: FreeBSD KDE/Qt en KDE applicaties mailinglijst :freebsd-kde-url: https://mail.kde.org/mailman/listinfo/kde-freebsd :freebsd-kde: {freebsd-kde-url}[{freebsd-kde-desc}] :freebsd-lfs-desc: FreeBSD LFS porting mailinglijst :freebsd-lfs-url: https://lists.FreeBSD.org/subscription/freebsd-lfs :freebsd-lfs: {freebsd-lfs-url}[{freebsd-lfs-desc}] :freebsd-mips-desc: FreeBSD MIPS porting mailinglijst :freebsd-mips-url: https://lists.FreeBSD.org/subscription/freebsd-mips :freebsd-mips: {freebsd-mips-url}[{freebsd-mips-desc}] :mirror-announce-desc: FreeBSD mirrorsite beheerders :mirror-announce-url: https://lists.FreeBSD.org/subscription/mirror-announce :mirror-announce: {mirror-announce-url}[{mirror-announce-desc}] :freebsd-mobile-desc: FreeBSD laptop computer mailinglijst :freebsd-mobile-url: https://lists.FreeBSD.org/subscription/freebsd-mobile :freebsd-mobile: {freebsd-mobile-url}[{freebsd-mobile-desc}] :freebsd-mono-desc: Mono en C# applicaties op FreeBSD :freebsd-mono-url: https://lists.FreeBSD.org/subscription/freebsd-mono :freebsd-mono: {freebsd-mono-url}[{freebsd-mono-desc}] :freebsd-mozilla-desc: FreeBSD port van de Mozilla browser mailinglijst :freebsd-mozilla-url: https://lists.FreeBSD.org/subscription/freebsd-mozilla :freebsd-mozilla: {freebsd-mozilla-url}[{freebsd-mozilla-desc}] :freebsd-multimedia-desc: FreeBSD multimedia mailinglijst :freebsd-multimedia-url: https://lists.FreeBSD.org/subscription/freebsd-multimedia :freebsd-multimedia: {freebsd-multimedia-url}[{freebsd-multimedia-desc}] :freebsd-net-desc: FreeBSD netwerken mailinglijst :freebsd-net-url: https://lists.FreeBSD.org/subscription/freebsd-net :freebsd-net: {freebsd-net-url}[{freebsd-net-desc}] :freebsd-newbies-desc: FreeBSD nieuwe gebruikers mailinglijst :freebsd-newbies-url: https://lists.FreeBSD.org/subscription/freebsd-newbies :freebsd-newbies: {freebsd-newbies-url}[{freebsd-newbies-desc}] :freebsd-new-bus-desc: FreeBSD new-bus mailinglijst :freebsd-new-bus-url: https://lists.FreeBSD.org/subscription/freebsd-new-bus :freebsd-new-bus: {freebsd-new-bus-url}[{freebsd-new-bus-desc}] :freebsd-numerics-desc: Discussies over implementaties van hoge kwaliteit van functies in libm :freebsd-numerics-url: https://lists.FreeBSD.org/subscription/freebsd-numerics :freebsd-numerics: {freebsd-numerics-url}[{freebsd-numerics-desc}] :freebsd-office-desc: Kantoortoepassingen op FreeBSD :freebsd-office-url: https://lists.FreeBSD.org/subscription/freebsd-office :freebsd-office: {freebsd-office-url}[{freebsd-office-desc}] :freebsd-ops-announce-desc: Aankondigingen over de projectinfrastructuur :freebsd-ops-announce-url: https://lists.FreeBSD.org/subscription/freebsd-ops-announce :freebsd-ops-announce: {freebsd-ops-announce-url}[{freebsd-ops-announce-desc}] :freebsd-performance-desc: FreeBSD prestaties mailinglijst :freebsd-performance-url: https://lists.FreeBSD.org/subscription/freebsd-performance :freebsd-performance: {freebsd-performance-url}[{freebsd-performance-desc}] :freebsd-perl-desc: FreeBSD Perl mailinglijst :freebsd-perl-url: https://lists.FreeBSD.org/subscription/freebsd-perl :freebsd-perl: {freebsd-perl-url}[{freebsd-perl-desc}] :freebsd-pf-desc: FreeBSD pakketfilter mailinglijst :freebsd-pf-url: https://lists.FreeBSD.org/subscription/freebsd-pf :freebsd-pf: {freebsd-pf-url}[{freebsd-pf-desc}] :freebsd-pkg-desc: Discussies over het beheer van en de gereedschappen voor binaire pakketten :freebsd-pkg-url: https://lists.FreeBSD.org/subscription/freebsd-pkg :freebsd-pkg: {freebsd-pkg-url}[{freebsd-pkg-desc}] :freebsd-platforms-desc: FreeBSD niet-Intel platformen porting mailinglijst :freebsd-platforms-url: https://lists.FreeBSD.org/subscription/freebsd-platforms :freebsd-platforms: {freebsd-platforms-url}[{freebsd-platforms-desc}] :freebsd-ports-desc: FreeBSD ports mailinglijst :freebsd-ports-url: https://lists.FreeBSD.org/subscription/freebsd-ports :freebsd-ports: {freebsd-ports-url}[{freebsd-ports-desc}] :freebsd-ports-announce-desc: FreeBSD ports announce mailinglijst :freebsd-ports-announce-url: https://lists.FreeBSD.org/subscription/freebsd-ports-announce :freebsd-ports-announce: {freebsd-ports-announce-url}[{freebsd-ports-announce-desc}] :freebsd-ports-bugs-desc: FreeBSD ports bugs mailinglijst :freebsd-ports-bugs-url: https://lists.FreeBSD.org/subscription/freebsd-ports-bugs :freebsd-ports-bugs: {freebsd-ports-bugs-url}[{freebsd-ports-bugs-desc}] :freebsd-ppc-desc: FreeBSD PowerPC porting mailinglijst :freebsd-ppc-url: https://lists.FreeBSD.org/subscription/freebsd-ppc :freebsd-ppc: {freebsd-ppc-url}[{freebsd-ppc-desc}] :freebsd-proliant-desc: Technische discussie over FreeBSD op HP ProLiant serverplatforms :freebsd-proliant-url: https://lists.FreeBSD.org/subscription/freebsd-proliant :freebsd-proliant: {freebsd-proliant-url}[{freebsd-proliant-desc}] :freebsd-python-desc: FreeBSD Python mailinglijst :freebsd-python-url: https://lists.FreeBSD.org/subscription/freebsd-python :freebsd-python: {freebsd-python-url}[{freebsd-python-desc}] :freebsd-questions-desc: FreeBSD algemene vragen mailinglijst :freebsd-questions-url: https://lists.FreeBSD.org/subscription/freebsd-questions :freebsd-questions: {freebsd-questions-url}[{freebsd-questions-desc}] :freebsd-rc-desc: FreeBSD boot script system mailinglijst :freebsd-rc-url: https://lists.FreeBSD.org/subscription/freebsd-rc :freebsd-rc: {freebsd-rc-url}[{freebsd-rc-desc}] :freebsd-realtime-desc: FreeBSD realtime extensions mailinglijst :freebsd-realtime-url: https://lists.FreeBSD.org/subscription/freebsd-realtime :freebsd-realtime: {freebsd-realtime-url}[{freebsd-realtime-desc}] :freebsd-ruby-desc: FreeBSD Ruby mailinglijst :freebsd-ruby-url: https://lists.FreeBSD.org/subscription/freebsd-ruby :freebsd-ruby: {freebsd-ruby-url}[{freebsd-ruby-desc}] :freebsd-scsi-desc: FreeBSD SCSI subsysteem mailinglijst :freebsd-scsi-url: https://lists.FreeBSD.org/subscription/freebsd-scsi :freebsd-scsi: {freebsd-scsi-url}[{freebsd-scsi-desc}] :freebsd-security-desc: FreeBSD beveiliging mailinglijst :freebsd-security-url: https://lists.FreeBSD.org/subscription/freebsd-security :freebsd-security: {freebsd-security-url}[{freebsd-security-desc}] :freebsd-security-notifications-desc: FreeBSD beveiligingswaarschuwingen mailinglijst :freebsd-security-notifications-url: https://lists.FreeBSD.org/subscription/freebsd-security-notifications :freebsd-security-notifications: {freebsd-security-notifications-url}[{freebsd-security-notifications-desc}] :freebsd-small-desc: FreeBSD-small mailinglijst :freebsd-small-url: https://lists.FreeBSD.org/subscription/freebsd-small :freebsd-small: {freebsd-small-url}[{freebsd-small-desc}] :freebsd-snapshots-desc: Aankondigingen van ontwikkel-snapshots van FreeBSD :freebsd-snapshots-url: https://lists.FreeBSD.org/subscription/freebsd-snapshots :freebsd-snapshots: {freebsd-snapshots-url}[{freebsd-snapshots-desc}] :freebsd-sparc64-desc: FreeBSD SPARC porting mailinglijst :freebsd-sparc64-url: https://lists.FreeBSD.org/subscription/freebsd-sparc64 :freebsd-sparc64: {freebsd-sparc64-url}[{freebsd-sparc64-desc}] :freebsd-stable-desc: FreeBSD-STABLE; mailinglijst :freebsd-stable-url: https://lists.FreeBSD.org/subscription/freebsd-stable :freebsd-stable: {freebsd-stable-url}[{freebsd-stable-desc}] :freebsd-standards-desc: FreeBSD C99 en POSIX compliance mailinglijst :freebsd-standards-url: https://lists.FreeBSD.org/subscription/freebsd-standards :freebsd-standards: {freebsd-standards-url}[{freebsd-standards-desc}] :freebsd-sun4v-desc: FreeBSD sun4v porting mailinglijst :freebsd-sun4v-url: https://lists.FreeBSD.org/subscription/freebsd-sun4v :freebsd-sun4v: {freebsd-sun4v-url}[{freebsd-sun4v-desc}] :svn-doc-all-desc: SVN-commitberichten voor de gehele doc-structuur (behalve voor "user", "projects" en "translations") :svn-doc-all-url: https://lists.FreeBSD.org/subscription/svn-doc-all :svn-doc-all: {svn-doc-all-url}[{svn-doc-all-desc}] :svn-doc-head-desc: SVN-commitberichten voor de doc-structuur voor head :svn-doc-head-url: https://lists.FreeBSD.org/subscription/svn-doc-head :svn-doc-head: {svn-doc-head-url}[{svn-doc-head-desc}] :svn-doc-projects-desc: SVN-commitberichten voor de doc-"projects"-structuur :svn-doc-projects-url: https://lists.FreeBSD.org/subscription/svn-doc-projects :svn-doc-projects: {svn-doc-projects-url}[{svn-doc-projects-desc}] :svn-doc-svnadmin-desc: SVN-commitberichten voor de administratie/configuratie van de doc-structuur :svn-doc-svnadmin-url: https://lists.FreeBSD.org/subscription/svn-doc-svnadmin :svn-doc-svnadmin: {svn-doc-svnadmin-url}[{svn-doc-svnadmin-desc}] :svn-ports-all-desc: SVN-commitberichten voor de gehele ports-structuur :svn-ports-all-url: https://lists.FreeBSD.org/subscription/svn-ports-all :svn-ports-all: {svn-ports-all-url}[{svn-ports-all-desc}] :svn-ports-head-desc: SVN-commitberichten voor de ports-structuur voor head :svn-ports-head-url: https://lists.FreeBSD.org/subscription/svn-ports-head :svn-ports-head: {svn-ports-head-url}[{svn-ports-head-desc}] :svn-ports-svnadmin-desc: SVN-commitberichten voor de administratie/configuratie van de ports-structuur :svn-ports-svnadmin-url: https://lists.FreeBSD.org/subscription/svn-ports-svnadmin :svn-ports-svnadmin: {svn-ports-svnadmin-url}[{svn-ports-svnadmin-desc}] :svn-src-all-desc: SVN-commitberichten voor de gehele src-structuur (behalve voor "user" en "projects") :svn-src-all-url: https://lists.FreeBSD.org/subscription/svn-src-all :svn-src-all: {svn-src-all-url}[{svn-src-all-desc}] :svn-src-head-desc: SVN-commitberichten voor de src-structuur voor head/-current :svn-src-head-url: https://lists.FreeBSD.org/subscription/svn-src-head :svn-src-head: {svn-src-head-url}[{svn-src-head-desc}] :svn-src-projects-desc: SVN-commitberichten voor de src-"projects"-structuur :svn-src-projects-url: https://lists.FreeBSD.org/subscription/svn-src-projects :svn-src-projects: {svn-src-projects-url}[{svn-src-projects-desc}] :svn-src-release-desc: SVN-commitberichten voor de uitgaven in de src-structuur :svn-src-release-url: https://lists.FreeBSD.org/subscription/svn-src-release :svn-src-release: {svn-src-release-url}[{svn-src-release-desc}] :svn-src-releng-desc: SVN-commitberichten voor de uitgave- / beveiligingscommits naar de src-structuur :svn-src-releng-url: https://lists.FreeBSD.org/subscription/svn-src-releng :svn-src-releng: {svn-src-releng-url}[{svn-src-releng-desc}] :svn-src-stable-desc: SVN-commitberichten voor alle -stable-takken van de src-structuur :svn-src-stable-url: https://lists.FreeBSD.org/subscription/svn-src-stable :svn-src-stable: {svn-src-stable-url}[{svn-src-stable-desc}] :svn-src-stable-6-desc: SVN-commitberichten voor alleen de 6-stable-src-structuur :svn-src-stable-6-url: https://lists.FreeBSD.org/subscription/svn-src-stable-6 :svn-src-stable-6: {svn-src-stable-6-url}[{svn-src-stable-6-desc}] :svn-src-stable-7-desc: SVN-commitberichten voor alleen de 7-stable-src-structuur :svn-src-stable-7-url: https://lists.FreeBSD.org/subscription/svn-src-stable-7 :svn-src-stable-7: {svn-src-stable-7-url}[{svn-src-stable-7-desc}] :svn-src-stable-8-desc: SVN-commitberichten voor alleen de 8-stable-src-structuur :svn-src-stable-8-url: https://lists.FreeBSD.org/subscription/svn-src-stable-8 :svn-src-stable-8: {svn-src-stable-8-url}[{svn-src-stable-8-desc}] :svn-src-stable-9-desc: SVN-commitberichten voor alleen de 9-stable-src-structuur :svn-src-stable-9-url: https://lists.FreeBSD.org/subscription/svn-src-stable-9 :svn-src-stable-9: {svn-src-stable-9-url}[{svn-src-stable-9-desc}] :svn-src-stable-other-desc: SVN-commitberichten van de oude stable-src-structuren :svn-src-stable-other-url: https://lists.FreeBSD.org/subscription/svn-src-stable-other :svn-src-stable-other: {svn-src-stable-other-url}[{svn-src-stable-other-desc}] :svn-src-svnadmin-desc: SVN-commitberichten voor de administratie/configuratie van de src-structuur :svn-src-svnadmin-url: https://lists.FreeBSD.org/subscription/svn-src-svnadmin :svn-src-svnadmin: {svn-src-svnadmin-url}[{svn-src-svnadmin-desc}] :svn-src-user-desc: SVN-commitberichten voor de experimentele "user"-src-structuur :svn-src-user-url: https://lists.FreeBSD.org/subscription/svn-src-user :svn-src-user: {svn-src-user-url}[{svn-src-user-desc}] :svn-src-vendor-desc: SVN-commitberichten voor de structuur van het verkoperswerkgebied :svn-src-vendor-url: https://lists.FreeBSD.org/subscription/svn-src-vendor :svn-src-vendor: {svn-src-vendor-url}[{svn-src-vendor-desc}] :freebsd-sysinstall-desc: Sysinstall-ontwikkeling mailinglijst :freebsd-sysinstall-url: https://lists.FreeBSD.org/subscription/freebsd-sysinstall :freebsd-sysinstall: {freebsd-sysinstall-url}[{freebsd-sysinstall-desc}] :freebsd-tcltk-desc: FreeBSD-specifieke discussies over Tcl/Tk :freebsd-tcltk-url: https://lists.FreeBSD.org/subscription/freebsd-tcltk :freebsd-tcltk: {freebsd-tcltk-url}[{freebsd-tcltk-desc}] :freebsd-test-desc: FreeBSD test mailinglijst :freebsd-test-url: https://lists.FreeBSD.org/subscription/freebsd-test :freebsd-test: {freebsd-test-url}[{freebsd-test-desc}] :freebsd-testing-desc: Testen op FreeBSD :freebsd-testing-url: https://lists.FreeBSD.org/subscription/freebsd-testing :freebsd-testing: {freebsd-testing-url}[{freebsd-testing-desc}] :freebsd-tex-desc: Tex en haar toepassingen op FreeBSD overzetten :freebsd-tex-url: https://lists.FreeBSD.org/subscription/freebsd-tex :freebsd-tex: {freebsd-tex-url}[{freebsd-tex-desc}] :freebsd-threads-desc: FreeBSD threads mailinglijst :freebsd-threads-url: https://lists.FreeBSD.org/subscription/freebsd-threads :freebsd-threads: {freebsd-threads-url}[{freebsd-threads-desc}] :freebsd-tilera-desc: Mailinglijst over het porteren van FreeBSD naar de Tilera CPU-familie :freebsd-tilera-url: https://lists.FreeBSD.org/subscription/freebsd-tilera :freebsd-tilera: {freebsd-tilera-url}[{freebsd-tilera-desc}] :freebsd-tokenring-desc: FreeBSD tokenring mailinglijst :freebsd-tokenring-url: https://lists.FreeBSD.org/subscription/freebsd-tokenring :freebsd-tokenring: {freebsd-tokenring-url}[{freebsd-tokenring-desc}] :freebsd-toolchain-desc: FreeBSD geïntegreerde toolchain mailinglijst :freebsd-toolchain-url: https://lists.FreeBSD.org/subscription/freebsd-toolchain :freebsd-toolchain: {freebsd-toolchain-url}[{freebsd-toolchain-desc}] :freebsd-usb-desc: FreeBSD USB mailinglijst :freebsd-usb-url: https://lists.FreeBSD.org/subscription/freebsd-usb :freebsd-usb: {freebsd-usb-url}[{freebsd-usb-desc}] :freebsd-user-groups-desc: FreeBSD gebruikersgroep coördinatie mailinglijst :freebsd-user-groups-url: https://lists.FreeBSD.org/subscription/freebsd-user-groups :freebsd-user-groups: {freebsd-user-groups-url}[{freebsd-user-groups-desc}] :freebsd-vendors-desc: FreeBSD wederverkopers pre-release coördinatie mailinglijst :freebsd-vendors-url: https://lists.FreeBSD.org/subscription/freebsd-vendors :freebsd-vendors: {freebsd-vendors-url}[{freebsd-vendors-desc}] :freebsd-virtualization-desc: Discussies over verscheidene virtualizatietechnieken ondersteund door FreeBSD :freebsd-virtualization-url: https://lists.FreeBSD.org/subscription/freebsd-virtualization :freebsd-virtualization: {freebsd-virtualization-url}[{freebsd-virtualization-desc}] :freebsd-vuxml-desc: Discussies over de VuXML infrastructuur :freebsd-vuxml-url: https://lists.FreeBSD.org/subscription/freebsd-vuxml :freebsd-vuxml: {freebsd-vuxml-url}[{freebsd-vuxml-desc}] :freebsd-wip-status-desc: FreeBSD Werk-In-Uitvoering Status :freebsd-wip-status-url: https://lists.FreeBSD.org/subscription/freebsd-wip-status :freebsd-wip-status: {freebsd-wip-status-url}[{freebsd-wip-status-desc}] :freebsd-wireless-desc: Discussies over de ontwikkeling van de 802.11-stack, gereedschappen en stuurprogramma's :freebsd-wireless-url: https://lists.FreeBSD.org/subscription/freebsd-wireless :freebsd-wireless: {freebsd-wireless-url}[{freebsd-wireless-desc}] :freebsd-www-desc: FreeBSD Webmaster mailinglijst :freebsd-www-url: https://lists.FreeBSD.org/subscription/freebsd-www :freebsd-www: {freebsd-www-url}[{freebsd-www-desc}] :freebsd-x11-desc: FreeBSD X11 mailinglijst :freebsd-x11-url: https://lists.FreeBSD.org/subscription/freebsd-x11 :freebsd-x11: {freebsd-x11-url}[{freebsd-x11-desc}] :freebsd-xen-desc: FreeBSD port naar Xen mailinglijst :freebsd-xen-url: https://lists.FreeBSD.org/subscription/freebsd-xen :freebsd-xen: {freebsd-xen-url}[{freebsd-xen-desc}] :freebsd-xfce-desc: XFCE voor FreeBSD mailinglijst :freebsd-xfce-url: https://lists.FreeBSD.org/subscription/freebsd-xfce :freebsd-xfce: {freebsd-xfce-url}[{freebsd-xfce-desc}] :freebsd-zope-desc: Zope voor FreeBSD mailinglijst :freebsd-zope-url: https://lists.FreeBSD.org/subscription/freebsd-zope :freebsd-zope: {freebsd-zope-url}[{freebsd-zope-desc}] :committers-name: FreeBSD committer's mailinglijst :committers: {committers-name} :core-name: FreeBSD core team :core: {core-name} :developers-name: FreeBSD developers mailinglijst :developers: {committers-developers} :doc-committers-name: FreeBSD doc/ committers mailinglijst :doc-committers: {doc-committers-name} :doc-developers-name: FreeBSD doc/ ontwikkelaars mailinglijst :doc-developers: {doc-developers-name} :ports-committers-name: FreeBSD ports/ committer mailinglijst :ports-committers: {ports-committers-name} :ports-developers-name: FreeBSD ports/ developers mailinglijst :ports-developers: {ports-developers-name} :src-committers-name: FreeBSD src/ committer mailinglijst :src-committers: {src-committers-name} :src-developers-name: FreeBSD src/ ontwikkelaars mailinglijst :src-developers: {src-developers-name} // Geen echte mailinglijsten :bugfollowup: bug-followup@FreeBSD.org :bugsubmit: {bugfollowup} :majordomo: majordomo@FreeBSD.org // De volgende lijsten moeten nog even bewaard worden totdat alle // referenties in de documentatie verwijderd zijn. :freebsd-alpha-desc: FreeBSD Alpha porting mailinglijst :freebsd-alpha-url: https://lists.FreeBSD.org/subscription/freebsd-alpha :freebsd-alpha: {freebsd-alpha-url}[{freebsd-alpha-desc}] :freebsd-qa-desc: FreeBSD Quality Assurance mailinglijst :freebsd-qa-url: https://lists.FreeBSD.org/subscription/freebsd-qa :freebsd-qa: {freebsd-qa-url}[{freebsd-qa-desc}] :freebsd-smp-desc: FreeBSD symmetric multiprocessing mailinglijst :freebsd-smp-url: https://lists.FreeBSD.org/subscription/freebsd-smp :freebsd-smp: {freebsd-smp-url}[{freebsd-smp-desc}] diff --git a/shared/pl/mailing-lists.adoc b/shared/pl/mailing-lists.adoc index 1277f5572f..7094a5f453 100644 --- a/shared/pl/mailing-lists.adoc +++ b/shared/pl/mailing-lists.adoc @@ -1,678 +1,678 @@ // // Names of FreeBSD mailing lists and related software. // $FreeBSD$ // -:mailman-lists-desc: FreeBSD list server -:mailman-lists-url: https://lists.freebsd.org -:mailman-lists: {mailman-lists-url}[{mailman-lists-desc}] +:mailing-lists-desc: FreeBSD list server +:mailing-lists-url: https://lists.freebsd.org +:mailing-lists: {mailing-lists-url}[{mailing-lists-desc}] :freebsd-acpi-desc: FreeBSD ACPI mailing list :freebsd-acpi-url: https://lists.FreeBSD.org/subscription/freebsd-acpi :freebsd-acpi: {freebsd-acpi-url}[{freebsd-acpi-desc}] :freebsd-advocacy-desc: FreeBSD advocacy mailing list :freebsd-advocacy-url: https://lists.FreeBSD.org/subscription/freebsd-advocacy :freebsd-advocacy: {freebsd-advocacy-url}[{freebsd-advocacy-desc}] :freebsd-aic7xxx-desc: FreeBSD Adaptec AIC7xxx discussions mailing list :freebsd-aic7xxx-url: https://lists.FreeBSD.org/subscription/aic7xxx :freebsd-aic7xxx: {freebsd-aic7xxx-url}[{freebsd-aic7xxx-desc}] :freebsd-amd64-desc: Porting FreeBSD to AMD64 systems :freebsd-amd64-url: https://lists.FreeBSD.org/subscription/freebsd-amd64 :freebsd-amd64: {freebsd-amd64-url}[{freebsd-amd64-desc}] :freebsd-announce-desc: FreeBSD announcements mailing list :freebsd-announce-url: https://lists.FreeBSD.org/subscription/freebsd-announce :freebsd-announce: {freebsd-announce-url}[{freebsd-announce-desc}] :freebsd-apache-desc: FreeBSD Apache mailing list :freebsd-apache-url: https://lists.FreeBSD.org/subscription/freebsd-apache :freebsd-apache: {freebsd-apache-url}[{freebsd-apache-desc}] :freebsd-arch-desc: FreeBSD architecture and design mailing list :freebsd-arch-url: https://lists.FreeBSD.org/subscription/freebsd-arch :freebsd-arch: {freebsd-arch-url}[{freebsd-arch-desc}] :freebsd-arm-desc: FreeBSD ARM porting mailing list :freebsd-arm-url: https://lists.FreeBSD.org/subscription/freebsd-arm :freebsd-arm: {freebsd-arm-url}[{freebsd-arm-desc}] :freebsd-atm-desc: FreeBSD ATM networking mailing list :freebsd-atm-url: https://lists.FreeBSD.org/subscription/freebsd-atm :freebsd-atm: {freebsd-atm-url}[{freebsd-atm-desc}] :freebsd-bluetooth-desc: FreeBSD Bluetooth mailing list :freebsd-bluetooth-url: https://lists.FreeBSD.org/subscription/freebsd-bluetooth :freebsd-bluetooth: {freebsd-bluetooth-url}[{freebsd-bluetooth-desc}] :freebsd-bugbusters-desc: FreeBSD bugbusters mailing list :freebsd-bugbusters-url: https://lists.FreeBSD.org/subscription/freebsd-bugbusters :freebsd-bugbusters: {freebsd-bugbusters-url}[{freebsd-bugbusters-desc}] :freebsd-bugs-desc: FreeBSD problem reports mailing list :freebsd-bugs-url: https://lists.FreeBSD.org/subscription/freebsd-bugs :freebsd-bugs: {freebsd-bugs-url}[{freebsd-bugs-desc}] :freebsd-chat-desc: FreeBSD chat mailing list :freebsd-chat-url: https://lists.FreeBSD.org/subscription/freebsd-chat :freebsd-chat: {freebsd-chat-url}[{freebsd-chat-desc}] :freebsd-chromium-desc: FreeBSD-specific Chromium issues :freebsd-chromium-url: https://lists.FreeBSD.org/subscription/freebsd-chromium :freebsd-chromium: {freebsd-chromium-url}[{freebsd-chromium-desc}] :freebsd-cloud-desc: FreeBSD on cloud platforms (EC2, GCE, Azure, etc.) :freebsd-cloud-url: https://lists.FreeBSD.org/subscription/freebsd-cloud :freebsd-cloud: {freebsd-cloud-url}[{freebsd-cloud-desc}] :freebsd-cluster-desc: FreeBSD clustering mailing list :freebsd-cluster-url: https://lists.FreeBSD.org/subscription/freebsd-cluster :freebsd-cluster: {freebsd-cluster-url}[{freebsd-cluster-desc}] :freebsd-current-desc: FreeBSD-CURRENT mailing list :freebsd-current-url: https://lists.FreeBSD.org/subscription/freebsd-current :freebsd-current: {freebsd-current-url}[{freebsd-current-desc}] :ctm-announce-desc: CTM announcements :ctm-announce-url: https://lists.FreeBSD.org/subscription/ctm-announce :ctm-announce: {ctm-announce-url}[{ctm-announce-desc}] :ctm-src-4-desc: CTM 4-STABLE src branch distribution mailing list :ctm-src-4-url: https://lists.FreeBSD.org/subscription/ctm-src-4 :ctm-src-4: {ctm-src-4-url}[{ctm-src-4-desc}] :ctm-src-5-desc: CTM 5-STABLE src branch distribution mailing list :ctm-src-5-url: https://lists.FreeBSD.org/subscription/ctm-src-5 :ctm-src-5: {ctm-src-5-url}[{ctm-src-5-desc}] :ctm-src-6-desc: CTM 6-STABLE src branch distribution mailing list :ctm-src-6-url: https://lists.FreeBSD.org/subscription/ctm-src-6 :ctm-src-6: {ctm-src-6-url}[{ctm-src-6-desc}] :ctm-src-7-desc: CTM 7-STABLE src branch distribution mailing list :ctm-src-7-url: https://lists.FreeBSD.org/subscription/ctm-src-7 :ctm-src-7: {ctm-src-7-url}[{ctm-src-7-desc}] :ctm-src-8-desc: CTM 8-STABLE src branch distribution mailing list :ctm-src-8-url: https://lists.FreeBSD.org/subscription/ctm-src-8 :ctm-src-8: {ctm-src-8-url}[{ctm-src-8-desc}] :ctm-src-9-desc: CTM 9-STABLE src branch distribution mailing list :ctm-src-9-url: https://lists.FreeBSD.org/subscription/ctm-src-9 :ctm-src-9: {ctm-src-9-url}[{ctm-src-9-desc}] :ctm-src-10-desc: CTM 10-STABLE src branch distribution mailing list :ctm-src-10-url: https://lists.FreeBSD.org/subscription/ctm-src-10 :ctm-src-10: {ctm-src-10-url}[{ctm-src-10-desc}] :ctm-src-cur-desc: CTM -CURRENT src branch distribution mailing list :ctm-src-cur-url: https://lists.FreeBSD.org/subscription/ctm-src-cur :ctm-src-cur: {ctm-src-cur-url}[{ctm-src-cur-desc}] :ctm-users-desc: CTM user discussion mailing list :ctm-users-url: https://lists.FreeBSD.org/subscription/ctm-users :ctm-users: {ctm-users-url}[{ctm-users-desc}] :cvs-all-desc: FreeBSD CVS commit message mailing list :cvs-all-url: https://lists.FreeBSD.org/subscription/cvs-all :cvs-all: {cvs-all-url}[{cvs-all-desc}] :cvs-doc-desc: FreeBSD CVS doc commit list :cvs-doc-url: https://lists.FreeBSD.org/subscription/cvs-doc :cvs-doc: {cvs-doc-url}[{cvs-doc-desc}] :cvs-ports-desc: FreeBSD CVS ports commit list :cvs-ports-url: https://lists.FreeBSD.org/subscription/cvs-ports :cvs-ports: {cvs-ports-url}[{cvs-ports-desc}] :cvs-projects-desc: FreeBSD CVS projects commit list :cvs-projects-url: https://lists.FreeBSD.org/subscription/cvs-projects :cvs-projects: {cvs-projects-url}[{cvs-projects-desc}] :cvs-src-desc: FreeBSD CVS src commit list :cvs-src-url: https://lists.FreeBSD.org/subscription/cvs-src :cvs-src: {cvs-src-url}[{cvs-src-desc}] :freebsd-database-desc: FreeBSD based Databases mailing list :freebsd-database-url: https://lists.FreeBSD.org/subscription/freebsd-database :freebsd-database: {freebsd-database-url}[{freebsd-database-desc}] :freebsd-desktop-desc: Using and improving FreeBSD on the desktop :freebsd-desktop-url: https://lists.FreeBSD.org/subscription/freebsd-desktop :freebsd-desktop: {freebsd-desktop-url}[{freebsd-desktop-desc}] :dev-ci-desc: Automated reports of build and test results from FreeBSD's continuous integration tools. :dev-ci-url: https://lists.FreeBSD.org/subscription/dev-ci :dev-ci: {dev-ci-url}[{dev-ci-desc}] :dev-reviews-desc: Automated notifications of work in progress for review in FreeBSD's review tools, including patches.. :dev-reviews-url: https://lists.FreeBSD.org/subscription/dev-reviews :dev-reviews: {dev-reviews-url}[{dev-reviews-desc}] :freebsd-doc-desc: FreeBSD documentation project mailing list :freebsd-doc-url: https://lists.FreeBSD.org/subscription/freebsd-doc :freebsd-doc: {freebsd-doc-url}[{freebsd-doc-desc}] :freebsd-drivers-desc: Writing device drivers for FreeBSD :freebsd-drivers-url: https://lists.FreeBSD.org/subscription/freebsd-drivers :freebsd-drivers: {freebsd-drivers-url}[{freebsd-drivers-desc}] :freebsd-dtrace-desc: Using and working on DTrace in FreeBSD. :freebsd-dtrace-url: https://lists.FreeBSD.org/subscription/freebsd-dtrace :freebsd-dtrace: {freebsd-dtrace-url}[{freebsd-dtrace-desc}] :freebsd-eclipse-desc: FreeBSD users of Eclipse IDE, tools, rich client applications and ports :freebsd-eclipse-url: https://lists.FreeBSD.org/subscription/freebsd-eclipse :freebsd-eclipse: {freebsd-eclipse-url}[{freebsd-eclipse-desc}] :freebsd-elastic-desc: FreeBSD specific ElasticSearch mailing list :freebsd-elastic-url: https://lists.FreeBSD.org/subscription/freebsd-elastic :freebsd-elastic: {freebsd-elastic-url}[{freebsd-elastic-desc}] :freebsd-embedded-desc: FreeBSD-embedded mailing list :freebsd-embedded-url: https://lists.FreeBSD.org/subscription/freebsd-embedded :freebsd-embedded: {freebsd-embedded-url}[{freebsd-embedded-desc}] :freebsd-emulation-desc: FreeBSD-emulation mailing list :freebsd-emulation-url: https://lists.FreeBSD.org/subscription/freebsd-emulation :freebsd-emulation: {freebsd-emulation-url}[{freebsd-emulation-desc}] :freebsd-enlightenment-desc: FreeBSD-enlightenment mailing list :freebsd-enlightenment-url: https://lists.FreeBSD.org/subscription/freebsd-enlightenment :freebsd-enlightenment: {freebsd-enlightenment-url}[{freebsd-enlightenment-desc}] :freebsd-eol-desc: FreeBSD-eol mailing list :freebsd-eol-url: https://lists.FreeBSD.org/subscription/freebsd-eol :freebsd-eol: {freebsd-eol-url}[{freebsd-eol-desc}] :freebsd-erlang-desc: FreeBSD-erlang mailing list :freebsd-erlang-url: https://lists.FreeBSD.org/subscription/freebsd-erlang :freebsd-erlang: {freebsd-erlang-url}[{freebsd-erlang-desc}] :freebsd-firewire-desc: FreeBSD FireWire (IEEE 1394) discussion mailing list :freebsd-firewire-url: https://lists.FreeBSD.org/subscription/freebsd-firewire :freebsd-firewire: {freebsd-firewire-url}[{freebsd-firewire-desc}] :freebsd-fortran-desc: Fortran on FreeBSD mailing list :freebsd-fortran-url: https://lists.FreeBSD.org/subscription/freebsd-fortran :freebsd-fortran: {freebsd-fortran-url}[{freebsd-fortran-desc}] :freebsd-fs-desc: FreeBSD file system project mailing list :freebsd-fs-url: https://lists.FreeBSD.org/subscription/freebsd-fs :freebsd-fs: {freebsd-fs-url}[{freebsd-fs-desc}] :freebsd-games-desc: Games on FreeBSD mailing list :freebsd-games-url: https://lists.FreeBSD.org/subscription/freebsd-games :freebsd-games: {freebsd-games-url}[{freebsd-games-desc}] :freebsd-gecko-desc: FreeBSD gecko mailing list :freebsd-gecko-url: https://lists.FreeBSD.org/subscription/freebsd-gecko :freebsd-gecko: {freebsd-gecko-url}[{freebsd-gecko-desc}] :freebsd-geom-desc: FreeBSD GEOM mailing list :freebsd-geom-url: https://lists.FreeBSD.org/subscription/freebsd-geom :freebsd-geom: {freebsd-geom-url}[{freebsd-geom-desc}] :freebsd-git-desc: Discussion of git use in the FreeBSD project :freebsd-git-url: https://lists.FreeBSD.org/subscription/freebsd-git :freebsd-git: {freebsd-git-url}[{freebsd-git-desc}] :freebsd-gnome-desc: FreeBSD GNOME and GNOME applications mailing list :freebsd-gnome-url: https://lists.FreeBSD.org/subscription/freebsd-gnome :freebsd-gnome: {freebsd-gnome-url}[{freebsd-gnome-desc}] :freebsd-hackers-desc: FreeBSD technical discussions mailing list :freebsd-hackers-url: https://lists.FreeBSD.org/subscription/freebsd-hackers :freebsd-hackers: {freebsd-hackers-url}[{freebsd-hackers-desc}] :freebsd-haskell-desc: FreeBSD-specific Haskell issues and discussions :freebsd-haskell-url: https://lists.FreeBSD.org/subscription/freebsd-haskell :freebsd-haskell: {freebsd-haskell-url}[{freebsd-haskell-desc}] :freebsd-hardware-desc: FreeBSD hardware and equipment mailing list :freebsd-hardware-url: https://lists.FreeBSD.org/subscription/freebsd-hardware :freebsd-hardware: {freebsd-hardware-url}[{freebsd-hardware-desc}] :freebsd-hubs-desc: FreeBSD mirror sites mailing lists :freebsd-hubs-url: https://lists.FreeBSD.org/subscription/freebsd-hubs :freebsd-hubs: {freebsd-hubs-url}[{freebsd-hubs-desc}] :freebsd-i18n-desc: FreeBSD internationalization mailing list :freebsd-i18n-url: https://lists.FreeBSD.org/subscription/freebsd-i18n :freebsd-i18n: {freebsd-i18n-url}[{freebsd-i18n-desc}] :freebsd-i386-desc: FreeBSD i386-specific issues mailing list :freebsd-i386-url: https://lists.FreeBSD.org/subscription/freebsd-i386 :freebsd-i386: {freebsd-i386-url}[{freebsd-i386-desc}] :freebsd-infiniband-desc: Infiniband on FreeBSD :freebsd-infiniband-url: https://lists.FreeBSD.org/subscription/freebsd-infiniband :freebsd-infiniband: {freebsd-infiniband-url}[{freebsd-infiniband-desc}] :freebsd-ipfw-desc: FreeBSD IPFW code mailing list :freebsd-ipfw-url: https://lists.FreeBSD.org/subscription/freebsd-ipfw :freebsd-ipfw: {freebsd-ipfw-url}[{freebsd-ipfw-desc}] :freebsd-isdn-desc: FreeBSD ISDN mailing list :freebsd-isdn-url: https://lists.FreeBSD.org/subscription/freebsd-isdn :freebsd-isdn: {freebsd-isdn-url}[{freebsd-isdn-desc}] :freebsd-isp-desc: FreeBSD Internet service provider's mailing list :freebsd-isp-url: https://lists.FreeBSD.org/subscription/freebsd-isp :freebsd-isp: {freebsd-isp-url}[{freebsd-isp-desc}] :freebsd-jail-desc: FreeBSD jails mailing list :freebsd-jail-url: https://lists.FreeBSD.org/subscription/freebsd-jail :freebsd-jail: {freebsd-jail-url}[{freebsd-jail-desc}] :freebsd-java-desc: FreeBSD Java Language mailing list :freebsd-java-url: https://lists.FreeBSD.org/subscription/freebsd-java :freebsd-java: {freebsd-java-url}[{freebsd-java-desc}] :freebsd-jobs-desc: FreeBSD related employment mailing list :freebsd-jobs-url: https://lists.FreeBSD.org/subscription/freebsd-jobs :freebsd-jobs: {freebsd-jobs-url}[{freebsd-jobs-desc}] :freebsd-kde-desc: FreeBSD KDE/Qt and KDE applications mailing list :freebsd-kde-url: https://mail.kde.org/mailman/listinfo/kde-freebsd :freebsd-kde: {freebsd-kde-url}[{freebsd-kde-desc}] :freebsd-lfs-desc: FreeBSD LFS porting mailing list :freebsd-lfs-url: https://lists.FreeBSD.org/subscription/freebsd-lfs :freebsd-lfs: {freebsd-lfs-url}[{freebsd-lfs-desc}] :freebsd-mips-desc: FreeBSD MIPS porting mailing list :freebsd-mips-url: https://lists.FreeBSD.org/subscription/freebsd-mips :freebsd-mips: {freebsd-mips-url}[{freebsd-mips-desc}] :mirror-announce-desc: FreeBSD mirror site administrators :mirror-announce-url: https://lists.FreeBSD.org/subscription/mirror-announce :mirror-announce: {mirror-announce-url}[{mirror-announce-desc}] :freebsd-mono-desc: Mono and C# applications on FreeBSD :freebsd-mono-url: https://lists.FreeBSD.org/subscription/freebsd-mono :freebsd-mono: {freebsd-mono-url}[{freebsd-mono-desc}] :freebsd-multimedia-desc: FreeBSD multimedia mailing list :freebsd-multimedia-url: https://lists.FreeBSD.org/subscription/freebsd-multimedia :freebsd-multimedia: {freebsd-multimedia-url}[{freebsd-multimedia-desc}] :freebsd-net-desc: FreeBSD networking mailing list :freebsd-net-url: https://lists.FreeBSD.org/subscription/freebsd-net :freebsd-net: {freebsd-net-url}[{freebsd-net-desc}] :freebsd-newbies-desc: FreeBSD new users mailing list :freebsd-newbies-url: https://lists.FreeBSD.org/subscription/freebsd-newbies :freebsd-newbies: {freebsd-newbies-url}[{freebsd-newbies-desc}] :freebsd-new-bus-desc: FreeBSD new-bus mailing list :freebsd-new-bus-url: https://lists.FreeBSD.org/subscription/freebsd-new-bus :freebsd-new-bus: {freebsd-new-bus-url}[{freebsd-new-bus-desc}] :freebsd-numerics-desc: Discussions of high quality implementation of libm functions :freebsd-numerics-url: https://lists.FreeBSD.org/subscription/freebsd-numerics :freebsd-numerics: {freebsd-numerics-url}[{freebsd-numerics-desc}] :freebsd-ocaml-desc: FreeBSD-specific OCaml discussions :freebsd-ocaml-url: https://lists.FreeBSD.org/subscription/freebsd-ocaml :freebsd-ocaml: {freebsd-ocaml-url}[{freebsd-ocaml-desc}] :freebsd-office-desc: Office applications on FreeBSD :freebsd-office-url: https://lists.FreeBSD.org/subscription/freebsd-office :freebsd-office: {freebsd-office-url}[{freebsd-office-desc}] :freebsd-ops-announce-desc: Project Infrastructure Announcements :freebsd-ops-announce-url: https://lists.FreeBSD.org/subscription/freebsd-ops-announce :freebsd-ops-announce: {freebsd-ops-announce-url}[{freebsd-ops-announce-desc}] :freebsd-performance-desc: FreeBSD performance mailing list :freebsd-performance-url: https://lists.FreeBSD.org/subscription/freebsd-performance :freebsd-performance: {freebsd-performance-url}[{freebsd-performance-desc}] :freebsd-perl-desc: FreeBSD Perl mailing list :freebsd-perl-url: https://lists.FreeBSD.org/subscription/freebsd-perl :freebsd-perl: {freebsd-perl-url}[{freebsd-perl-desc}] :freebsd-pf-desc: FreeBSD packet filter mailing list :freebsd-pf-url: https://lists.FreeBSD.org/subscription/freebsd-pf :freebsd-pf: {freebsd-pf-url}[{freebsd-pf-desc}] :freebsd-pkg-desc: Binary package management and package tools discussion :freebsd-pkg-url: https://lists.FreeBSD.org/subscription/freebsd-pkg :freebsd-pkg: {freebsd-pkg-url}[{freebsd-pkg-desc}] :freebsd-pkg-fallout-desc: Fallout logs from package building :freebsd-pkg-fallout-url: https://lists.FreeBSD.org/subscription/freebsd-pkg-fallout :freebsd-pkg-fallout: {freebsd-pkg-fallout-url}[{freebsd-pkg-fallout-desc}] :freebsd-pkgbase-desc: Packaging the FreeBSD base system :freebsd-pkgbase-url: https://lists.FreeBSD.org/subscription/freebsd-pkgbase :freebsd-pkgbase: {freebsd-pkgbase-url}[{freebsd-pkgbase-desc}] :freebsd-platforms-desc: FreeBSD non-Intel platforms porting mailing list :freebsd-platforms-url: https://lists.FreeBSD.org/subscription/freebsd-platforms :freebsd-platforms: {freebsd-platforms-url}[{freebsd-platforms-desc}] :freebsd-ports-desc: FreeBSD ports mailing list :freebsd-ports-url: https://lists.FreeBSD.org/subscription/freebsd-ports :freebsd-ports: {freebsd-ports-url}[{freebsd-ports-desc}] :freebsd-ports-announce-desc: FreeBSD ports announce mailing list :freebsd-ports-announce-url: https://lists.FreeBSD.org/subscription/freebsd-ports-announce :freebsd-ports-announce: {freebsd-ports-announce-url}[{freebsd-ports-announce-desc}] :freebsd-ports-bugs-desc: FreeBSD ports bugs mailing list :freebsd-ports-bugs-url: https://lists.FreeBSD.org/subscription/freebsd-ports-bugs :freebsd-ports-bugs: {freebsd-ports-bugs-url}[{freebsd-ports-bugs-desc}] :freebsd-ppc-desc: FreeBSD PowerPC porting mailing list :freebsd-ppc-url: https://lists.FreeBSD.org/subscription/freebsd-ppc :freebsd-ppc: {freebsd-ppc-url}[{freebsd-ppc-desc}] :freebsd-proliant-desc: Technical discussion of FreeBSD on HP ProLiant server platforms :freebsd-proliant-url: https://lists.FreeBSD.org/subscription/freebsd-proliant :freebsd-proliant: {freebsd-proliant-url}[{freebsd-proliant-desc}] :freebsd-python-desc: FreeBSD Python mailing list :freebsd-python-url: https://lists.FreeBSD.org/subscription/freebsd-python :freebsd-python: {freebsd-python-url}[{freebsd-python-desc}] :freebsd-quarterly-calls-desc: Calls for quarterly FreeBSD status reports :freebsd-quarterly-calls-url: https://lists.FreeBSD.org/subscription/freebsd-quarterly-calls :freebsd-quarterly-calls: {freebsd-quarterly-calls-url}[{freebsd-quarterly-calls-desc}] :freebsd-questions-desc: FreeBSD general questions mailing list :freebsd-questions-url: https://lists.FreeBSD.org/subscription/freebsd-questions :freebsd-questions: {freebsd-questions-url}[{freebsd-questions-desc}] :freebsd-rc-desc: FreeBSD boot script system mailing list :freebsd-rc-url: https://lists.FreeBSD.org/subscription/freebsd-rc :freebsd-rc: {freebsd-rc-url}[{freebsd-rc-desc}] :freebsd-realtime-desc: FreeBSD realtime extensions mailing list :freebsd-realtime-url: https://lists.FreeBSD.org/subscription/freebsd-realtime :freebsd-realtime: {freebsd-realtime-url}[{freebsd-realtime-desc}] :freebsd-ruby-desc: FreeBSD Ruby mailing list :freebsd-ruby-url: https://lists.FreeBSD.org/subscription/freebsd-ruby :freebsd-ruby: {freebsd-ruby-url}[{freebsd-ruby-desc}] :freebsd-scsi-desc: FreeBSD SCSI subsystem mailing list :freebsd-scsi-url: https://lists.FreeBSD.org/subscription/freebsd-scsi :freebsd-scsi: {freebsd-scsi-url}[{freebsd-scsi-desc}] :freebsd-security-desc: FreeBSD security mailing list :freebsd-security-url: https://lists.FreeBSD.org/subscription/freebsd-security :freebsd-security: {freebsd-security-url}[{freebsd-security-desc}] :freebsd-security-notifications-desc: FreeBSD security notifications mailing list :freebsd-security-notifications-url: https://lists.FreeBSD.org/subscription/freebsd-security-notifications :freebsd-security-notifications: {freebsd-security-notifications-url}[{freebsd-security-notifications-desc}] :freebsd-snapshots-desc: FreeBSD Development Snapshot Announcements :freebsd-snapshots-url: https://lists.FreeBSD.org/subscription/freebsd-snapshots :freebsd-snapshots: {freebsd-snapshots-url}[{freebsd-snapshots-desc}] :freebsd-sparc64-desc: FreeBSD SPARC porting mailing list :freebsd-sparc64-url: https://lists.FreeBSD.org/subscription/freebsd-sparc64 :freebsd-sparc64: {freebsd-sparc64-url}[{freebsd-sparc64-desc}] :freebsd-stable-desc: FreeBSD-STABLE; mailing list :freebsd-stable-url: https://lists.FreeBSD.org/subscription/freebsd-stable :freebsd-stable: {freebsd-stable-url}[{freebsd-stable-desc}] :freebsd-standards-desc: FreeBSD C99 and POSIX compliance mailing list :freebsd-standards-url: https://lists.FreeBSD.org/subscription/freebsd-standards :freebsd-standards: {freebsd-standards-url}[{freebsd-standards-desc}] :freebsd-sun4v-desc: FreeBSD sun4v porting mailing list :freebsd-sun4v-url: https://lists.FreeBSD.org/subscription/freebsd-sun4v :freebsd-sun4v: {freebsd-sun4v-url}[{freebsd-sun4v-desc}] :svn-doc-all-desc: SVN commit messages for the entire doc tree (except for "user", "projects" and "translations") :svn-doc-all-url: https://lists.FreeBSD.org/subscription/svn-doc-all :svn-doc-all: {svn-doc-all-url}[{svn-doc-all-desc}] :svn-doc-head-desc: SVN commit messages for the doc tree for head/ :svn-doc-head-url: https://lists.FreeBSD.org/subscription/svn-doc-head :svn-doc-head: {svn-doc-head-url}[{svn-doc-head-desc}] :svn-doc-projects-desc: SVN commit messages for the doc "projects" tree :svn-doc-projects-url: https://lists.FreeBSD.org/subscription/svn-doc-projects :svn-doc-projects: {svn-doc-projects-url}[{svn-doc-projects-desc}] :svn-doc-svnadmin-desc: SVN commit messages for the doc admin / configuration tree :svn-doc-svnadmin-url: https://lists.FreeBSD.org/subscription/svn-doc-svnadmin :svn-doc-svnadmin: {svn-doc-svnadmin-url}[{svn-doc-svnadmin-desc}] :svn-ports-all-desc: SVN commit messages for the entire ports tree :svn-ports-all-url: https://lists.FreeBSD.org/subscription/svn-ports-all :svn-ports-all: {svn-ports-all-url}[{svn-ports-all-desc}] :svn-ports-head-desc: SVN commit messages for the ports tree for head/ :svn-ports-head-url: https://lists.FreeBSD.org/subscription/svn-ports-head :svn-ports-head: {svn-ports-head-url}[{svn-ports-head-desc}] :svn-ports-svnadmin-desc: SVN commit messages for the ports admin / configuration tree :svn-ports-svnadmin-url: https://lists.FreeBSD.org/subscription/svn-ports-svnadmin :svn-ports-svnadmin: {svn-ports-svnadmin-url}[{svn-ports-svnadmin-desc}] :svn-src-all-desc: SVN commit messages for the entire src tree (except for user and "projects") :svn-src-all-url: https://lists.FreeBSD.org/subscription/svn-src-all :svn-src-all: {svn-src-all-url}[{svn-src-all-desc}] :svn-src-head-desc: SVN commit messages for the src tree for head/-current :svn-src-head-url: https://lists.FreeBSD.org/subscription/svn-src-head :svn-src-head: {svn-src-head-url}[{svn-src-head-desc}] :svn-src-projects-desc: SVN commit messages for the src "projects" tree :svn-src-projects-url: https://lists.FreeBSD.org/subscription/svn-src-projects :svn-src-projects: {svn-src-projects-url}[{svn-src-projects-desc}] :svn-src-release-desc: SVN commit messages for releases in the src tree :svn-src-release-url: https://lists.FreeBSD.org/subscription/svn-src-release :svn-src-release: {svn-src-release-url}[{svn-src-release-desc}] :svn-src-releng-desc: SVN commit messages for the release engineering / security commits to the src tree :svn-src-releng-url: https://lists.FreeBSD.org/subscription/svn-src-releng :svn-src-releng: {svn-src-releng-url}[{svn-src-releng-desc}] :svn-src-stable-desc: SVN commit messages for all the -stable branches of the src tree :svn-src-stable-url: https://lists.FreeBSD.org/subscription/svn-src-stable :svn-src-stable: {svn-src-stable-url}[{svn-src-stable-desc}] :svn-src-stable-6-desc: SVN commit messages for only the 6-stable src tree :svn-src-stable-6-url: https://lists.FreeBSD.org/subscription/svn-src-stable-6 :svn-src-stable-6: {svn-src-stable-6-url}[{svn-src-stable-6-desc}] :svn-src-stable-7-desc: SVN commit messages for only the 7-stable src tree :svn-src-stable-7-url: https://lists.FreeBSD.org/subscription/svn-src-stable-7 :svn-src-stable-7: {svn-src-stable-7-url}[{svn-src-stable-7-desc}] :svn-src-stable-8-desc: SVN commit messages for only the 8-stable src tree :svn-src-stable-8-url: https://lists.FreeBSD.org/subscription/svn-src-stable-8 :svn-src-stable-8: {svn-src-stable-8-url}[{svn-src-stable-8-desc}] :svn-src-stable-9-desc: SVN commit messages for only the 9-stable src tree :svn-src-stable-9-url: https://lists.FreeBSD.org/subscription/svn-src-stable-9 :svn-src-stable-9: {svn-src-stable-9-url}[{svn-src-stable-9-desc}] :svn-src-stable-10-desc: SVN commit messages for only the 10-stable src tree :svn-src-stable-10-url: https://lists.FreeBSD.org/subscription/svn-src-stable-10 :svn-src-stable-10: {svn-src-stable-10-url}[{svn-src-stable-10-desc}] :svn-src-stable-11-desc: SVN commit messages for only the 11-stable src tree :svn-src-stable-11-url: https://lists.FreeBSD.org/subscription/svn-src-stable-11 :svn-src-stable-11: {svn-src-stable-11-url}[{svn-src-stable-11-desc}] :svn-src-stable-12-desc: SVN commit messages for only the 12-stable src tree :svn-src-stable-12-url: https://lists.FreeBSD.org/subscription/svn-src-stable-12 :svn-src-stable-12: {svn-src-stable-12-url}[{svn-src-stable-12-desc}] :svn-src-stable-other-desc: SVN commit messages for the old stable src trees :svn-src-stable-other-url: https://lists.FreeBSD.org/subscription/svn-src-stable-other :svn-src-stable-other: {svn-src-stable-other-url}[{svn-src-stable-other-desc}] :svn-src-svnadmin-desc: SVN commit messages for the admin / configuration tree :svn-src-svnadmin-url: https://lists.FreeBSD.org/subscription/svn-src-svnadmin :svn-src-svnadmin: {svn-src-svnadmin-url}[{svn-src-svnadmin-desc}] :svn-src-user-desc: SVN commit messages for the experimental "user" src tree :svn-src-user-url: https://lists.FreeBSD.org/subscription/svn-src-user :svn-src-user: {svn-src-user-url}[{svn-src-user-desc}] :svn-src-vendor-desc: SVN commit messages for the vendor work area tree :svn-src-vendor-url: https://lists.FreeBSD.org/subscription/svn-src-vendor :svn-src-vendor: {svn-src-vendor-url}[{svn-src-vendor-desc}] :freebsd-sysinstall-desc: Sysinstall development mailing list :freebsd-sysinstall-url: https://lists.FreeBSD.org/subscription/freebsd-sysinstall :freebsd-sysinstall: {freebsd-sysinstall-url}[{freebsd-sysinstall-desc}] :freebsd-tcltk-desc: FreeBSD-specific Tcl/Tk discussions :freebsd-tcltk-url: https://lists.FreeBSD.org/subscription/freebsd-tcltk :freebsd-tcltk: {freebsd-tcltk-url}[{freebsd-tcltk-desc}] :freebsd-teaching-desc: FreeBSD teaching mailing list :freebsd-teaching-url: https://lists.FreeBSD.org/subscription/freebsd-teaching :freebsd-teaching: {freebsd-teaching-url}[{freebsd-teaching-desc}] :freebsd-test-desc: FreeBSD test mailing list :freebsd-test-url: https://lists.FreeBSD.org/subscription/freebsd-test :freebsd-test: {freebsd-test-url}[{freebsd-test-desc}] :freebsd-testing-desc: Testing on FreeBSD :freebsd-testing-url: https://lists.FreeBSD.org/subscription/freebsd-testing :freebsd-testing: {freebsd-testing-url}[{freebsd-testing-desc}] :freebsd-tex-desc: Porting TeX and its applications to FreeBSD :freebsd-tex-url: https://lists.FreeBSD.org/subscription/freebsd-tex :freebsd-tex: {freebsd-tex-url}[{freebsd-tex-desc}] :freebsd-threads-desc: FreeBSD threads mailing list :freebsd-threads-url: https://lists.FreeBSD.org/subscription/freebsd-threads :freebsd-threads: {freebsd-threads-url}[{freebsd-threads-desc}] :freebsd-tilera-desc: Porting FreeBSD to the Tilera family of CPUs :freebsd-tilera-url: https://lists.FreeBSD.org/subscription/freebsd-tilera :freebsd-tilera: {freebsd-tilera-url}[{freebsd-tilera-desc}] :freebsd-tokenring-desc: FreeBSD tokenring mailing list :freebsd-tokenring-url: https://lists.FreeBSD.org/subscription/freebsd-tokenring :freebsd-tokenring: {freebsd-tokenring-url}[{freebsd-tokenring-desc}] :freebsd-toolchain-desc: FreeBSD integrated toolchain mailing list :freebsd-toolchain-url: https://lists.FreeBSD.org/subscription/freebsd-toolchain :freebsd-toolchain: {freebsd-toolchain-url}[{freebsd-toolchain-desc}] :freebsd-translators-desc: FreeBSD translators mailing list :freebsd-translators-url: https://lists.FreeBSD.org/subscription/freebsd-translators :freebsd-translators: {freebsd-translators-url}[{freebsd-translators-desc}] :freebsd-transport-desc: FreeBSD transport mailing list :freebsd-transport-url: https://lists.FreeBSD.org/subscription/freebsd-transport :freebsd-transport: {freebsd-transport-url}[{freebsd-transport-desc}] :freebsd-usb-desc: FreeBSD USB mailing list :freebsd-usb-url: https://lists.FreeBSD.org/subscription/freebsd-usb :freebsd-usb: {freebsd-usb-url}[{freebsd-usb-desc}] :freebsd-user-groups-desc: FreeBSD user group coordination mailing list :freebsd-user-groups-url: https://lists.FreeBSD.org/subscription/freebsd-user-groups :freebsd-user-groups: {freebsd-user-groups-url}[{freebsd-user-groups-desc}] :freebsd-vendors-desc: FreeBSD vendors pre-release coordination mailing list :freebsd-vendors-url: https://lists.FreeBSD.org/subscription/freebsd-vendors :freebsd-vendors: {freebsd-vendors-url}[{freebsd-vendors-desc}] :freebsd-virtualization-desc: Discussion of various virtualization techniques supported by FreeBSD :freebsd-virtualization-url: https://lists.FreeBSD.org/subscription/freebsd-virtualization :freebsd-virtualization: {freebsd-virtualization-url}[{freebsd-virtualization-desc}] :freebsd-vuxml-desc: Discussion on the VuXML infrastructure :freebsd-vuxml-url: https://lists.FreeBSD.org/subscription/freebsd-vuxml :freebsd-vuxml: {freebsd-vuxml-url}[{freebsd-vuxml-desc}] :freebsd-wip-status-desc: FreeBSD Work-In-Progress Status :freebsd-wip-status-url: https://lists.FreeBSD.org/subscription/freebsd-wip-status :freebsd-wip-status: {freebsd-wip-status-url}[{freebsd-wip-status-desc}] :freebsd-wireless-desc: Discussions of 802.11 stack, tools, device driver development :freebsd-wireless-url: https://lists.FreeBSD.org/subscription/freebsd-wireless :freebsd-wireless: {freebsd-wireless-url}[{freebsd-wireless-desc}] :freebsd-women-desc: FreeBSD advocacy for women :freebsd-women-url: https://lists.FreeBSD.org/subscription/freebsd-women :freebsd-women: {freebsd-women-url}[{freebsd-women-desc}] :freebsd-www-desc: FreeBSD Webmaster mailing list :freebsd-www-url: https://lists.FreeBSD.org/subscription/freebsd-www :freebsd-www: {freebsd-www-url}[{freebsd-www-desc}] :freebsd-x11-desc: FreeBSD X11 mailing list :freebsd-x11-url: https://lists.FreeBSD.org/subscription/freebsd-x11 :freebsd-x11: {freebsd-x11-url}[{freebsd-x11-desc}] :freebsd-xen-desc: FreeBSD port to Xen mailing list :freebsd-xen-url: https://lists.FreeBSD.org/subscription/freebsd-xen :freebsd-xen: {freebsd-xen-url}[{freebsd-xen-desc}] :freebsd-xfce-desc: XFCE for FreeBSD mailing list :freebsd-xfce-url: https://lists.FreeBSD.org/subscription/freebsd-xfce :freebsd-xfce: {freebsd-xfce-url}[{freebsd-xfce-desc}] :freebsd-zope-desc: Zope for FreeBSD mailing list :freebsd-zope-url: https://lists.FreeBSD.org/subscription/freebsd-zope :freebsd-zope: {freebsd-zope-url}[{freebsd-zope-desc}] :committers-name: FreeBSD committer's mailing list :committers: {committers-name} :core-email: core@FreeBSD.org :core-name: freebsd-core :developers-name: FreeBSD developers mailing list :developers: {committers-developers} :doc-committers-name: FreeBSD doc/ committer's mailing list :doc-committers: {doc-committers-name} :doc-developers-name: FreeBSD doc/ developers mailing list :doc-developers: {doc-developers-name} :ports-committers-name: FreeBSD ports/ committer's mailing list :ports-committers: {ports-committers-name} :ports-developers-name: FreeBSD ports/ developers mailing list :ports-developers: {ports-developers-name} :src-committers-name: FreeBSD src/ committer's mailing list :src-committers: {src-committers-name} :src-developers-name: FreeBSD src/ developers mailing list :src-developers: {src-developers-name} // Not really proper mailing lists :bugfollowup: bug-followup@FreeBSD.org :bugsubmit: {bugfollowup} :majordomo: majordomo@FreeBSD.org // The following mailinglists are deactivated. Keep them until all references // in the documentation are gone. :freebsd-alpha-desc: FreeBSD Alpha porting mailing list :freebsd-alpha-url: https://lists.FreeBSD.org/subscription/freebsd-alpha :freebsd-alpha: {freebsd-alpha-url}[{freebsd-alpha-desc}] :freebsd-qa-desc: FreeBSD Quality Assurance mailing list :freebsd-qa-url: https://lists.FreeBSD.org/subscription/freebsd-qa :freebsd-qa: {freebsd-qa-url}[{freebsd-qa-desc}] :freebsd-smp-desc: FreeBSD symmetric multiprocessing mailing list :freebsd-smp-url: https://lists.FreeBSD.org/subscription/freebsd-smp :freebsd-smp: {freebsd-smp-url}[{freebsd-smp-desc}] diff --git a/shared/pt-br/mailing-lists.adoc b/shared/pt-br/mailing-lists.adoc index 22aea515c8..b584d6129f 100644 --- a/shared/pt-br/mailing-lists.adoc +++ b/shared/pt-br/mailing-lists.adoc @@ -1,600 +1,600 @@ // // // Nomes das listas de discussão do FreeBSD e dos softwares // relacionados // // The FreeBSD Documentation Project // The FreeBSD Brazilian Portuguese Documentation Project // // $FreeBSD$ // -:mailman-lists-desc: servidor de listas do FreeBSD -:mailman-lists-url: https://lists.freebsd.org -:mailman-lists: {mailman-lists-url}[{mailman-lists-desc}] +:mailing-lists-desc: servidor de listas do FreeBSD +:mailing-lists-url: https://lists.freebsd.org +:mailing-lists: {mailing-lists-url}[{mailing-lists-desc}] :freebsd-acpi-desc: lista de discussão sobre ACPI no FreeBSD :freebsd-acpi-url: https://lists.FreeBSD.org/subscription/freebsd-acpi :freebsd-acpi: {freebsd-acpi-url}[{freebsd-acpi-desc}] :freebsd-advocacy-desc: lista de discussão sobre como promover o FreeBSD :freebsd-advocacy-url: https://lists.FreeBSD.org/subscription/freebsd-advocacy :freebsd-advocacy: {freebsd-advocacy-url}[{freebsd-advocacy-desc}] :freebsd-afs-desc: lista de discussão sobre o port do AFS no FreeBSD :freebsd-afs-url: https://lists.FreeBSD.org/subscription/freebsd-afs :freebsd-afs: {freebsd-afs-url}[{freebsd-afs-desc}] :freebsd-aic7xxx-desc: lista de discussão sobre Adaptec AIC7xxx no FreeBSD :freebsd-aic7xxx-url: https://lists.FreeBSD.org/subscription/aic7xxx :freebsd-aic7xxx: {freebsd-aic7xxx-url}[{freebsd-aic7xxx-desc}] :freebsd-amd64-desc: lista de discussão sobre o port do FreeBSD para sistemas AMD64 :freebsd-amd64-url: https://lists.FreeBSD.org/subscription/freebsd-amd64 :freebsd-amd64: {freebsd-amd64-url}[{freebsd-amd64-desc}] :freebsd-announce-desc: lista de distribuição de comunicados oficiais do projeto FreeBSD :freebsd-announce-url: https://lists.FreeBSD.org/subscription/freebsd-announce :freebsd-announce: {freebsd-announce-url}[{freebsd-announce-desc}] :freebsd-apache-desc: lista de discussão sobre o uso do Apache no FreeBSD :freebsd-apache-url: https://lists.FreeBSD.org/subscription/freebsd-apache :freebsd-apache: {freebsd-apache-url}[{freebsd-apache-desc}] :freebsd-arch-desc: lista de discussão sobre o design e arquitetura do FreeBSD :freebsd-arch-url: https://lists.FreeBSD.org/subscription/freebsd-arch :freebsd-arch: {freebsd-arch-url}[{freebsd-arch-desc}] :freebsd-arm-desc: lista de discussão sobre o port do FreeBSD para sistemas ARM :freebsd-arm-url: https://lists.FreeBSD.org/subscription/freebsd-arm :freebsd-arm: {freebsd-arm-url}[{freebsd-arm-desc}] :freebsd-atm-desc: lista de discussão sobre redes ATM no FreeBSD :freebsd-atm-url: https://lists.FreeBSD.org/subscription/freebsd-atm :freebsd-atm: {freebsd-atm-url}[{freebsd-atm-desc}] :freebsd-binup-desc: lista de discussão sobre o sistema de atualização binária do FreeBSD :freebsd-binup-url: https://lists.FreeBSD.org/subscription/freebsd-binup :freebsd-binup: {freebsd-binup-url}[{freebsd-binup-desc}] :freebsd-bluetooth-desc: lista de discussão sobre o suporte à Bluetooth no FreeBSD :freebsd-bluetooth-url: https://lists.FreeBSD.org/subscription/freebsd-bluetooth :freebsd-bluetooth: {freebsd-bluetooth-url}[{freebsd-bluetooth-desc}] :freebsd-bugbusters-desc: lista de discussão destinada aos Bugbusters do FreeBSD :freebsd-bugbusters-url: https://lists.FreeBSD.org/subscription/freebsd-bugbusters :freebsd-bugbusters: {freebsd-bugbusters-url}[{freebsd-bugbusters-desc}] :freebsd-bugs-desc: lista de discussão para reportar erros no FreeBSD :freebsd-bugs-url: https://lists.FreeBSD.org/subscription/freebsd-bugs :freebsd-bugs: {freebsd-bugs-url}[{freebsd-bugs-desc}] :freebsd-chat-desc: lista de discussão para assuntos gerais e não relacionados ao FreeBSD :freebsd-chat-url: https://lists.FreeBSD.org/subscription/freebsd-chat :freebsd-chat: {freebsd-chat-url}[{freebsd-chat-desc}] :freebsd-chromium-desc: lista de discussão sobre problemas do Chromium específicos do FreeBSD :freebsd-chromium-url: https://lists.FreeBSD.org/subscription/freebsd-chromium :freebsd-chromium: {freebsd-chromium-url}[{freebsd-chromium-desc}] :freebsd-cluster-desc: lista de discussão sobre a criação de clusters com o FreeBSD :freebsd-cluster-url: https://lists.FreeBSD.org/subscription/freebsd-cluster :freebsd-cluster: {freebsd-cluster-url}[{freebsd-cluster-desc}] :freebsd-current-desc: lista de discussão do FreeBSD-CURRENT :freebsd-current-url: https://lists.FreeBSD.org/subscription/freebsd-current :freebsd-current: {freebsd-current-url}[{freebsd-current-desc}] :ctm-announce-desc: anúncios CTM :ctm-announce-url: https://lists.FreeBSD.org/subscription/ctm-announce :ctm-announce: {ctm-announce-url}[{ctm-announce-desc}] :ctm-cvs-cur-desc: distribuição CTM dos arquivos do CVS :ctm-cvs-cur-url: https://lists.FreeBSD.org/subscription/ctm-cvs-cur :ctm-cvs-cur: {ctm-cvs-cur-url}[{ctm-cvs-cur-desc}] :ctm-src-4-desc: lista de distribuição CTM do branch 4-STABLE do src :ctm-src-4-url: https://lists.FreeBSD.org/subscription/ctm-src-4 :ctm-src-4: {ctm-src-4-url}[{ctm-src-4-desc}] :ctm-src-5-desc: lista de distribuição CTM do branch 5-STABLE do src :ctm-src-5-url: https://lists.FreeBSD.org/subscription/ctm-src-5 :ctm-src-5: {ctm-src-5-url}[{ctm-src-5-desc}] :ctm-src-6-desc: lista de distribuição CTM do branch 6-STABLE do src :ctm-src-6-url: https://lists.FreeBSD.org/subscription/ctm-src-6 :ctm-src-6: {ctm-src-6-url}[{ctm-src-6-desc}] :ctm-src-7-desc: lista de distribuição CTM do branch 7-STABLE do src :ctm-src-7-url: https://lists.FreeBSD.org/subscription/ctm-src-7 :ctm-src-7: {ctm-src-7-url}[{ctm-src-7-desc}] :ctm-src-8-desc: lista de distribuição CTM do branch 8-STABLE do src :ctm-src-8-url: https://lists.FreeBSD.org/subscription/ctm-src-8 :ctm-src-8: {ctm-src-8-url}[{ctm-src-8-desc}] :ctm-src-9-desc: lista de distribuição CTM do branch 9-STABLE do src :ctm-src-9-url: https://lists.FreeBSD.org/subscription/ctm-src-9 :ctm-src-9: {ctm-src-9-url}[{ctm-src-9-desc}] :ctm-src-cur-desc: lista de distribuição CTM do branch -CURRENT do src :ctm-src-cur-url: https://lists.FreeBSD.org/subscription/ctm-src-cur :ctm-src-cur: {ctm-src-cur-url}[{ctm-src-cur-desc}] :ctm-users-desc: lista de discussão dos usuários do CTM :ctm-users-url: https://lists.FreeBSD.org/subscription/ctm-users :ctm-users: {ctm-users-url}[{ctm-users-desc}] :cvs-all-desc: lista de distribuição de todas as mensagens de commit no CVS do FreeBSD :cvs-all-url: https://lists.FreeBSD.org/subscription/cvs-all :cvs-all: {cvs-all-url}[{cvs-all-desc}] :cvs-doc-desc: lista de distribuição das mensagens de commit do doc no CVS do FreeBSD :cvs-doc-url: https://lists.FreeBSD.org/subscription/cvs-doc :cvs-doc: {cvs-doc-url}[{cvs-doc-desc}] :cvs-ports-desc: lista de distribuição das mensagens de commit do ports no CVS do FreeBSD :cvs-ports-url: https://lists.FreeBSD.org/subscription/cvs-ports :cvs-ports: {cvs-ports-url}[{cvs-ports-desc}] :cvs-projects-desc: lista de distribuição das mensagens de commit do projects no CVS do FreeBSD :cvs-projects-url: https://lists.FreeBSD.org/subscription/cvs-projects :cvs-projects: {cvs-projects-url}[{cvs-projects-desc}] :cvs-src-desc: lista de distribução das mensagens de commit do src no CVS do FreeBSD :cvs-src-url: https://lists.FreeBSD.org/subscription/cvs-src :cvs-src: {cvs-src-url}[{cvs-src-desc}] :freebsd-cvsweb-desc: lista de discussão sobre o CVSweb :freebsd-cvsweb-url: https://lists.FreeBSD.org/subscription/freebsd-cvsweb :freebsd-cvsweb: {freebsd-cvsweb-url}[{freebsd-cvsweb-desc}] :freebsd-database-desc: lista de discussão sobre o uso e desenvolvimento de bancos de dados no FreeBSD :freebsd-database-url: https://lists.FreeBSD.org/subscription/freebsd-database :freebsd-database: {freebsd-database-url}[{freebsd-database-desc}] :freebsd-desktop-desc: lista de discussão sobre o uso do FreeBSD no desktop :freebsd-desktop-url: https://lists.FreeBSD.org/subscription/freebsd-desktop :freebsd-desktop: {freebsd-desktop-url}[{freebsd-desktop-desc}] :freebsd-doc-desc: lista de discussão do projeto de documentação do FreeBSD :freebsd-doc-url: https://lists.FreeBSD.org/subscription/freebsd-doc :freebsd-doc: {freebsd-doc-url}[{freebsd-doc-desc}] :freebsd-drivers-desc: lista de discussão sobre a criação de drivers de dispositivo para o FreeBSD :freebsd-drivers-url: https://lists.FreeBSD.org/subscription/freebsd-drivers :freebsd-drivers: {freebsd-drivers-url}[{freebsd-drivers-desc}] :freebsd-eclipse-desc: lista de discussão para usuários FreeBSD que utilizam o IDE Eclipse :freebsd-eclipse-url: https://lists.FreeBSD.org/subscription/freebsd-eclipse :freebsd-eclipse: {freebsd-eclipse-url}[{freebsd-eclipse-desc}] :freebsd-embedded-desc: lista de discussão sobre o uso do FreeBSD em sistemas embarcados :freebsd-embedded-url: https://lists.FreeBSD.org/subscription/freebsd-embedded :freebsd-embedded: {freebsd-embedded-url}[{freebsd-embedded-desc}] :freebsd-emulation-desc: lista de discussão sobre a emulação de outros sistemas operacionais no FreeBSD :freebsd-emulation-url: https://lists.FreeBSD.org/subscription/freebsd-emulation :freebsd-emulation: {freebsd-emulation-url}[{freebsd-emulation-desc}] :freebsd-eol-desc: lista de discussão FreeBSD-eol :freebsd-eol-url: https://lists.FreeBSD.org/subscription/freebsd-eol :freebsd-eol: {freebsd-eol-url}[{freebsd-eol-desc}] :freebsd-firewire-desc: lista de discussão sobre o uso de FireWire (IEEE 1394) no FreeBSD :freebsd-firewire-url: https://lists.FreeBSD.org/subscription/freebsd-firewire :freebsd-firewire: {freebsd-firewire-url}[{freebsd-firewire-desc}] :freebsd-fs-desc: lista de discussão sobre os sistemas de arquivos suportados pelo FreeBSD :freebsd-fs-url: https://lists.FreeBSD.org/subscription/freebsd-fs :freebsd-fs: {freebsd-fs-url}[{freebsd-fs-desc}] :freebsd-gecko-desc: lista de discussão sobre o uso de aplicações gecko no FreeBSD :freebsd-gecko-url: https://lists.FreeBSD.org/subscription/freebsd-gecko :freebsd-gecko: {freebsd-gecko-url}[{freebsd-gecko-desc}] :freebsd-geom-desc: lista de discussão sobre o framework GEOM :freebsd-geom-url: https://lists.FreeBSD.org/subscription/freebsd-geom :freebsd-geom: {freebsd-geom-url}[{freebsd-geom-desc}] :freebsd-gnome-desc: lista de discussão sobre o port do gnome para o FreeBSD :freebsd-gnome-url: https://lists.FreeBSD.org/subscription/freebsd-gnome :freebsd-gnome: {freebsd-gnome-url}[{freebsd-gnome-desc}] :freebsd-hackers-desc: lista de discussão de assuntos técnicos relacionados ao FreeBSD :freebsd-hackers-url: https://lists.FreeBSD.org/subscription/freebsd-hackers :freebsd-hackers: {freebsd-hackers-url}[{freebsd-hackers-desc}] :freebsd-hardware-desc: lista de discussão sobre hardware para o FreeBSD :freebsd-hardware-url: https://lists.FreeBSD.org/subscription/freebsd-hardware :freebsd-hardware: {freebsd-hardware-url}[{freebsd-hardware-desc}] :freebsd-hubs-desc: lista de discussão sobre sites espelhos do FreeBSD :freebsd-hubs-url: https://lists.FreeBSD.org/subscription/freebsd-hubs :freebsd-hubs: {freebsd-hubs-url}[{freebsd-hubs-desc}] :freebsd-i18n-desc: lista de discussão sobre a internacionalização do FReeBSD. :freebsd-i18n-url: https://lists.FreeBSD.org/subscription/freebsd-i18n :freebsd-i18n: {freebsd-i18n-url}[{freebsd-i18n-desc}] :freebsd-i386-desc: lista de discussão de temas específicos ao uso do FreeBSD na plataforma i386 :freebsd-i386-url: https://lists.FreeBSD.org/subscription/freebsd-i386 :freebsd-i386: {freebsd-i386-url}[{freebsd-i386-desc}] :freebsd-ia32-desc: lista de discussão sobre o port do FreeBSD para a plataforma IA32 :freebsd-ia32-url: https://lists.FreeBSD.org/subscription/freebsd-ia32 :freebsd-ia32: {freebsd-ia32-url}[{freebsd-ia32-desc}] :freebsd-ia64-desc: lista de discussão sobre o port do FreeBSD para a plataforma IA64 :freebsd-ia64-url: https://lists.FreeBSD.org/subscription/freebsd-ia64 :freebsd-ia64: {freebsd-ia64-url}[{freebsd-ia64-desc}] :freebsd-ipfw-desc: lista de discussão sobre o código do IPFW no FreeBSD :freebsd-ipfw-url: https://lists.FreeBSD.org/subscription/freebsd-ipfw :freebsd-ipfw: {freebsd-ipfw-url}[{freebsd-ipfw-desc}] :freebsd-isdn-desc: lista de discussão sobre o uso de ISDN no FreeBSD :freebsd-isdn-url: https://lists.FreeBSD.org/subscription/freebsd-isdn :freebsd-isdn: {freebsd-isdn-url}[{freebsd-isdn-desc}] :freebsd-isp-desc: lista de discussão sobre o uso do FreeBSD em Provedores de Serviço Internet (ISPs) :freebsd-isp-url: https://lists.FreeBSD.org/subscription/freebsd-isp :freebsd-isp: {freebsd-isp-url}[{freebsd-isp-desc}] :freebsd-jail-desc: lista de discussão sobre o uso de jails no FreeBSD :freebsd-jail-url: https://lists.FreeBSD.org/subscription/freebsd-jail :freebsd-jail: {freebsd-jail-url}[{freebsd-jail-desc}] :freebsd-java-desc: lista de discussão sobre o uso da linguagem Java na criação de aplicativos para o FreeBSD :freebsd-java-url: https://lists.FreeBSD.org/subscription/freebsd-java :freebsd-java: {freebsd-java-url}[{freebsd-java-desc}] :freebsd-jobs-desc: lista de discussão sobre empregos relacionados ao FreeBSD :freebsd-jobs-url: https://lists.FreeBSD.org/subscription/freebsd-jobs :freebsd-jobs: {freebsd-jobs-url}[{freebsd-jobs-desc}] :freebsd-kde-desc: lista de discussão sobre o uso do KDE/Qt e demais aplicativos do KDE no FreeBSD :freebsd-kde-url: https://mail.kde.org/mailman/listinfo/kde-freebsd :freebsd-kde: {freebsd-kde-url}[{freebsd-kde-desc}] :freebsd-lfs-desc: lista de discussão sobre o port do LFS para o FreeBSD :freebsd-lfs-url: https://lists.FreeBSD.org/subscription/freebsd-lfs :freebsd-lfs: {freebsd-lfs-url}[{freebsd-lfs-desc}] :freebsd-mips-desc: lista de discussão sobre o port do MIPS para o FreeBSD :freebsd-mips-url: https://lists.FreeBSD.org/subscription/freebsd-mips :freebsd-mips: {freebsd-mips-url}[{freebsd-mips-desc}] :mirror-announce-desc: lista de discussão dos administradores dos sites espelhos do FreeBSD :mirror-announce-url: https://lists.FreeBSD.org/subscription/mirror-announce :mirror-announce: {mirror-announce-url}[{mirror-announce-desc}] :freebsd-mobile-desc: lista de discussão de temas específicos ao uso do FreeBSD em notebooks e demais equipamentos móveis. :freebsd-mobile-url: https://lists.FreeBSD.org/subscription/freebsd-mobile :freebsd-mobile: {freebsd-mobile-url}[{freebsd-mobile-desc}] :freebsd-mono-desc: lista de discussão sobre o port de aplicações Mono C# para o FreeBSD :freebsd-mono-url: https://lists.FreeBSD.org/subscription/freebsd-mono :freebsd-mono: {freebsd-mono-url}[{freebsd-mono-desc}] :freebsd-mozilla-desc: lista de discussão sobre o port do navegador Mozilla para o FreeBSD :freebsd-mozilla-url: https://lists.FreeBSD.org/subscription/freebsd-mozilla :freebsd-mozilla: {freebsd-mozilla-url}[{freebsd-mozilla-desc}] :freebsd-multimedia-desc: lista de discussão sobre o uso de aplicativos multimídia no FreeBSD :freebsd-multimedia-url: https://lists.FreeBSD.org/subscription/freebsd-multimedia :freebsd-multimedia: {freebsd-multimedia-url}[{freebsd-multimedia-desc}] :freebsd-net-desc: lista de discussão sobre redes e TCP/IP no FreeBSD :freebsd-net-url: https://lists.FreeBSD.org/subscription/freebsd-net :freebsd-net: {freebsd-net-url}[{freebsd-net-desc}] :freebsd-newbies-desc: lista de discussão para usuários novatos do FreeBSD :freebsd-newbies-url: https://lists.FreeBSD.org/subscription/freebsd-newbies :freebsd-newbies: {freebsd-newbies-url}[{freebsd-newbies-desc}] :freebsd-new-bus-desc: lista de discussão sobre a arquitetura New Bus no FreeBSD :freebsd-new-bus-url: https://lists.FreeBSD.org/subscription/freebsd-new-bus :freebsd-new-bus: {freebsd-new-bus-url}[{freebsd-new-bus-desc}] :freebsd-numerics-desc: lista de discussão sobre a implementação de alta qualidade das funções libm :freebsd-numerics-url: https://lists.FreeBSD.org/subscription/freebsd-numerics :freebsd-numerics: {freebsd-numerics-url}[{freebsd-numerics-desc}] :freebsd-office-desc: lista de discussão sobre o uso de aplicações de escritório no FreeBSD :freebsd-office-url: https://lists.FreeBSD.org/subscription/freebsd-office :freebsd-office: {freebsd-office-url}[{freebsd-office-desc}] :freebsd-performance-desc: lista de discussão sobre performance de sistemas FreeBSD :freebsd-performance-url: https://lists.FreeBSD.org/subscription/freebsd-performance :freebsd-performance: {freebsd-performance-url}[{freebsd-performance-desc}] :freebsd-perl-desc: lista de discussão sobre ports relacionados ao perl :freebsd-perl-url: https://lists.FreeBSD.org/subscription/freebsd-perl :freebsd-perl: {freebsd-perl-url}[{freebsd-perl-desc}] :freebsd-pf-desc: lista de discussão sobre o uso do packet filter (pf) no FreeBSD :freebsd-pf-url: https://lists.FreeBSD.org/subscription/freebsd-pf :freebsd-pf: {freebsd-pf-url}[{freebsd-pf-desc}] :freebsd-platforms-desc: lista de discussão sobre o port do FreeBSD para plataformas que não sejam Intel :freebsd-platforms-url: https://lists.FreeBSD.org/subscription/freebsd-platforms :freebsd-platforms: {freebsd-platforms-url}[{freebsd-platforms-desc}] :freebsd-ports-desc: lista de discussão sobre a coleção de ports do FreeBSD :freebsd-ports-url: https://lists.FreeBSD.org/subscription/freebsd-ports :freebsd-ports: {freebsd-ports-url}[{freebsd-ports-desc}] :freebsd-ports-announce-desc: lista de distribuição de comunicados oficiais sobre a coleção de ports do FreeBSD :freebsd-ports-announce-url: https://lists.FreeBSD.org/subscription/freebsd-ports-announce :freebsd-ports-announce: {freebsd-ports-announce-url}[{freebsd-ports-announce-desc}] :freebsd-ports-bugs-desc: lista de discussão para relatar erros na coleção de ports do FreeBSD :freebsd-ports-bugs-url: https://lists.FreeBSD.org/subscription/freebsd-ports-bugs :freebsd-ports-bugs: {freebsd-ports-bugs-url}[{freebsd-ports-bugs-desc}] :freebsd-ppc-desc: lista de discussão sobre o port do FreeBSD para PowerPC :freebsd-ppc-url: https://lists.FreeBSD.org/subscription/freebsd-ppc :freebsd-ppc: {freebsd-ppc-url}[{freebsd-ppc-desc}] :freebsd-proliant-desc: lista de discussão técnica sobre o uso do FreeBSD em servidores HP ProLiant :freebsd-proliant-url: https://lists.FreeBSD.org/subscription/freebsd-proliant :freebsd-proliant: {freebsd-proliant-url}[{freebsd-proliant-desc}] :freebsd-python-desc: lista de discussão sobre o port do Python para o FreeBSD :freebsd-python-url: https://lists.FreeBSD.org/subscription/freebsd-python :freebsd-python: {freebsd-python-url}[{freebsd-python-desc}] :freebsd-questions-desc: lista de discussão para perguntas gerais sobre o FreeBSD :freebsd-questions-url: https://lists.FreeBSD.org/subscription/freebsd-questions :freebsd-questions: {freebsd-questions-url}[{freebsd-questions-desc}] :freebsd-rc-desc: lista de discussão sobre o sistema de scripts de boot do FreeBSD :freebsd-rc-url: https://lists.FreeBSD.org/subscription/freebsd-rc :freebsd-rc: {freebsd-rc-url}[{freebsd-rc-desc}] :freebsd-realtime-desc: lista de discussão sobre extensões de tempo real no FreeBSD :freebsd-realtime-url: https://lists.FreeBSD.org/subscription/freebsd-realtime :freebsd-realtime: {freebsd-realtime-url}[{freebsd-realtime-desc}] :freebsd-ruby-desc: lista de discussão sobre o suporte à linguagem Ruby no FreeBSD :freebsd-ruby-url: https://lists.FreeBSD.org/subscription/freebsd-ruby :freebsd-ruby: {freebsd-ruby-url}[{freebsd-ruby-desc}] :freebsd-scsi-desc: lista de discussão sobre o subsistema SCSI do FreeBSD :freebsd-scsi-url: https://lists.FreeBSD.org/subscription/freebsd-scsi :freebsd-scsi: {freebsd-scsi-url}[{freebsd-scsi-desc}] :freebsd-security-desc: lista de discussão sobre temas relacionados a segurança do FreeBSD :freebsd-security-url: https://lists.FreeBSD.org/subscription/freebsd-security :freebsd-security: {freebsd-security-url}[{freebsd-security-desc}] :freebsd-security-notifications-desc: lista de distribuição de alertas de segurança do FreeBSD :freebsd-security-notifications-url: https://lists.FreeBSD.org/subscription/freebsd-security-notifications :freebsd-security-notifications: {freebsd-security-notifications-url}[{freebsd-security-notifications-desc}] :freebsd-small-desc: lista de discussão sobre sistemas embarcados baseados no FreeBSD :freebsd-small-url: https://lists.FreeBSD.org/subscription/freebsd-small :freebsd-small: {freebsd-small-url}[{freebsd-small-desc}] :freebsd-sparc64-desc: lista de discussão sobre o port do FreeBSD para a plataforma SPARC :freebsd-sparc64-url: https://lists.FreeBSD.org/subscription/freebsd-sparc64 :freebsd-sparc64: {freebsd-sparc64-url}[{freebsd-sparc64-desc}] :freebsd-stable-desc: lista de discussão sobre o FreeBSD-STABLE :freebsd-stable-url: https://lists.FreeBSD.org/subscription/freebsd-stable :freebsd-stable: {freebsd-stable-url}[{freebsd-stable-desc}] :freebsd-standards-desc: lista de discussão sobre a conformidade do FreeBSD aos padrões C99 e POSIX :freebsd-standards-url: https://lists.FreeBSD.org/subscription/freebsd-standards :freebsd-standards: {freebsd-standards-url}[{freebsd-standards-desc}] :freebsd-sun4v-desc: lista de discussão sobre o port do FreeBSD para a plataforma sun4v :freebsd-sun4v-url: https://lists.FreeBSD.org/subscription/freebsd-sun4v :freebsd-sun4v: {freebsd-sun4v-url}[{freebsd-sun4v-desc}] :svn-doc-all-desc: mensagens de commit no repositório SVN para toda a árvore doc (exceto "user", "projects" e "translations") :svn-doc-all-url: https://lists.FreeBSD.org/subscription/svn-doc-all :svn-doc-all: {svn-doc-all-url}[{svn-doc-all-desc}] :svn-doc-head-desc: mensagens de commit no repositório SVN para o head/ da árvore doc :svn-doc-head-url: https://lists.FreeBSD.org/subscription/svn-doc-head :svn-doc-head: {svn-doc-head-url}[{svn-doc-head-desc}] :svn-doc-projects-desc: mensagens de commit no repositório SVN para o "projects" da árvore doc :svn-doc-projects-url: https://lists.FreeBSD.org/subscription/svn-doc-projects :svn-doc-projects: {svn-doc-projects-url}[{svn-doc-projects-desc}] :svn-doc-svnadmin-desc: mensagens de commit no repositório SVN para o "svnadmin" da árvore doc :svn-doc-svnadmin-url: https://lists.FreeBSD.org/subscription/svn-doc-svnadmin :svn-doc-svnadmin: {svn-doc-svnadmin-url}[{svn-doc-svnadmin-desc}] :svn-ports-all-desc: mensagens de commit no repositório SVN para toda a árvore ports :svn-ports-all-url: https://lists.FreeBSD.org/subscription/svn-ports-all :svn-ports-all: {svn-ports-all-url}[{svn-ports-all-desc}] :svn-ports-head-desc: mensagens de commit no repositório SVN para o head/ da árvore ports :svn-ports-head-url: https://lists.FreeBSD.org/subscription/svn-ports-head :svn-ports-head: {svn-ports-head-url}[{svn-ports-head-desc}] :svn-ports-svnadmin-desc: mensagens de commit no repositório SVN para o "svnadmin" da árvore ports :svn-ports-svnadmin-url: https://lists.FreeBSD.org/subscription/svn-ports-svnadmin :svn-ports-svnadmin: {svn-ports-svnadmin-url}[{svn-ports-svnadmin-desc}] :svn-src-all-desc: mensagens de commit no repositório SVN para toda a árvore src (exceto para "user" e "projects") :svn-src-all-url: https://lists.FreeBSD.org/subscription/svn-src-all :svn-src-all: {svn-src-all-url}[{svn-src-all-desc}] :svn-src-head-desc: mensagens de commit no repositório SVN para o head/-current do src :svn-src-head-url: https://lists.FreeBSD.org/subscription/svn-src-head :svn-src-head: {svn-src-head-url}[{svn-src-head-desc}] :svn-src-projects-desc: mensagens de commit no repositório SVN para o "projects" da árvore src :svn-src-projects-url: https://lists.FreeBSD.org/subscription/svn-src-projects :svn-src-projects: {svn-src-projects-url}[{svn-src-projects-desc}] :svn-src-release-desc: mensagens de commit no repositório SVN para o "release" da árvore src :svn-src-release-url: https://lists.FreeBSD.org/subscription/svn-src-release :svn-src-release: {svn-src-release-url}[{svn-src-release-desc}] :svn-src-releng-desc: mensagens de commit no repositório SVN pelas equipes de engenharia de lançamento e de segurança na árvore do src :svn-src-releng-url: https://lists.FreeBSD.org/subscription/svn-src-releng :svn-src-releng: {svn-src-releng-url}[{svn-src-releng-desc}] :svn-src-stable-desc: mensagens de commit no repositório SVN para todos os ramos -STABLE da árvore src :svn-src-stable-url: https://lists.FreeBSD.org/subscription/svn-src-stable :svn-src-stable: {svn-src-stable-url}[{svn-src-stable-desc}] :svn-src-stable-6-desc: mensagens de commit no repositório SVN apenas para o ramo 6-stable da árvore src :svn-src-stable-6-url: https://lists.FreeBSD.org/subscription/svn-src-stable-6 :svn-src-stable-6: {svn-src-stable-6-url}[{svn-src-stable-6-desc}] :svn-src-stable-7-desc: mensagens de commit no repositório SVN apenas para o ramo 7-stable da árvore src :svn-src-stable-7-url: https://lists.FreeBSD.org/subscription/svn-src-stable-7 :svn-src-stable-7: {svn-src-stable-7-url}[{svn-src-stable-7-desc}] :svn-src-stable-8-desc: mensagens de commit no repositório SVN apenas para o ramo 8-stable da árvore src :svn-src-stable-8-url: https://lists.FreeBSD.org/subscription/svn-src-stable-8 :svn-src-stable-8: {svn-src-stable-8-url}[{svn-src-stable-8-desc}] :svn-src-stable-9-desc: mensagens de commit no repositório SVN apenas para o ramo 9-stable da árvore src :svn-src-stable-9-url: https://lists.FreeBSD.org/subscription/svn-src-stable-9 :svn-src-stable-9: {svn-src-stable-9-url}[{svn-src-stable-9-desc}] :svn-src-stable-other-desc: mensagens de commit no repositório SVN para os ramos stable mais antigos da árvore src :svn-src-stable-other-url: https://lists.FreeBSD.org/subscription/svn-src-stable-other :svn-src-stable-other: {svn-src-stable-other-url}[{svn-src-stable-other-desc}] :svn-src-svnadmin-desc: mensagens de commit no repositório SVN para o "svnadmin" da árvore src :svn-src-svnadmin-url: https://lists.FreeBSD.org/subscription/svn-src-svnadmin :svn-src-svnadmin: {svn-src-svnadmin-url}[{svn-src-svnadmin-desc}] :svn-src-user-desc: mensagens de commit no repositório SVN para a área experimental "user" da árvore src :svn-src-user-url: https://lists.FreeBSD.org/subscription/svn-src-user :svn-src-user: {svn-src-user-url}[{svn-src-user-desc}] :svn-src-vendor-desc: mensagens de commit no repositório SVN para a área de trabalho dos vendors :svn-src-vendor-url: https://lists.FreeBSD.org/subscription/svn-src-vendor :svn-src-vendor: {svn-src-vendor-url}[{svn-src-vendor-desc}] :freebsd-sysinstall-desc: lista de discussão sobre o desenvolvimento do Sysinstall :freebsd-sysinstall-url: https://lists.FreeBSD.org/subscription/freebsd-sysinstall :freebsd-sysinstall: {freebsd-sysinstall-url}[{freebsd-sysinstall-desc}] :freebsd-test-desc: lista de discussão para testes de envio de emails :freebsd-test-url: https://lists.FreeBSD.org/subscription/freebsd-test :freebsd-test: {freebsd-test-url}[{freebsd-test-desc}] :freebsd-threads-desc: lista de discussão sobre o design e implementação de threads no FreeBSD :freebsd-threads-url: https://lists.FreeBSD.org/subscription/freebsd-threads :freebsd-threads: {freebsd-threads-url}[{freebsd-threads-desc}] :freebsd-tilera-desc: lista de discussão sobre o port do FreeBSD para a família de CPUs Tilera :freebsd-tilera-url: https://lists.FreeBSD.org/subscription/freebsd-tilera :freebsd-tilera: {freebsd-tilera-url}[{freebsd-tilera-desc}] :freebsd-tokenring-desc: lista de discussão sobre o uso de tokenring no FreeBSD :freebsd-tokenring-url: https://lists.FreeBSD.org/subscription/freebsd-tokenring :freebsd-tokenring: {freebsd-tokenring-url}[{freebsd-tokenring-desc}] :freebsd-toolchain-desc: lista de discussão sobre a manutenção do toolchain distribuído com o FreeBSD :freebsd-toolchain-url: https://lists.FreeBSD.org/subscription/freebsd-toolchain :freebsd-toolchain: {freebsd-toolchain-url}[{freebsd-toolchain-desc}] :freebsd-usb-desc: lista de discussão sobre o suporte USB do FreeBSD :freebsd-usb-url: https://lists.FreeBSD.org/subscription/freebsd-usb :freebsd-usb: {freebsd-usb-url}[{freebsd-usb-desc}] :freebsd-user-groups-desc: lista de discussão destinada a coordenação dos grupos de usuários do FreeBSD :freebsd-user-groups-url: https://lists.FreeBSD.org/subscription/freebsd-user-groups :freebsd-user-groups: {freebsd-user-groups-url}[{freebsd-user-groups-desc}] :freebsd-vendors-desc: lista de discussão destinada a coordenar com os vendors as pré-releases :freebsd-vendors-url: https://lists.FreeBSD.org/subscription/freebsd-vendors :freebsd-vendors: {freebsd-vendors-url}[{freebsd-vendors-desc}] :freebsd-virtualization-desc: lista de discussão das várias técnicas de virtualização suportadas pelo FreeBSD :freebsd-virtualization-url: https://lists.FreeBSD.org/subscription/freebsd-virtualization :freebsd-virtualization: {freebsd-virtualization-url}[{freebsd-virtualization-desc}] :freebsd-vuxml-desc: lista de discussão sobre a infraestrutura VuXML :freebsd-vuxml-url: https://lists.FreeBSD.org/subscription/freebsd-vuxml :freebsd-vuxml: {freebsd-vuxml-url}[{freebsd-vuxml-desc}] :freebsd-wip-status-desc: Status dos trabalhos em andamento no FreeBSD :freebsd-wip-status-url: https://lists.FreeBSD.org/subscription/freebsd-wip-status :freebsd-wip-status: {freebsd-wip-status-url}[{freebsd-wip-status-desc}] :freebsd-wireless-desc: lista de discussão sobre o stack 802.11, suas ferramentas, e o desenvolvimento de drivers de dispositivo. :freebsd-wireless-url: https://lists.FreeBSD.org/subscription/freebsd-wireless :freebsd-wireless: {freebsd-wireless-url}[{freebsd-wireless-desc}] :freebsd-www-desc: lista de discussão dos webmasters do FreeBSD :freebsd-www-url: https://lists.FreeBSD.org/subscription/freebsd-www :freebsd-www: {freebsd-www-url}[{freebsd-www-desc}] :freebsd-x11-desc: lista de discussão sobre a manutenção dos ports relacionados com o X11 :freebsd-x11-url: https://lists.FreeBSD.org/subscription/freebsd-x11 :freebsd-x11: {freebsd-x11-url}[{freebsd-x11-desc}] :freebsd-xen-desc: lista de discussão sobre o port do FreeBSD para o Xen :freebsd-xen-url: https://lists.FreeBSD.org/subscription/freebsd-xen :freebsd-xen: {freebsd-xen-url}[{freebsd-xen-desc}] :freebsd-xfce-desc: lista de discussão sobre o uso do XFCE no FreeBSD :freebsd-xfce-url: https://lists.FreeBSD.org/subscription/freebsd-xfce :freebsd-xfce: {freebsd-xfce-url}[{freebsd-xfce-desc}] :freebsd-zope-desc: lista de discussão sobre o uso do Zope no FreeBSD :freebsd-zope-url: https://lists.FreeBSD.org/subscription/freebsd-zope :freebsd-zope: {freebsd-zope-url}[{freebsd-zope-desc}] :committers-name: lista de discussão dos committers do FreeBSD :committers: {committers-name} :core-name: FreeBSD core team :core: {core-name} :developers-name: lista de discussão dos desenvolvedores do FreeBSD :developers: {committers-developers} :doc-committers-name: lista de discussão dos committers do doc/ :doc-committers: {doc-committers-name} :doc-developers-name: lista de discussão dos desenvolvedores do doc/ :doc-developers: {doc-developers-name} :ports-committers-name: lista de discussão dos commiters da coleção de ports do FreeBSD :ports-committers: {ports-committers-name} :ports-developers-name: lista de discussão dos desenvolvedores da coleção de ports do FreeBSD :ports-developers: {ports-developers-name} :src-committers-name: lista de discussão dos committers do src/ do FreeBSD :src-committers: {src-committers-name} :src-developers-name: lista de discussão dos desenvolvedores do src/ do FreeBSD :src-developers: {src-developers-name} // Not really proper mailing lists :bugfollowup: bug-followup@FreeBSD.org :bugsubmit: {bugfollowup} :majordomo: majordomo@FreeBSD.org // The following mailinglists are deactivated. Keep them until all references // in the documentation are gone. :freebsd-alpha-desc: lista de discussão sobre o port do FreeBSD para a plataforma Alpha :freebsd-alpha-url: https://lists.FreeBSD.org/subscription/freebsd-alpha :freebsd-alpha: {freebsd-alpha-url}[{freebsd-alpha-desc}] :freebsd-qa-desc: lista de discussão sobre a garantia de qualidade do FreeBSD :freebsd-qa-url: https://lists.FreeBSD.org/subscription/freebsd-qa :freebsd-qa: {freebsd-qa-url}[{freebsd-qa-desc}] :freebsd-smp-desc: lista de discussão sobre multi processamento simétrico no FreeBSD :freebsd-smp-url: https://lists.FreeBSD.org/subscription/freebsd-smp :freebsd-smp: {freebsd-smp-url}[{freebsd-smp-desc}] diff --git a/shared/ru/mailing-lists.adoc b/shared/ru/mailing-lists.adoc index c18a74dd48..50828f8a32 100644 --- a/shared/ru/mailing-lists.adoc +++ b/shared/ru/mailing-lists.adoc @@ -1,578 +1,578 @@ // // The FreeBSD Russian Documentation Project // // Названия списков рассылки FreeBSD и смежных областей интересов // // $FreeBSD$ // -:mailman-lists-desc: Сервер списков рассылки FreeBSD -:mailman-lists-url: https://lists.freebsd.org -:mailman-lists: {mailman-lists-url}[{mailman-lists-desc}] +:mailing-lists-desc: Сервер списков рассылки FreeBSD +:mailing-lists-url: https://lists.freebsd.org +:mailing-lists: {mailing-lists-url}[{mailing-lists-desc}] :freebsd-acpi-desc: Список рассылки FreeBSD ACPI :freebsd-acpi-url: https://lists.FreeBSD.org/subscription/freebsd-acpi :freebsd-acpi: {freebsd-acpi-url}[{freebsd-acpi-desc}] :freebsd-advocacy-desc: Список рассылки, посвящённый популяризации FreeBSD :freebsd-advocacy-url: https://lists.FreeBSD.org/subscription/freebsd-advocacy :freebsd-advocacy: {freebsd-advocacy-url}[{freebsd-advocacy-desc}] :freebsd-afs-desc: Список рассылки, посвящённый портированию AFS на FreeBSD :freebsd-afs-url: https://lists.FreeBSD.org/subscription/freebsd-afs :freebsd-afs: {freebsd-afs-url}[{freebsd-afs-desc}] :freebsd-aic7xxx-desc: Список рассылки, посвящённый поддержке контроллеров Adaptec AIC7xxx в FreeBSD :freebsd-aic7xxx-url: https://lists.FreeBSD.org/subscription/aic7xxx :freebsd-aic7xxx: {freebsd-aic7xxx-url}[{freebsd-aic7xxx-desc}] :freebsd-amd64-desc: Список рассылки, посвящённый портированию FreeBSD на архитектуру AMD64 :freebsd-amd64-url: https://lists.FreeBSD.org/subscription/freebsd-amd64 :freebsd-amd64: {freebsd-amd64-url}[{freebsd-amd64-desc}] :freebsd-announce-desc: Список рассылки анонсов FreeBSD :freebsd-announce-url: https://lists.FreeBSD.org/subscription/freebsd-announce :freebsd-announce: {freebsd-announce-url}[{freebsd-announce-desc}] :freebsd-apache-desc: Поддержка веб-сервера Apache под FreeBSD :freebsd-apache-url: https://lists.FreeBSD.org/subscription/freebsd-apache :freebsd-apache: {freebsd-apache-url}[{freebsd-apache-desc}] :freebsd-arch-desc: Список рассылки, посвящённый архитектуре и внутреннему устройству FreeBSD :freebsd-arch-url: https://lists.FreeBSD.org/subscription/freebsd-arch :freebsd-arch: {freebsd-arch-url}[{freebsd-arch-desc}] :freebsd-arm-desc: Список рассылки, посвящённый портированию FreeBSD на архитектуру ARM :freebsd-arm-url: https://lists.FreeBSD.org/subscription/freebsd-arm :freebsd-arm: {freebsd-arm-url}[{freebsd-arm-desc}] :freebsd-atm-desc: Список рассылки, посвящённый работе ATM сетей под FreeBSD :freebsd-atm-url: https://lists.FreeBSD.org/subscription/freebsd-atm :freebsd-atm: {freebsd-atm-url}[{freebsd-atm-desc}] :freebsd-audit-desc: Список рассылки, посвящённый аудиту кода FreeBSD :freebsd-audit-url: https://lists.FreeBSD.org/subscription/freebsd-audit :freebsd-audit: {freebsd-audit-url}[{freebsd-audit-desc}] :freebsd-binup-desc: Список рассылки, посвящённый системе бинарного обновления FreeBSD :freebsd-binup-url: https://lists.FreeBSD.org/subscription/freebsd-binup :freebsd-binup: {freebsd-binup-url}[{freebsd-binup-desc}] :freebsd-bluetooth-desc: Список рассылки, посвящённый поддержке BlueTooth во FreeBSD :freebsd-bluetooth-url: https://lists.FreeBSD.org/subscription/freebsd-bluetooth :freebsd-bluetooth: {freebsd-bluetooth-url}[{freebsd-bluetooth-desc}] :freebsd-bugbusters-desc: Список рассылки охотников за ошибками FreeBSD :freebsd-bugbusters-url: https://lists.FreeBSD.org/subscription/freebsd-bugbusters :freebsd-bugbusters: {freebsd-bugbusters-url}[{freebsd-bugbusters-desc}] :freebsd-bugs-desc: Список рассылки FreeBSD, посвящённый сообщениям о проблемах :freebsd-bugs-url: https://lists.FreeBSD.org/subscription/freebsd-bugs :freebsd-bugs: {freebsd-bugs-url}[{freebsd-bugs-desc}] :freebsd-chat-desc: Список рассылки, посвящённый неформальным беседам о FreeBSD :freebsd-chat-url: https://lists.FreeBSD.org/subscription/freebsd-chat :freebsd-chat: {freebsd-chat-url}[{freebsd-chat-desc}] :freebsd-chromium-desc: Список рассылки, посвященный вопросам разработки и установки Chromium во FreeBSD :freebsd-chromium-url: https://lists.FreeBSD.org/subscription/freebsd-chromium :freebsd-chromium: {freebsd-chromium-url}[{freebsd-chromium-desc}] :freebsd-cluster-desc: Список рассылки, посвящённый кластерам под управлением FreeBSD :freebsd-cluster-url: https://lists.FreeBSD.org/subscription/freebsd-cluster :freebsd-cluster: {freebsd-cluster-url}[{freebsd-cluster-desc}] :freebsd-current-desc: Список рассылки, посвящённый обсуждению FreeBSD-CURRENT :freebsd-current-url: https://lists.FreeBSD.org/subscription/freebsd-current :freebsd-current: {freebsd-current-url}[{freebsd-current-desc}] :ctm-announce-desc: Анонсы CTM :ctm-announce-url: https://lists.FreeBSD.org/subscription/ctm-announce :ctm-announce: {ctm-announce-url}[{ctm-announce-desc}] :ctm-src-4-desc: Список рассылки, посвящённый распространению файлов исходных текстов ветки 4-STABLE с использованием CTM :ctm-src-4-url: https://lists.FreeBSD.org/subscription/ctm-src-4 :ctm-src-4: {ctm-src-4-url}[{ctm-src-4-desc}] :ctm-src-5-desc: Список рассылки, посвящённый распространению файлов исходных текстов ветки 5-STABLE с использованием CTM :ctm-src-5-url: https://lists.FreeBSD.org/subscription/ctm-src-5 :ctm-src-5: {ctm-src-5-url}[{ctm-src-5-desc}] :ctm-src-6-desc: Список рассылки, посвящённый распространению файлов исходных текстов ветки 6-STABLE с использованием CTM :ctm-src-6-url: https://lists.FreeBSD.org/subscription/ctm-src-6 :ctm-src-6: {ctm-src-6-url}[{ctm-src-6-desc}] :ctm-src-7-desc: Список рассылки, посвящённый распространению файлов исходных текстов ветки 7-STABLE с использованием CTM :ctm-src-7-url: https://lists.FreeBSD.org/subscription/ctm-src-7 :ctm-src-7: {ctm-src-7-url}[{ctm-src-7-desc}] :ctm-src-8-desc: Список рассылки, посвящённый распространению файлов исходных текстов ветки 8-STABLE с использованием CTM :ctm-src-8-url: https://lists.FreeBSD.org/subscription/ctm-src-8 :ctm-src-8: {ctm-src-8-url}[{ctm-src-8-desc}] :ctm-src-9-desc: Список рассылки, посвящённый распространению файлов исходных текстов ветки 9-STABLE с использованием CTM :ctm-src-9-url: https://lists.FreeBSD.org/subscription/ctm-src-9 :ctm-src-9: {ctm-src-9-url}[{ctm-src-9-desc}] :ctm-src-10-desc: Список рассылки, посвящённый распространению файлов исходных текстов ветки 10-STABLE с использованием CTM :ctm-src-10-url: https://lists.FreeBSD.org/subscription/ctm-src-10 :ctm-src-10: {ctm-src-10-url}[{ctm-src-10-desc}] :ctm-src-cur-desc: Список рассылки, посвящённый распространению файлов исходных текстов ветки -CURRENT с использованием CTM :ctm-src-cur-url: https://lists.FreeBSD.org/subscription/ctm-src-cur :ctm-src-cur: {ctm-src-cur-url}[{ctm-src-cur-desc}] :ctm-users-desc: Список рассылки, посвящённый CTM :ctm-users-url: https://lists.FreeBSD.org/subscription/ctm-users :ctm-users: {ctm-users-url}[{ctm-users-desc}] :cvs-all-desc: Список рассылки сообщений об изменениях в главном дереве исходных текстов FreeBSD :cvs-all-url: https://lists.FreeBSD.org/subscription/cvs-all :cvs-all: {cvs-all-url}[{cvs-all-desc}] :cvs-doc-desc: Список рассылки сообщений об изменениях в дереве документации FreeBSD :cvs-doc-url: https://lists.FreeBSD.org/subscription/cvs-doc :cvs-doc: {cvs-doc-url}[{cvs-doc-desc}] :cvs-ports-desc: Список рассылки сообщений об изменениях в дереве портов FreeBSD :cvs-ports-url: https://lists.FreeBSD.org/subscription/cvs-ports :cvs-ports: {cvs-ports-url}[{cvs-ports-desc}] :cvs-projects-desc: Список рассылки сообщений об изменениях в дереве проектов FreeBSD :cvs-projects-url: https://lists.FreeBSD.org/subscription/cvs-projects :cvs-projects: {cvs-projects-url}[{cvs-projects-desc}] :cvs-src-desc: Список рассылки сообщений об изменениях в дереве исходных текстов FreeBSD :cvs-src-url: https://lists.FreeBSD.org/subscription/cvs-src :cvs-src: {cvs-src-url}[{cvs-src-desc}] :freebsd-cvsweb-desc: Список рассылки, посвящённый поддержке FreeBSD CVSweb :freebsd-cvsweb-url: https://lists.FreeBSD.org/subscription/freebsd-cvsweb :freebsd-cvsweb: {freebsd-cvsweb-url}[{freebsd-cvsweb-desc}] :freebsd-database-desc: Список рассылки, посвящённый базам данных, работающим под управлением FreeBSD :freebsd-database-url: https://lists.FreeBSD.org/subscription/freebsd-database :freebsd-database: {freebsd-database-url}[{freebsd-database-desc}] :freebsd-doc-desc: Список рассылки Проекта Документации FreeBSD :freebsd-doc-url: https://lists.FreeBSD.org/subscription/freebsd-doc :freebsd-doc: {freebsd-doc-url}[{freebsd-doc-desc}] :freebsd-drivers-desc: Список рассылки, посвященный написанию драйверов устройств для FreeBSD :freebsd-drivers-url: https://lists.FreeBSD.org/subscription/freebsd-drivers :freebsd-drivers: {freebsd-drivers-url}[{freebsd-drivers-desc}] :freebsd-eclipse-desc: Список рассылки FreeBSD, посвященный системам электронного документооборота Eclipse :freebsd-eclipse-url: https://lists.FreeBSD.org/subscription/freebsd-eclipse :freebsd-eclipse: {freebsd-eclipse-url}[{freebsd-eclipse-desc}] :freebsd-embedded-desc: Список рассылки, посвящённый работе FreeBSD во встроенных системах :freebsd-embedded-url: https://lists.FreeBSD.org/subscription/freebsd-embedded :freebsd-embedded: {freebsd-embedded-url}[{freebsd-embedded-desc}] :freebsd-emulation-desc: Список рассылки, посвящённый эмуляции во FreeBSD :freebsd-emulation-url: https://lists.FreeBSD.org/subscription/freebsd-emulation :freebsd-emulation: {freebsd-emulation-url}[{freebsd-emulation-desc}] :freebsd-eol-desc: Список рассылки FreeBSD-eol :freebsd-eol-url: https://lists.FreeBSD.org/subscription/freebsd-eol :freebsd-eol: {freebsd-eol-url}[{freebsd-eol-desc}] :freebsd-firewire-desc: Список рассылки, посвящённый поддержке FireWire (IEEE 1394) в FreeBSD :freebsd-firewire-url: https://lists.FreeBSD.org/subscription/freebsd-firewire :freebsd-firewire: {freebsd-firewire-url}[{freebsd-firewire-desc}] :freebsd-fs-desc: Список рассылки, посвящённый обсуждению файловых систем во FreeBSD :freebsd-fs-url: https://lists.FreeBSD.org/subscription/freebsd-fs :freebsd-fs: {freebsd-fs-url}[{freebsd-fs-desc}] :freebsd-gecko-desc: Список рассылки, посвящённый FreeBSD gecko :freebsd-gecko-url: https://lists.FreeBSD.org/subscription/freebsd-gecko :freebsd-gecko: {freebsd-gecko-url}[{freebsd-gecko-desc}] :freebsd-geom-desc: Список рассылки, посвящённый FreeBSD GEOM :freebsd-geom-url: https://lists.FreeBSD.org/subscription/freebsd-geom :freebsd-geom: {freebsd-geom-url}[{freebsd-geom-desc}] :freebsd-gnome-desc: Список рассылки, посвящённый использованию GNOME и GNOME-приложений под FreeBSD :freebsd-gnome-url: https://lists.FreeBSD.org/subscription/freebsd-gnome :freebsd-gnome: {freebsd-gnome-url}[{freebsd-gnome-desc}] :freebsd-hackers-desc: Список рассылки FreeBSD, посвящённый техническим дискуссиям :freebsd-hackers-url: https://lists.FreeBSD.org/subscription/freebsd-hackers :freebsd-hackers: {freebsd-hackers-url}[{freebsd-hackers-desc}] :freebsd-hardware-desc: Список рассылки FreeBSD, посвящённый оборудованию :freebsd-hardware-url: https://lists.FreeBSD.org/subscription/freebsd-hardware :freebsd-hardware: {freebsd-hardware-url}[{freebsd-hardware-desc}] :freebsd-hubs-desc: Список рассылки, посвящённый зеркалированию FreeBSD :freebsd-hubs-url: https://lists.FreeBSD.org/subscription/freebsd-hubs :freebsd-hubs: {freebsd-hubs-url}[{freebsd-hubs-desc}] :freebsd-i18n-desc: Список рассылки, посвящённый интернационализации FreeBSD :freebsd-i18n-url: https://lists.FreeBSD.org/subscription/freebsd-i18n :freebsd-i18n: {freebsd-i18n-url}[{freebsd-i18n-desc}] :freebsd-i386-desc: Список рассылки, посвящённый проблемам специфичным для процессоров i386 под FreeBSD :freebsd-i386-url: https://lists.FreeBSD.org/subscription/freebsd-i386 :freebsd-i386: {freebsd-i386-url}[{freebsd-i386-desc}] :freebsd-ia32-desc: Список рассылки, посвящённый портированию FreeBSD на архитектуру IA32 :freebsd-ia32-url: https://lists.FreeBSD.org/subscription/freebsd-ia32 :freebsd-ia32: {freebsd-ia32-url}[{freebsd-ia32-desc}] :freebsd-ia64-desc: Список рассылки, посвящённый портированию FreeBSD на архитектуру IA64 :freebsd-ia64-url: https://lists.FreeBSD.org/subscription/freebsd-ia64 :freebsd-ia64: {freebsd-ia64-url}[{freebsd-ia64-desc}] :freebsd-ipfw-desc: Список рассылки, посвящённый обсуждению кода IPFW :freebsd-ipfw-url: https://lists.FreeBSD.org/subscription/freebsd-ipfw :freebsd-ipfw: {freebsd-ipfw-url}[{freebsd-ipfw-desc}] :freebsd-isdn-desc: Список рассылки FreeBSD, посвящённый поддержке ISDN :freebsd-isdn-url: https://lists.FreeBSD.org/subscription/freebsd-isdn :freebsd-isdn: {freebsd-isdn-url}[{freebsd-isdn-desc}] :freebsd-isp-desc: Список рассылки, посвящённый использованию FreeBSD у провайдеров Интернет услуг (ISP) :freebsd-isp-url: https://lists.FreeBSD.org/subscription/freebsd-isp :freebsd-isp: {freebsd-isp-url}[{freebsd-isp-desc}] :freebsd-jail-desc: Список рассылки FreeBSD jail :freebsd-jail-url: https://lists.FreeBSD.org/subscription/freebsd-jail :freebsd-jail: {freebsd-jail-url}[{freebsd-jail-desc}] :freebsd-java-desc: Список рассылки, посвящённый поддержке Java во FreeBSD :freebsd-java-url: https://lists.FreeBSD.org/subscription/freebsd-java :freebsd-java: {freebsd-java-url}[{freebsd-java-desc}] :freebsd-jobs-desc: Список рассылки FreeBSD, посвящённый найму на работу :freebsd-jobs-url: https://lists.FreeBSD.org/subscription/freebsd-jobs :freebsd-jobs: {freebsd-jobs-url}[{freebsd-jobs-desc}] :freebsd-kde-desc: Список рассылки, посвящённый поддержке KDE/Qt and KDE приложений в FreeBSD :freebsd-kde-url: https://mail.kde.org/mailman/listinfo/kde-freebsd :freebsd-kde: {freebsd-kde-url}[{freebsd-kde-desc}] :freebsd-lfs-desc: Список рассылки, посвящённый портированию LFS на FreeBSD :freebsd-lfs-url: https://lists.FreeBSD.org/subscription/freebsd-lfs :freebsd-lfs: {freebsd-lfs-url}[{freebsd-lfs-desc}] :freebsd-libh-desc: Список рассылки, посвящённый системе установки и управления пакетами во FreeBSD :freebsd-libh-url: https://lists.FreeBSD.org/subscription/freebsd-libh :freebsd-libh: {freebsd-libh-url}[{freebsd-libh-desc}] :freebsd-mips-desc: Список рассылки, посвящённый портированию FreeBSD на архитектуру MIPS :freebsd-mips-url: https://lists.FreeBSD.org/subscription/freebsd-mips :freebsd-mips: {freebsd-mips-url}[{freebsd-mips-desc}] :mirror-announce-desc: Администраторы зеркальных сайтов FreeBSD :mirror-announce-url: https://lists.FreeBSD.org/subscription/mirror-announce :mirror-announce: {mirror-announce-url}[{mirror-announce-desc}] :freebsd-mobile-desc: Список рассылки FreeBSD, посвящённый переносным компьютерам :freebsd-mobile-url: https://lists.FreeBSD.org/subscription/freebsd-mobile :freebsd-mobile: {freebsd-mobile-url}[{freebsd-mobile-desc}] :freebsd-mono-desc: Mono and C# приложения на FreeBSD :freebsd-mono-url: https://lists.FreeBSD.org/subscription/freebsd-mono :freebsd-mono: {freebsd-mono-url}[{freebsd-mono-desc}] :freebsd-mozilla-desc: Список рассылки, посвящённый портированию Mozilla под FreeBSD :freebsd-mozilla-url: https://lists.FreeBSD.org/subscription/freebsd-mozilla :freebsd-mozilla: {freebsd-mozilla-url}[{freebsd-mozilla-desc}] :freebsd-multimedia-desc: Список рассылки, посвящённый поддержке средств мультимедиа под FreeBSD :freebsd-multimedia-url: https://lists.FreeBSD.org/subscription/freebsd-multimedia :freebsd-multimedia: {freebsd-multimedia-url}[{freebsd-multimedia-desc}] :freebsd-net-desc: Список рассылки, посвящённый сетевым возможностям FreeBSD :freebsd-net-url: https://lists.FreeBSD.org/subscription/freebsd-net :freebsd-net: {freebsd-net-url}[{freebsd-net-desc}] :freebsd-newbies-desc: Список рассылки для общения новичков :freebsd-newbies-url: https://lists.FreeBSD.org/subscription/freebsd-newbies :freebsd-newbies: {freebsd-newbies-url}[{freebsd-newbies-desc}] :freebsd-new-bus-desc: Список рассылки, посвящённый архитектуре New Bus во FreeBSD :freebsd-new-bus-url: https://lists.FreeBSD.org/subscription/freebsd-new-bus :freebsd-new-bus: {freebsd-new-bus-url}[{freebsd-new-bus-desc}] :freebsd-office-desc: Офисные приложения во FreeBSD :freebsd-office-url: https://lists.FreeBSD.org/subscription/freebsd-office :freebsd-office: {freebsd-office-url}[{freebsd-office-desc}] :freebsd-performance-desc: Список рассылки, посвящённый оптимизации FreeBSD :freebsd-performance-url: https://lists.FreeBSD.org/subscription/freebsd-performance :freebsd-performance: {freebsd-performance-url}[{freebsd-performance-desc}] :freebsd-perl-desc: Список рассылки, посвящённый FreeBSD Perl :freebsd-perl-url: https://lists.FreeBSD.org/subscription/freebsd-perl :freebsd-perl: {freebsd-perl-url}[{freebsd-perl-desc}] :freebsd-pf-desc: Список рассылки, посвящённый FreeBSD packet filter :freebsd-pf-url: https://lists.FreeBSD.org/subscription/freebsd-pf :freebsd-pf: {freebsd-pf-url}[{freebsd-pf-desc}] :freebsd-platforms-desc: Список рассылки, посвящённый портированию FreeBSD на не-Intel платформы :freebsd-platforms-url: https://lists.FreeBSD.org/subscription/freebsd-platforms :freebsd-platforms: {freebsd-platforms-url}[{freebsd-platforms-desc}] :freebsd-policy-desc: Список рассылки, посвящённый политике и принимаемым решениям Core :freebsd-policy-url: https://lists.FreeBSD.org/subscription/freebsd-policy :freebsd-policy: {freebsd-policy-url}[{freebsd-policy-desc}] :freebsd-ports-desc: Список рассылки, посвящённый Портам FreeBSD :freebsd-ports-url: https://lists.FreeBSD.org/subscription/freebsd-ports :freebsd-ports: {freebsd-ports-url}[{freebsd-ports-desc}] :freebsd-ports-announce-desc: Список рассылки анонсов FreeBSD Ports :freebsd-ports-announce-url: https://lists.FreeBSD.org/subscription/freebsd-ports-announce :freebsd-ports-announce: {freebsd-ports-announce-url}[{freebsd-ports-announce-desc}] :freebsd-ports-bugs-desc: Список рассылки, посвящённый ошибкам в портах FreeBSD :freebsd-ports-bugs-url: https://lists.FreeBSD.org/subscription/freebsd-ports-bugs :freebsd-ports-bugs: {freebsd-ports-bugs-url}[{freebsd-ports-bugs-desc}] :freebsd-ppc-desc: Список рассылки, посвящённый портированию FreeBSD на архитектуру PowerPC :freebsd-ppc-url: https://lists.FreeBSD.org/subscription/freebsd-ppc :freebsd-ppc: {freebsd-ppc-url}[{freebsd-ppc-desc}] :freebsd-proliant-desc: Обсуждение работы FreeBSD на серверной платформе HP ProLiant :freebsd-proliant-url: https://lists.FreeBSD.org/subscription/freebsd-proliant :freebsd-proliant: {freebsd-proliant-url}[{freebsd-proliant-desc}] :freebsd-python-desc: Список рассылки, посвящённый улучшению поддержки языка Python во FreeBSD :freebsd-python-url: https://lists.FreeBSD.org/subscription/freebsd-python :freebsd-python: {freebsd-python-url}[{freebsd-python-desc}] :freebsd-questions-desc: Список рассылки, посвящённый вопросам и ответам пользователей FreeBSD :freebsd-questions-url: https://lists.FreeBSD.org/subscription/freebsd-questions :freebsd-questions: {freebsd-questions-url}[{freebsd-questions-desc}] :freebsd-rc-desc: Список рассылки, посвящённый загрузочным скриптам во FreeBSD :freebsd-rc-url: https://lists.FreeBSD.org/subscription/freebsd-rc :freebsd-rc: {freebsd-rc-url}[{freebsd-rc-desc}] :freebsd-realtime-desc: Список рассылки, посвящённый realtime-расширениям FreeBSD :freebsd-realtime-url: https://lists.FreeBSD.org/subscription/freebsd-realtime :freebsd-realtime: {freebsd-realtime-url}[{freebsd-realtime-desc}] :freebsd-ruby-desc: Список рассылки, посвящённый FreeBSD Ruby :freebsd-ruby-url: https://lists.FreeBSD.org/subscription/freebsd-ruby :freebsd-ruby: {freebsd-ruby-url}[{freebsd-ruby-desc}] :freebsd-scsi-desc: Список рассылки, посвящённый обсуждению подсистемы SCSI во FreeBSD :freebsd-scsi-url: https://lists.FreeBSD.org/subscription/freebsd-scsi :freebsd-scsi: {freebsd-scsi-url}[{freebsd-scsi-desc}] :freebsd-security-desc: Список рассылки FreeBSD, посвящённый информационной безопасности :freebsd-security-url: https://lists.FreeBSD.org/subscription/freebsd-security :freebsd-security: {freebsd-security-url}[{freebsd-security-desc}] :freebsd-security-notifications-desc: Список рассылки FreeBSD, посвящённый срочным сообщениям, связанным с безопасностью :freebsd-security-notifications-url: https://lists.FreeBSD.org/subscription/freebsd-security-notifications :freebsd-security-notifications: {freebsd-security-notifications-url}[{freebsd-security-notifications-desc}] :freebsd-small-desc: Список рассылки, посвящённый малым и встроенным системам, созданным на базе FreeBSD :freebsd-small-url: https://lists.FreeBSD.org/subscription/freebsd-small :freebsd-small: {freebsd-small-url}[{freebsd-small-desc}] :freebsd-sparc64-desc: Список рассылки, посвящённый портированию FreeBSD на архитектуру SPARC :freebsd-sparc64-url: https://lists.FreeBSD.org/subscription/freebsd-sparc64 :freebsd-sparc64: {freebsd-sparc64-url}[{freebsd-sparc64-desc}] :freebsd-stable-desc: Список рассылки, посвящённый обсуждению FreeBSD-STABLE; :freebsd-stable-url: https://lists.FreeBSD.org/subscription/freebsd-stable :freebsd-stable: {freebsd-stable-url}[{freebsd-stable-desc}] :freebsd-standards-desc: Список рассылки, посвящённый поддержке стандартов C99 и POSIX во FreeBSD :freebsd-standards-url: https://lists.FreeBSD.org/subscription/freebsd-standards :freebsd-standards: {freebsd-standards-url}[{freebsd-standards-desc}] :freebsd-sun4v-desc: Список рассылки, посвящённый портированию FreeBSD на sun4v :freebsd-sun4v-url: https://lists.FreeBSD.org/subscription/freebsd-sun4v :freebsd-sun4v: {freebsd-sun4v-url}[{freebsd-sun4v-desc}] :svn-src-all-desc: Список рассылки сообщений об изменениях в репозитории SVN для всего дерева исходных текстов (за исключением user и projects) :svn-src-all-url: https://lists.FreeBSD.org/subscription/svn-src-all :svn-src-all: {svn-src-all-url}[{svn-src-all-desc}] :svn-src-head-desc: Список рассылки сообщений об изменениях в репозитории SVN для ветки head/-current дерева исходных текстов :svn-src-head-url: https://lists.FreeBSD.org/subscription/svn-src-head :svn-src-head: {svn-src-head-url}[{svn-src-head-desc}] :svn-src-projects-desc: Список рассылки сообщений об изменениях в репозитории SVN в части projects дерева исходных текстов :svn-src-projects-url: https://lists.FreeBSD.org/subscription/svn-src-projects :svn-src-projects: {svn-src-projects-url}[{svn-src-projects-desc}] :svn-src-release-desc: Список рассылки сообщений об изменениях в репозитории SVN в части release дерева исходных текстов :svn-src-release-url: https://lists.FreeBSD.org/subscription/svn-src-release :svn-src-release: {svn-src-release-url}[{svn-src-release-desc}] :svn-src-releng-desc: Список рассылки сообщений об изменениях в репозитории SVN в части releng / security дерева исходных текстов :svn-src-releng-url: https://lists.FreeBSD.org/subscription/svn-src-releng :svn-src-releng: {svn-src-releng-url}[{svn-src-releng-desc}] :svn-src-stable-desc: Список рассылки сообщений об изменениях в репозитории SVN для всех веток -stable дерева исходных текстов :svn-src-stable-url: https://lists.FreeBSD.org/subscription/svn-src-stable :svn-src-stable: {svn-src-stable-url}[{svn-src-stable-desc}] :svn-src-stable-6-desc: Список рассылки сообщений об изменениях в репозитории SVN для ветки 6-stable дерева исходных текстов :svn-src-stable-6-url: https://lists.FreeBSD.org/subscription/svn-src-stable-6 :svn-src-stable-6: {svn-src-stable-6-url}[{svn-src-stable-6-desc}] :svn-src-stable-7-desc: Список рассылки сообщений об изменениях в репозитории SVN для ветки 7-stable дерева исходных текстов :svn-src-stable-7-url: https://lists.FreeBSD.org/subscription/svn-src-stable-7 :svn-src-stable-7: {svn-src-stable-7-url}[{svn-src-stable-7-desc}] :svn-src-stable-8-desc: Список рассылки сообщений об изменениях в репозитории SVN для ветки 8-stable дерева исходных текстов :svn-src-stable-8-url: https://lists.FreeBSD.org/subscription/svn-src-stable-8 :svn-src-stable-8: {svn-src-stable-8-url}[{svn-src-stable-8-desc}] :svn-src-stable-9-desc: Список рассылки сообщений об изменениях в репозитории SVN для ветки 9-stable дерева исходных текстов :svn-src-stable-9-url: https://lists.FreeBSD.org/subscription/svn-src-stable-9 :svn-src-stable-9: {svn-src-stable-9-url}[{svn-src-stable-9-desc}] :svn-src-stable-10-desc: Список рассылки сообщений об изменениях в репозитории SVN для ветки 10-stable дерева исходных текстов :svn-src-stable-10-url: https://lists.FreeBSD.org/subscription/svn-src-stable-10 :svn-src-stable-10: {svn-src-stable-10-url}[{svn-src-stable-10-desc}] :svn-src-stable-other-desc: Список рассылки сообщений об изменениях в репозитории SVN для предыдущих stable веток дерева исходных текстов :svn-src-stable-other-url: https://lists.FreeBSD.org/subscription/svn-src-stable-other :svn-src-stable-other: {svn-src-stable-other-url}[{svn-src-stable-other-desc}] :svn-src-svnadmin-desc: Список рассылки сообщений об изменениях в репозитории SVN для части admin / configuration :svn-src-svnadmin-url: https://lists.FreeBSD.org/subscription/svn-src-svnadmin :svn-src-svnadmin: {svn-src-svnadmin-url}[{svn-src-svnadmin-desc}] :svn-src-user-desc: Список рассылки сообщений об изменениях в репозитории SVN для экспериментальной части user дерева исходных текстов :svn-src-user-url: https://lists.FreeBSD.org/subscription/svn-src-user :svn-src-user: {svn-src-user-url}[{svn-src-user-desc}] :svn-src-vendor-desc: Список рассылки сообщений об изменениях в репозитории SVN для части дерева, выделенного для работы поставщиков (vendor work area) :svn-src-vendor-url: https://lists.FreeBSD.org/subscription/svn-src-vendor :svn-src-vendor: {svn-src-vendor-url}[{svn-src-vendor-desc}] :freebsd-sysinstall-desc: Список рассылки, посвященный разработке sysinstall :freebsd-sysinstall-url: https://lists.FreeBSD.org/subscription/freebsd-sysinstall :freebsd-sysinstall: {freebsd-sysinstall-url}[{freebsd-sysinstall-desc}] :freebsd-test-desc: Тестовый список рассылки FreeBSD :freebsd-test-url: https://lists.FreeBSD.org/subscription/freebsd-test :freebsd-test: {freebsd-test-url}[{freebsd-test-desc}] :freebsd-testing-desc: Список рассылки, посвящённый оптимизации и тестированию FreeBSD :freebsd-testing-url: https://lists.FreeBSD.org/subscription/freebsd-testing :freebsd-testing: {freebsd-testing-url}[{freebsd-testing-desc}] :freebsd-threads-desc: Список рассылки, посвящённый поддержке многопоточности в FreeBSD :freebsd-threads-url: https://lists.FreeBSD.org/subscription/freebsd-threads :freebsd-threads: {freebsd-threads-url}[{freebsd-threads-desc}] :freebsd-tilera-desc: Список рассылки, посвящённый вопросам портирования FreeBSD на процессоры Tilera :freebsd-tilera-url: https://lists.FreeBSD.org/subscription/freebsd-tilera :freebsd-tilera: {freebsd-tilera-url}[{freebsd-tilera-desc}] :freebsd-tokenring-desc: Список рассылки, посвящённый поддержке TokenRing во FreeBSD :freebsd-tokenring-url: https://lists.FreeBSD.org/subscription/freebsd-tokenring :freebsd-tokenring: {freebsd-tokenring-url}[{freebsd-tokenring-desc}] :freebsd-toolchain-desc: Список рассылки, посвящённый поддержке встроенных инструментальных средств FreeBSD :freebsd-toolchain-url: https://lists.FreeBSD.org/subscription/freebsd-toolchain :freebsd-toolchain: {freebsd-toolchain-url}[{freebsd-toolchain-desc}] :freebsd-usb-desc: Список рассылки, посвященный поддержке USB в FreeBSD :freebsd-usb-url: https://lists.FreeBSD.org/subscription/freebsd-usb :freebsd-usb: {freebsd-usb-url}[{freebsd-usb-desc}] :freebsd-user-groups-desc: Список рассылки, посвящённый координированию пользовательских групп FreeBSD :freebsd-user-groups-url: https://lists.FreeBSD.org/subscription/freebsd-user-groups :freebsd-user-groups: {freebsd-user-groups-url}[{freebsd-user-groups-desc}] :freebsd-vendors-desc: Список рассылки FreeBSD, посвящённый координированию работы сторонних производителей :freebsd-vendors-url: https://lists.FreeBSD.org/subscription/freebsd-vendors :freebsd-vendors: {freebsd-vendors-url}[{freebsd-vendors-desc}] :freebsd-virtualization-desc: Список рассылки, посвящённый обсуждению различных техник виртуализации, поддерживаемых FreeBSD :freebsd-virtualization-url: https://lists.FreeBSD.org/subscription/freebsd-virtualization :freebsd-virtualization: {freebsd-virtualization-url}[{freebsd-virtualization-desc}] :freebsd-vuxml-desc: Обсуждение инфраструктуры VuXML :freebsd-vuxml-url: Обсуждение инфраструктуры VuXML :freebsd-vuxml: {freebsd-vuxml-url}[{freebsd-vuxml-desc}] :freebsd-wip-status-desc: Список рассылки, предназначенный для анонсов статуса начатых работ над FreeBSD (Work-In-Progress Status) :freebsd-wip-status-url: https://lists.FreeBSD.org/subscription/freebsd-wip-status :freebsd-wip-status: {freebsd-wip-status-url}[{freebsd-wip-status-desc}] :freebsd-wireless-desc: Обсуждение разработки стека 802.11, утилит, драйверов устройств :freebsd-wireless-url: https://lists.FreeBSD.org/subscription/freebsd-wireless :freebsd-wireless: {freebsd-wireless-url}[{freebsd-wireless-desc}] :freebsd-www-desc: Вебмастеры сайта www.FreeBSD.org :freebsd-www-url: https://lists.FreeBSD.org/subscription/freebsd-www :freebsd-www: {freebsd-www-url}[{freebsd-www-desc}] :freebsd-x11-desc: Список рассылки FreeBSD, посвящённый X11 :freebsd-x11-url: https://lists.FreeBSD.org/subscription/freebsd-x11 :freebsd-x11: {freebsd-x11-url}[{freebsd-x11-desc}] :freebsd-xen-desc: Список рассылки, посвящённый вопросам портирования FreeBSD на Xen :freebsd-xen-url: https://lists.FreeBSD.org/subscription/freebsd-xen :freebsd-xen: {freebsd-xen-url}[{freebsd-xen-desc}] :committers-name: Список рассылки коммиттеров FreeBSD :committers: {committers-name} :core-name: FreeBSD Core :core: {core-name} :developers-name: Список рассылки разработчиков FreeBSD :developers: {committers-developers} :doc-committers-name: Список рассылки коммиттеров документации FreeBSD :doc-committers: {doc-committers-name} :doc-developers-name: Список рассылки разработчиков документации FreeBSD :doc-developers: {doc-developers-name} :ports-committers-name: Список рассылки коммиттеров портов FreeBSD :ports-committers: {ports-committers-name} :ports-developers-name: Список рассылки разработчиков портов FreeBSD :ports-developers: {ports-developers-name} :src-committers-name: Список рассылки коммиттеров исходных текстов FreeBSD :src-committers: {src-committers-name} :src-developers-name: Список рассылки разработчиков FreeBSD :src-developers: {src-developers-name} // Не списки рассылки :bugfollowup: bug-followup@FreeBSD.org :bugsubmit: {bugfollowup} :majordomo: majordomo@FreeBSD.org // FRDP related mailing lists :ru-doc-desc: Список рассылки Проекта Русской Документации FreeBSD :ru-doc-email: frdp@FreeBSD.org.ua :ru-doc: {ru-doc-email}[{ru-doc-desc}] // The following mailinglists are deactivated. Keep them until all references // in the documentation are gone. :freebsd-alpha-desc: Список рассылки, посвящённый поддержке FreeBSD на архитектуре Alpha :freebsd-alpha-url: https://lists.FreeBSD.org/subscription/freebsd-alpha :freebsd-alpha: {freebsd-alpha-url}[{freebsd-alpha-desc}] :freebsd-qa-desc: Список рассылки, посвящённый контролю качества FreeBSD :freebsd-qa-url: https://lists.FreeBSD.org/subscription/freebsd-qa :freebsd-qa: {freebsd-qa-url}[{freebsd-qa-desc}] :freebsd-smp-desc: Список рассылки, посвящённый поддержке многопроцессорности (SMP) во FreeBSD :freebsd-smp-url: https://lists.FreeBSD.org/subscription/freebsd-smp :freebsd-smp: {freebsd-smp-url}[{freebsd-smp-desc}] diff --git a/shared/tr/mailing-lists.adoc b/shared/tr/mailing-lists.adoc index 1c125ea9a2..7094a5f453 100644 --- a/shared/tr/mailing-lists.adoc +++ b/shared/tr/mailing-lists.adoc @@ -1,678 +1,678 @@ // // Names of FreeBSD mailing lists and related software. // $FreeBSD$ // -:mailman-lists-desc: FreeBSD list server -:mailman-lists-url: https://lists.freebsd.org -:mailman-lists: {mailman-lists-url}[{mailman-lists-desc}] +:mailing-lists-desc: FreeBSD list server +:mailing-lists-url: https://lists.freebsd.org +:mailing-lists: {mailing-lists-url}[{mailing-lists-desc}] :freebsd-acpi-desc: FreeBSD ACPI mailing list :freebsd-acpi-url: https://lists.FreeBSD.org/subscription/freebsd-acpi :freebsd-acpi: {freebsd-acpi-url}[{freebsd-acpi-desc}] :freebsd-advocacy-desc: FreeBSD advocacy mailing list :freebsd-advocacy-url: https://lists.FreeBSD.org/subscription/freebsd-advocacy :freebsd-advocacy: {freebsd-advocacy-url}[{freebsd-advocacy-desc}] :freebsd-aic7xxx-desc: FreeBSD Adaptec AIC7xxx discussions mailing list :freebsd-aic7xxx-url: https://lists.FreeBSD.org/subscription/aic7xxx :freebsd-aic7xxx: {freebsd-aic7xxx-url}[{freebsd-aic7xxx-desc}] :freebsd-amd64-desc: Porting FreeBSD to AMD64 systems :freebsd-amd64-url: https://lists.FreeBSD.org/subscription/freebsd-amd64 :freebsd-amd64: {freebsd-amd64-url}[{freebsd-amd64-desc}] :freebsd-announce-desc: FreeBSD announcements mailing list :freebsd-announce-url: https://lists.FreeBSD.org/subscription/freebsd-announce :freebsd-announce: {freebsd-announce-url}[{freebsd-announce-desc}] :freebsd-apache-desc: FreeBSD Apache mailing list :freebsd-apache-url: https://lists.FreeBSD.org/subscription/freebsd-apache :freebsd-apache: {freebsd-apache-url}[{freebsd-apache-desc}] :freebsd-arch-desc: FreeBSD architecture and design mailing list :freebsd-arch-url: https://lists.FreeBSD.org/subscription/freebsd-arch :freebsd-arch: {freebsd-arch-url}[{freebsd-arch-desc}] :freebsd-arm-desc: FreeBSD ARM porting mailing list :freebsd-arm-url: https://lists.FreeBSD.org/subscription/freebsd-arm :freebsd-arm: {freebsd-arm-url}[{freebsd-arm-desc}] :freebsd-atm-desc: FreeBSD ATM networking mailing list :freebsd-atm-url: https://lists.FreeBSD.org/subscription/freebsd-atm :freebsd-atm: {freebsd-atm-url}[{freebsd-atm-desc}] :freebsd-bluetooth-desc: FreeBSD Bluetooth mailing list :freebsd-bluetooth-url: https://lists.FreeBSD.org/subscription/freebsd-bluetooth :freebsd-bluetooth: {freebsd-bluetooth-url}[{freebsd-bluetooth-desc}] :freebsd-bugbusters-desc: FreeBSD bugbusters mailing list :freebsd-bugbusters-url: https://lists.FreeBSD.org/subscription/freebsd-bugbusters :freebsd-bugbusters: {freebsd-bugbusters-url}[{freebsd-bugbusters-desc}] :freebsd-bugs-desc: FreeBSD problem reports mailing list :freebsd-bugs-url: https://lists.FreeBSD.org/subscription/freebsd-bugs :freebsd-bugs: {freebsd-bugs-url}[{freebsd-bugs-desc}] :freebsd-chat-desc: FreeBSD chat mailing list :freebsd-chat-url: https://lists.FreeBSD.org/subscription/freebsd-chat :freebsd-chat: {freebsd-chat-url}[{freebsd-chat-desc}] :freebsd-chromium-desc: FreeBSD-specific Chromium issues :freebsd-chromium-url: https://lists.FreeBSD.org/subscription/freebsd-chromium :freebsd-chromium: {freebsd-chromium-url}[{freebsd-chromium-desc}] :freebsd-cloud-desc: FreeBSD on cloud platforms (EC2, GCE, Azure, etc.) :freebsd-cloud-url: https://lists.FreeBSD.org/subscription/freebsd-cloud :freebsd-cloud: {freebsd-cloud-url}[{freebsd-cloud-desc}] :freebsd-cluster-desc: FreeBSD clustering mailing list :freebsd-cluster-url: https://lists.FreeBSD.org/subscription/freebsd-cluster :freebsd-cluster: {freebsd-cluster-url}[{freebsd-cluster-desc}] :freebsd-current-desc: FreeBSD-CURRENT mailing list :freebsd-current-url: https://lists.FreeBSD.org/subscription/freebsd-current :freebsd-current: {freebsd-current-url}[{freebsd-current-desc}] :ctm-announce-desc: CTM announcements :ctm-announce-url: https://lists.FreeBSD.org/subscription/ctm-announce :ctm-announce: {ctm-announce-url}[{ctm-announce-desc}] :ctm-src-4-desc: CTM 4-STABLE src branch distribution mailing list :ctm-src-4-url: https://lists.FreeBSD.org/subscription/ctm-src-4 :ctm-src-4: {ctm-src-4-url}[{ctm-src-4-desc}] :ctm-src-5-desc: CTM 5-STABLE src branch distribution mailing list :ctm-src-5-url: https://lists.FreeBSD.org/subscription/ctm-src-5 :ctm-src-5: {ctm-src-5-url}[{ctm-src-5-desc}] :ctm-src-6-desc: CTM 6-STABLE src branch distribution mailing list :ctm-src-6-url: https://lists.FreeBSD.org/subscription/ctm-src-6 :ctm-src-6: {ctm-src-6-url}[{ctm-src-6-desc}] :ctm-src-7-desc: CTM 7-STABLE src branch distribution mailing list :ctm-src-7-url: https://lists.FreeBSD.org/subscription/ctm-src-7 :ctm-src-7: {ctm-src-7-url}[{ctm-src-7-desc}] :ctm-src-8-desc: CTM 8-STABLE src branch distribution mailing list :ctm-src-8-url: https://lists.FreeBSD.org/subscription/ctm-src-8 :ctm-src-8: {ctm-src-8-url}[{ctm-src-8-desc}] :ctm-src-9-desc: CTM 9-STABLE src branch distribution mailing list :ctm-src-9-url: https://lists.FreeBSD.org/subscription/ctm-src-9 :ctm-src-9: {ctm-src-9-url}[{ctm-src-9-desc}] :ctm-src-10-desc: CTM 10-STABLE src branch distribution mailing list :ctm-src-10-url: https://lists.FreeBSD.org/subscription/ctm-src-10 :ctm-src-10: {ctm-src-10-url}[{ctm-src-10-desc}] :ctm-src-cur-desc: CTM -CURRENT src branch distribution mailing list :ctm-src-cur-url: https://lists.FreeBSD.org/subscription/ctm-src-cur :ctm-src-cur: {ctm-src-cur-url}[{ctm-src-cur-desc}] :ctm-users-desc: CTM user discussion mailing list :ctm-users-url: https://lists.FreeBSD.org/subscription/ctm-users :ctm-users: {ctm-users-url}[{ctm-users-desc}] :cvs-all-desc: FreeBSD CVS commit message mailing list :cvs-all-url: https://lists.FreeBSD.org/subscription/cvs-all :cvs-all: {cvs-all-url}[{cvs-all-desc}] :cvs-doc-desc: FreeBSD CVS doc commit list :cvs-doc-url: https://lists.FreeBSD.org/subscription/cvs-doc :cvs-doc: {cvs-doc-url}[{cvs-doc-desc}] :cvs-ports-desc: FreeBSD CVS ports commit list :cvs-ports-url: https://lists.FreeBSD.org/subscription/cvs-ports :cvs-ports: {cvs-ports-url}[{cvs-ports-desc}] :cvs-projects-desc: FreeBSD CVS projects commit list :cvs-projects-url: https://lists.FreeBSD.org/subscription/cvs-projects :cvs-projects: {cvs-projects-url}[{cvs-projects-desc}] :cvs-src-desc: FreeBSD CVS src commit list :cvs-src-url: https://lists.FreeBSD.org/subscription/cvs-src :cvs-src: {cvs-src-url}[{cvs-src-desc}] :freebsd-database-desc: FreeBSD based Databases mailing list :freebsd-database-url: https://lists.FreeBSD.org/subscription/freebsd-database :freebsd-database: {freebsd-database-url}[{freebsd-database-desc}] :freebsd-desktop-desc: Using and improving FreeBSD on the desktop :freebsd-desktop-url: https://lists.FreeBSD.org/subscription/freebsd-desktop :freebsd-desktop: {freebsd-desktop-url}[{freebsd-desktop-desc}] :dev-ci-desc: Automated reports of build and test results from FreeBSD's continuous integration tools. :dev-ci-url: https://lists.FreeBSD.org/subscription/dev-ci :dev-ci: {dev-ci-url}[{dev-ci-desc}] :dev-reviews-desc: Automated notifications of work in progress for review in FreeBSD's review tools, including patches.. :dev-reviews-url: https://lists.FreeBSD.org/subscription/dev-reviews :dev-reviews: {dev-reviews-url}[{dev-reviews-desc}] :freebsd-doc-desc: FreeBSD documentation project mailing list :freebsd-doc-url: https://lists.FreeBSD.org/subscription/freebsd-doc :freebsd-doc: {freebsd-doc-url}[{freebsd-doc-desc}] :freebsd-drivers-desc: Writing device drivers for FreeBSD :freebsd-drivers-url: https://lists.FreeBSD.org/subscription/freebsd-drivers :freebsd-drivers: {freebsd-drivers-url}[{freebsd-drivers-desc}] :freebsd-dtrace-desc: Using and working on DTrace in FreeBSD. :freebsd-dtrace-url: https://lists.FreeBSD.org/subscription/freebsd-dtrace :freebsd-dtrace: {freebsd-dtrace-url}[{freebsd-dtrace-desc}] :freebsd-eclipse-desc: FreeBSD users of Eclipse IDE, tools, rich client applications and ports :freebsd-eclipse-url: https://lists.FreeBSD.org/subscription/freebsd-eclipse :freebsd-eclipse: {freebsd-eclipse-url}[{freebsd-eclipse-desc}] :freebsd-elastic-desc: FreeBSD specific ElasticSearch mailing list :freebsd-elastic-url: https://lists.FreeBSD.org/subscription/freebsd-elastic :freebsd-elastic: {freebsd-elastic-url}[{freebsd-elastic-desc}] :freebsd-embedded-desc: FreeBSD-embedded mailing list :freebsd-embedded-url: https://lists.FreeBSD.org/subscription/freebsd-embedded :freebsd-embedded: {freebsd-embedded-url}[{freebsd-embedded-desc}] :freebsd-emulation-desc: FreeBSD-emulation mailing list :freebsd-emulation-url: https://lists.FreeBSD.org/subscription/freebsd-emulation :freebsd-emulation: {freebsd-emulation-url}[{freebsd-emulation-desc}] :freebsd-enlightenment-desc: FreeBSD-enlightenment mailing list :freebsd-enlightenment-url: https://lists.FreeBSD.org/subscription/freebsd-enlightenment :freebsd-enlightenment: {freebsd-enlightenment-url}[{freebsd-enlightenment-desc}] :freebsd-eol-desc: FreeBSD-eol mailing list :freebsd-eol-url: https://lists.FreeBSD.org/subscription/freebsd-eol :freebsd-eol: {freebsd-eol-url}[{freebsd-eol-desc}] :freebsd-erlang-desc: FreeBSD-erlang mailing list :freebsd-erlang-url: https://lists.FreeBSD.org/subscription/freebsd-erlang :freebsd-erlang: {freebsd-erlang-url}[{freebsd-erlang-desc}] :freebsd-firewire-desc: FreeBSD FireWire (IEEE 1394) discussion mailing list :freebsd-firewire-url: https://lists.FreeBSD.org/subscription/freebsd-firewire :freebsd-firewire: {freebsd-firewire-url}[{freebsd-firewire-desc}] :freebsd-fortran-desc: Fortran on FreeBSD mailing list :freebsd-fortran-url: https://lists.FreeBSD.org/subscription/freebsd-fortran :freebsd-fortran: {freebsd-fortran-url}[{freebsd-fortran-desc}] :freebsd-fs-desc: FreeBSD file system project mailing list :freebsd-fs-url: https://lists.FreeBSD.org/subscription/freebsd-fs :freebsd-fs: {freebsd-fs-url}[{freebsd-fs-desc}] :freebsd-games-desc: Games on FreeBSD mailing list :freebsd-games-url: https://lists.FreeBSD.org/subscription/freebsd-games :freebsd-games: {freebsd-games-url}[{freebsd-games-desc}] :freebsd-gecko-desc: FreeBSD gecko mailing list :freebsd-gecko-url: https://lists.FreeBSD.org/subscription/freebsd-gecko :freebsd-gecko: {freebsd-gecko-url}[{freebsd-gecko-desc}] :freebsd-geom-desc: FreeBSD GEOM mailing list :freebsd-geom-url: https://lists.FreeBSD.org/subscription/freebsd-geom :freebsd-geom: {freebsd-geom-url}[{freebsd-geom-desc}] :freebsd-git-desc: Discussion of git use in the FreeBSD project :freebsd-git-url: https://lists.FreeBSD.org/subscription/freebsd-git :freebsd-git: {freebsd-git-url}[{freebsd-git-desc}] :freebsd-gnome-desc: FreeBSD GNOME and GNOME applications mailing list :freebsd-gnome-url: https://lists.FreeBSD.org/subscription/freebsd-gnome :freebsd-gnome: {freebsd-gnome-url}[{freebsd-gnome-desc}] :freebsd-hackers-desc: FreeBSD technical discussions mailing list :freebsd-hackers-url: https://lists.FreeBSD.org/subscription/freebsd-hackers :freebsd-hackers: {freebsd-hackers-url}[{freebsd-hackers-desc}] :freebsd-haskell-desc: FreeBSD-specific Haskell issues and discussions :freebsd-haskell-url: https://lists.FreeBSD.org/subscription/freebsd-haskell :freebsd-haskell: {freebsd-haskell-url}[{freebsd-haskell-desc}] :freebsd-hardware-desc: FreeBSD hardware and equipment mailing list :freebsd-hardware-url: https://lists.FreeBSD.org/subscription/freebsd-hardware :freebsd-hardware: {freebsd-hardware-url}[{freebsd-hardware-desc}] :freebsd-hubs-desc: FreeBSD mirror sites mailing lists :freebsd-hubs-url: https://lists.FreeBSD.org/subscription/freebsd-hubs :freebsd-hubs: {freebsd-hubs-url}[{freebsd-hubs-desc}] :freebsd-i18n-desc: FreeBSD internationalization mailing list :freebsd-i18n-url: https://lists.FreeBSD.org/subscription/freebsd-i18n :freebsd-i18n: {freebsd-i18n-url}[{freebsd-i18n-desc}] :freebsd-i386-desc: FreeBSD i386-specific issues mailing list :freebsd-i386-url: https://lists.FreeBSD.org/subscription/freebsd-i386 :freebsd-i386: {freebsd-i386-url}[{freebsd-i386-desc}] :freebsd-infiniband-desc: Infiniband on FreeBSD :freebsd-infiniband-url: https://lists.FreeBSD.org/subscription/freebsd-infiniband :freebsd-infiniband: {freebsd-infiniband-url}[{freebsd-infiniband-desc}] :freebsd-ipfw-desc: FreeBSD IPFW code mailing list :freebsd-ipfw-url: https://lists.FreeBSD.org/subscription/freebsd-ipfw :freebsd-ipfw: {freebsd-ipfw-url}[{freebsd-ipfw-desc}] :freebsd-isdn-desc: FreeBSD ISDN mailing list :freebsd-isdn-url: https://lists.FreeBSD.org/subscription/freebsd-isdn :freebsd-isdn: {freebsd-isdn-url}[{freebsd-isdn-desc}] :freebsd-isp-desc: FreeBSD Internet service provider's mailing list :freebsd-isp-url: https://lists.FreeBSD.org/subscription/freebsd-isp :freebsd-isp: {freebsd-isp-url}[{freebsd-isp-desc}] :freebsd-jail-desc: FreeBSD jails mailing list :freebsd-jail-url: https://lists.FreeBSD.org/subscription/freebsd-jail :freebsd-jail: {freebsd-jail-url}[{freebsd-jail-desc}] :freebsd-java-desc: FreeBSD Java Language mailing list :freebsd-java-url: https://lists.FreeBSD.org/subscription/freebsd-java :freebsd-java: {freebsd-java-url}[{freebsd-java-desc}] :freebsd-jobs-desc: FreeBSD related employment mailing list :freebsd-jobs-url: https://lists.FreeBSD.org/subscription/freebsd-jobs :freebsd-jobs: {freebsd-jobs-url}[{freebsd-jobs-desc}] :freebsd-kde-desc: FreeBSD KDE/Qt and KDE applications mailing list :freebsd-kde-url: https://mail.kde.org/mailman/listinfo/kde-freebsd :freebsd-kde: {freebsd-kde-url}[{freebsd-kde-desc}] :freebsd-lfs-desc: FreeBSD LFS porting mailing list :freebsd-lfs-url: https://lists.FreeBSD.org/subscription/freebsd-lfs :freebsd-lfs: {freebsd-lfs-url}[{freebsd-lfs-desc}] :freebsd-mips-desc: FreeBSD MIPS porting mailing list :freebsd-mips-url: https://lists.FreeBSD.org/subscription/freebsd-mips :freebsd-mips: {freebsd-mips-url}[{freebsd-mips-desc}] :mirror-announce-desc: FreeBSD mirror site administrators :mirror-announce-url: https://lists.FreeBSD.org/subscription/mirror-announce :mirror-announce: {mirror-announce-url}[{mirror-announce-desc}] :freebsd-mono-desc: Mono and C# applications on FreeBSD :freebsd-mono-url: https://lists.FreeBSD.org/subscription/freebsd-mono :freebsd-mono: {freebsd-mono-url}[{freebsd-mono-desc}] :freebsd-multimedia-desc: FreeBSD multimedia mailing list :freebsd-multimedia-url: https://lists.FreeBSD.org/subscription/freebsd-multimedia :freebsd-multimedia: {freebsd-multimedia-url}[{freebsd-multimedia-desc}] :freebsd-net-desc: FreeBSD networking mailing list :freebsd-net-url: https://lists.FreeBSD.org/subscription/freebsd-net :freebsd-net: {freebsd-net-url}[{freebsd-net-desc}] :freebsd-newbies-desc: FreeBSD new users mailing list :freebsd-newbies-url: https://lists.FreeBSD.org/subscription/freebsd-newbies :freebsd-newbies: {freebsd-newbies-url}[{freebsd-newbies-desc}] :freebsd-new-bus-desc: FreeBSD new-bus mailing list :freebsd-new-bus-url: https://lists.FreeBSD.org/subscription/freebsd-new-bus :freebsd-new-bus: {freebsd-new-bus-url}[{freebsd-new-bus-desc}] :freebsd-numerics-desc: Discussions of high quality implementation of libm functions :freebsd-numerics-url: https://lists.FreeBSD.org/subscription/freebsd-numerics :freebsd-numerics: {freebsd-numerics-url}[{freebsd-numerics-desc}] :freebsd-ocaml-desc: FreeBSD-specific OCaml discussions :freebsd-ocaml-url: https://lists.FreeBSD.org/subscription/freebsd-ocaml :freebsd-ocaml: {freebsd-ocaml-url}[{freebsd-ocaml-desc}] :freebsd-office-desc: Office applications on FreeBSD :freebsd-office-url: https://lists.FreeBSD.org/subscription/freebsd-office :freebsd-office: {freebsd-office-url}[{freebsd-office-desc}] :freebsd-ops-announce-desc: Project Infrastructure Announcements :freebsd-ops-announce-url: https://lists.FreeBSD.org/subscription/freebsd-ops-announce :freebsd-ops-announce: {freebsd-ops-announce-url}[{freebsd-ops-announce-desc}] :freebsd-performance-desc: FreeBSD performance mailing list :freebsd-performance-url: https://lists.FreeBSD.org/subscription/freebsd-performance :freebsd-performance: {freebsd-performance-url}[{freebsd-performance-desc}] :freebsd-perl-desc: FreeBSD Perl mailing list :freebsd-perl-url: https://lists.FreeBSD.org/subscription/freebsd-perl :freebsd-perl: {freebsd-perl-url}[{freebsd-perl-desc}] :freebsd-pf-desc: FreeBSD packet filter mailing list :freebsd-pf-url: https://lists.FreeBSD.org/subscription/freebsd-pf :freebsd-pf: {freebsd-pf-url}[{freebsd-pf-desc}] :freebsd-pkg-desc: Binary package management and package tools discussion :freebsd-pkg-url: https://lists.FreeBSD.org/subscription/freebsd-pkg :freebsd-pkg: {freebsd-pkg-url}[{freebsd-pkg-desc}] :freebsd-pkg-fallout-desc: Fallout logs from package building :freebsd-pkg-fallout-url: https://lists.FreeBSD.org/subscription/freebsd-pkg-fallout :freebsd-pkg-fallout: {freebsd-pkg-fallout-url}[{freebsd-pkg-fallout-desc}] :freebsd-pkgbase-desc: Packaging the FreeBSD base system :freebsd-pkgbase-url: https://lists.FreeBSD.org/subscription/freebsd-pkgbase :freebsd-pkgbase: {freebsd-pkgbase-url}[{freebsd-pkgbase-desc}] :freebsd-platforms-desc: FreeBSD non-Intel platforms porting mailing list :freebsd-platforms-url: https://lists.FreeBSD.org/subscription/freebsd-platforms :freebsd-platforms: {freebsd-platforms-url}[{freebsd-platforms-desc}] :freebsd-ports-desc: FreeBSD ports mailing list :freebsd-ports-url: https://lists.FreeBSD.org/subscription/freebsd-ports :freebsd-ports: {freebsd-ports-url}[{freebsd-ports-desc}] :freebsd-ports-announce-desc: FreeBSD ports announce mailing list :freebsd-ports-announce-url: https://lists.FreeBSD.org/subscription/freebsd-ports-announce :freebsd-ports-announce: {freebsd-ports-announce-url}[{freebsd-ports-announce-desc}] :freebsd-ports-bugs-desc: FreeBSD ports bugs mailing list :freebsd-ports-bugs-url: https://lists.FreeBSD.org/subscription/freebsd-ports-bugs :freebsd-ports-bugs: {freebsd-ports-bugs-url}[{freebsd-ports-bugs-desc}] :freebsd-ppc-desc: FreeBSD PowerPC porting mailing list :freebsd-ppc-url: https://lists.FreeBSD.org/subscription/freebsd-ppc :freebsd-ppc: {freebsd-ppc-url}[{freebsd-ppc-desc}] :freebsd-proliant-desc: Technical discussion of FreeBSD on HP ProLiant server platforms :freebsd-proliant-url: https://lists.FreeBSD.org/subscription/freebsd-proliant :freebsd-proliant: {freebsd-proliant-url}[{freebsd-proliant-desc}] :freebsd-python-desc: FreeBSD Python mailing list :freebsd-python-url: https://lists.FreeBSD.org/subscription/freebsd-python :freebsd-python: {freebsd-python-url}[{freebsd-python-desc}] :freebsd-quarterly-calls-desc: Calls for quarterly FreeBSD status reports :freebsd-quarterly-calls-url: https://lists.FreeBSD.org/subscription/freebsd-quarterly-calls :freebsd-quarterly-calls: {freebsd-quarterly-calls-url}[{freebsd-quarterly-calls-desc}] :freebsd-questions-desc: FreeBSD general questions mailing list :freebsd-questions-url: https://lists.FreeBSD.org/subscription/freebsd-questions :freebsd-questions: {freebsd-questions-url}[{freebsd-questions-desc}] :freebsd-rc-desc: FreeBSD boot script system mailing list :freebsd-rc-url: https://lists.FreeBSD.org/subscription/freebsd-rc :freebsd-rc: {freebsd-rc-url}[{freebsd-rc-desc}] :freebsd-realtime-desc: FreeBSD realtime extensions mailing list :freebsd-realtime-url: https://lists.FreeBSD.org/subscription/freebsd-realtime :freebsd-realtime: {freebsd-realtime-url}[{freebsd-realtime-desc}] :freebsd-ruby-desc: FreeBSD Ruby mailing list :freebsd-ruby-url: https://lists.FreeBSD.org/subscription/freebsd-ruby :freebsd-ruby: {freebsd-ruby-url}[{freebsd-ruby-desc}] :freebsd-scsi-desc: FreeBSD SCSI subsystem mailing list :freebsd-scsi-url: https://lists.FreeBSD.org/subscription/freebsd-scsi :freebsd-scsi: {freebsd-scsi-url}[{freebsd-scsi-desc}] :freebsd-security-desc: FreeBSD security mailing list :freebsd-security-url: https://lists.FreeBSD.org/subscription/freebsd-security :freebsd-security: {freebsd-security-url}[{freebsd-security-desc}] :freebsd-security-notifications-desc: FreeBSD security notifications mailing list :freebsd-security-notifications-url: https://lists.FreeBSD.org/subscription/freebsd-security-notifications :freebsd-security-notifications: {freebsd-security-notifications-url}[{freebsd-security-notifications-desc}] :freebsd-snapshots-desc: FreeBSD Development Snapshot Announcements :freebsd-snapshots-url: https://lists.FreeBSD.org/subscription/freebsd-snapshots :freebsd-snapshots: {freebsd-snapshots-url}[{freebsd-snapshots-desc}] :freebsd-sparc64-desc: FreeBSD SPARC porting mailing list :freebsd-sparc64-url: https://lists.FreeBSD.org/subscription/freebsd-sparc64 :freebsd-sparc64: {freebsd-sparc64-url}[{freebsd-sparc64-desc}] :freebsd-stable-desc: FreeBSD-STABLE; mailing list :freebsd-stable-url: https://lists.FreeBSD.org/subscription/freebsd-stable :freebsd-stable: {freebsd-stable-url}[{freebsd-stable-desc}] :freebsd-standards-desc: FreeBSD C99 and POSIX compliance mailing list :freebsd-standards-url: https://lists.FreeBSD.org/subscription/freebsd-standards :freebsd-standards: {freebsd-standards-url}[{freebsd-standards-desc}] :freebsd-sun4v-desc: FreeBSD sun4v porting mailing list :freebsd-sun4v-url: https://lists.FreeBSD.org/subscription/freebsd-sun4v :freebsd-sun4v: {freebsd-sun4v-url}[{freebsd-sun4v-desc}] :svn-doc-all-desc: SVN commit messages for the entire doc tree (except for "user", "projects" and "translations") :svn-doc-all-url: https://lists.FreeBSD.org/subscription/svn-doc-all :svn-doc-all: {svn-doc-all-url}[{svn-doc-all-desc}] :svn-doc-head-desc: SVN commit messages for the doc tree for head/ :svn-doc-head-url: https://lists.FreeBSD.org/subscription/svn-doc-head :svn-doc-head: {svn-doc-head-url}[{svn-doc-head-desc}] :svn-doc-projects-desc: SVN commit messages for the doc "projects" tree :svn-doc-projects-url: https://lists.FreeBSD.org/subscription/svn-doc-projects :svn-doc-projects: {svn-doc-projects-url}[{svn-doc-projects-desc}] :svn-doc-svnadmin-desc: SVN commit messages for the doc admin / configuration tree :svn-doc-svnadmin-url: https://lists.FreeBSD.org/subscription/svn-doc-svnadmin :svn-doc-svnadmin: {svn-doc-svnadmin-url}[{svn-doc-svnadmin-desc}] :svn-ports-all-desc: SVN commit messages for the entire ports tree :svn-ports-all-url: https://lists.FreeBSD.org/subscription/svn-ports-all :svn-ports-all: {svn-ports-all-url}[{svn-ports-all-desc}] :svn-ports-head-desc: SVN commit messages for the ports tree for head/ :svn-ports-head-url: https://lists.FreeBSD.org/subscription/svn-ports-head :svn-ports-head: {svn-ports-head-url}[{svn-ports-head-desc}] :svn-ports-svnadmin-desc: SVN commit messages for the ports admin / configuration tree :svn-ports-svnadmin-url: https://lists.FreeBSD.org/subscription/svn-ports-svnadmin :svn-ports-svnadmin: {svn-ports-svnadmin-url}[{svn-ports-svnadmin-desc}] :svn-src-all-desc: SVN commit messages for the entire src tree (except for user and "projects") :svn-src-all-url: https://lists.FreeBSD.org/subscription/svn-src-all :svn-src-all: {svn-src-all-url}[{svn-src-all-desc}] :svn-src-head-desc: SVN commit messages for the src tree for head/-current :svn-src-head-url: https://lists.FreeBSD.org/subscription/svn-src-head :svn-src-head: {svn-src-head-url}[{svn-src-head-desc}] :svn-src-projects-desc: SVN commit messages for the src "projects" tree :svn-src-projects-url: https://lists.FreeBSD.org/subscription/svn-src-projects :svn-src-projects: {svn-src-projects-url}[{svn-src-projects-desc}] :svn-src-release-desc: SVN commit messages for releases in the src tree :svn-src-release-url: https://lists.FreeBSD.org/subscription/svn-src-release :svn-src-release: {svn-src-release-url}[{svn-src-release-desc}] :svn-src-releng-desc: SVN commit messages for the release engineering / security commits to the src tree :svn-src-releng-url: https://lists.FreeBSD.org/subscription/svn-src-releng :svn-src-releng: {svn-src-releng-url}[{svn-src-releng-desc}] :svn-src-stable-desc: SVN commit messages for all the -stable branches of the src tree :svn-src-stable-url: https://lists.FreeBSD.org/subscription/svn-src-stable :svn-src-stable: {svn-src-stable-url}[{svn-src-stable-desc}] :svn-src-stable-6-desc: SVN commit messages for only the 6-stable src tree :svn-src-stable-6-url: https://lists.FreeBSD.org/subscription/svn-src-stable-6 :svn-src-stable-6: {svn-src-stable-6-url}[{svn-src-stable-6-desc}] :svn-src-stable-7-desc: SVN commit messages for only the 7-stable src tree :svn-src-stable-7-url: https://lists.FreeBSD.org/subscription/svn-src-stable-7 :svn-src-stable-7: {svn-src-stable-7-url}[{svn-src-stable-7-desc}] :svn-src-stable-8-desc: SVN commit messages for only the 8-stable src tree :svn-src-stable-8-url: https://lists.FreeBSD.org/subscription/svn-src-stable-8 :svn-src-stable-8: {svn-src-stable-8-url}[{svn-src-stable-8-desc}] :svn-src-stable-9-desc: SVN commit messages for only the 9-stable src tree :svn-src-stable-9-url: https://lists.FreeBSD.org/subscription/svn-src-stable-9 :svn-src-stable-9: {svn-src-stable-9-url}[{svn-src-stable-9-desc}] :svn-src-stable-10-desc: SVN commit messages for only the 10-stable src tree :svn-src-stable-10-url: https://lists.FreeBSD.org/subscription/svn-src-stable-10 :svn-src-stable-10: {svn-src-stable-10-url}[{svn-src-stable-10-desc}] :svn-src-stable-11-desc: SVN commit messages for only the 11-stable src tree :svn-src-stable-11-url: https://lists.FreeBSD.org/subscription/svn-src-stable-11 :svn-src-stable-11: {svn-src-stable-11-url}[{svn-src-stable-11-desc}] :svn-src-stable-12-desc: SVN commit messages for only the 12-stable src tree :svn-src-stable-12-url: https://lists.FreeBSD.org/subscription/svn-src-stable-12 :svn-src-stable-12: {svn-src-stable-12-url}[{svn-src-stable-12-desc}] :svn-src-stable-other-desc: SVN commit messages for the old stable src trees :svn-src-stable-other-url: https://lists.FreeBSD.org/subscription/svn-src-stable-other :svn-src-stable-other: {svn-src-stable-other-url}[{svn-src-stable-other-desc}] :svn-src-svnadmin-desc: SVN commit messages for the admin / configuration tree :svn-src-svnadmin-url: https://lists.FreeBSD.org/subscription/svn-src-svnadmin :svn-src-svnadmin: {svn-src-svnadmin-url}[{svn-src-svnadmin-desc}] :svn-src-user-desc: SVN commit messages for the experimental "user" src tree :svn-src-user-url: https://lists.FreeBSD.org/subscription/svn-src-user :svn-src-user: {svn-src-user-url}[{svn-src-user-desc}] :svn-src-vendor-desc: SVN commit messages for the vendor work area tree :svn-src-vendor-url: https://lists.FreeBSD.org/subscription/svn-src-vendor :svn-src-vendor: {svn-src-vendor-url}[{svn-src-vendor-desc}] :freebsd-sysinstall-desc: Sysinstall development mailing list :freebsd-sysinstall-url: https://lists.FreeBSD.org/subscription/freebsd-sysinstall :freebsd-sysinstall: {freebsd-sysinstall-url}[{freebsd-sysinstall-desc}] :freebsd-tcltk-desc: FreeBSD-specific Tcl/Tk discussions :freebsd-tcltk-url: https://lists.FreeBSD.org/subscription/freebsd-tcltk :freebsd-tcltk: {freebsd-tcltk-url}[{freebsd-tcltk-desc}] :freebsd-teaching-desc: FreeBSD teaching mailing list :freebsd-teaching-url: https://lists.FreeBSD.org/subscription/freebsd-teaching :freebsd-teaching: {freebsd-teaching-url}[{freebsd-teaching-desc}] :freebsd-test-desc: FreeBSD test mailing list :freebsd-test-url: https://lists.FreeBSD.org/subscription/freebsd-test :freebsd-test: {freebsd-test-url}[{freebsd-test-desc}] :freebsd-testing-desc: Testing on FreeBSD :freebsd-testing-url: https://lists.FreeBSD.org/subscription/freebsd-testing :freebsd-testing: {freebsd-testing-url}[{freebsd-testing-desc}] :freebsd-tex-desc: Porting TeX and its applications to FreeBSD :freebsd-tex-url: https://lists.FreeBSD.org/subscription/freebsd-tex :freebsd-tex: {freebsd-tex-url}[{freebsd-tex-desc}] :freebsd-threads-desc: FreeBSD threads mailing list :freebsd-threads-url: https://lists.FreeBSD.org/subscription/freebsd-threads :freebsd-threads: {freebsd-threads-url}[{freebsd-threads-desc}] :freebsd-tilera-desc: Porting FreeBSD to the Tilera family of CPUs :freebsd-tilera-url: https://lists.FreeBSD.org/subscription/freebsd-tilera :freebsd-tilera: {freebsd-tilera-url}[{freebsd-tilera-desc}] :freebsd-tokenring-desc: FreeBSD tokenring mailing list :freebsd-tokenring-url: https://lists.FreeBSD.org/subscription/freebsd-tokenring :freebsd-tokenring: {freebsd-tokenring-url}[{freebsd-tokenring-desc}] :freebsd-toolchain-desc: FreeBSD integrated toolchain mailing list :freebsd-toolchain-url: https://lists.FreeBSD.org/subscription/freebsd-toolchain :freebsd-toolchain: {freebsd-toolchain-url}[{freebsd-toolchain-desc}] :freebsd-translators-desc: FreeBSD translators mailing list :freebsd-translators-url: https://lists.FreeBSD.org/subscription/freebsd-translators :freebsd-translators: {freebsd-translators-url}[{freebsd-translators-desc}] :freebsd-transport-desc: FreeBSD transport mailing list :freebsd-transport-url: https://lists.FreeBSD.org/subscription/freebsd-transport :freebsd-transport: {freebsd-transport-url}[{freebsd-transport-desc}] :freebsd-usb-desc: FreeBSD USB mailing list :freebsd-usb-url: https://lists.FreeBSD.org/subscription/freebsd-usb :freebsd-usb: {freebsd-usb-url}[{freebsd-usb-desc}] :freebsd-user-groups-desc: FreeBSD user group coordination mailing list :freebsd-user-groups-url: https://lists.FreeBSD.org/subscription/freebsd-user-groups :freebsd-user-groups: {freebsd-user-groups-url}[{freebsd-user-groups-desc}] :freebsd-vendors-desc: FreeBSD vendors pre-release coordination mailing list :freebsd-vendors-url: https://lists.FreeBSD.org/subscription/freebsd-vendors :freebsd-vendors: {freebsd-vendors-url}[{freebsd-vendors-desc}] :freebsd-virtualization-desc: Discussion of various virtualization techniques supported by FreeBSD :freebsd-virtualization-url: https://lists.FreeBSD.org/subscription/freebsd-virtualization :freebsd-virtualization: {freebsd-virtualization-url}[{freebsd-virtualization-desc}] :freebsd-vuxml-desc: Discussion on the VuXML infrastructure :freebsd-vuxml-url: https://lists.FreeBSD.org/subscription/freebsd-vuxml :freebsd-vuxml: {freebsd-vuxml-url}[{freebsd-vuxml-desc}] :freebsd-wip-status-desc: FreeBSD Work-In-Progress Status :freebsd-wip-status-url: https://lists.FreeBSD.org/subscription/freebsd-wip-status :freebsd-wip-status: {freebsd-wip-status-url}[{freebsd-wip-status-desc}] :freebsd-wireless-desc: Discussions of 802.11 stack, tools, device driver development :freebsd-wireless-url: https://lists.FreeBSD.org/subscription/freebsd-wireless :freebsd-wireless: {freebsd-wireless-url}[{freebsd-wireless-desc}] :freebsd-women-desc: FreeBSD advocacy for women :freebsd-women-url: https://lists.FreeBSD.org/subscription/freebsd-women :freebsd-women: {freebsd-women-url}[{freebsd-women-desc}] :freebsd-www-desc: FreeBSD Webmaster mailing list :freebsd-www-url: https://lists.FreeBSD.org/subscription/freebsd-www :freebsd-www: {freebsd-www-url}[{freebsd-www-desc}] :freebsd-x11-desc: FreeBSD X11 mailing list :freebsd-x11-url: https://lists.FreeBSD.org/subscription/freebsd-x11 :freebsd-x11: {freebsd-x11-url}[{freebsd-x11-desc}] :freebsd-xen-desc: FreeBSD port to Xen mailing list :freebsd-xen-url: https://lists.FreeBSD.org/subscription/freebsd-xen :freebsd-xen: {freebsd-xen-url}[{freebsd-xen-desc}] :freebsd-xfce-desc: XFCE for FreeBSD mailing list :freebsd-xfce-url: https://lists.FreeBSD.org/subscription/freebsd-xfce :freebsd-xfce: {freebsd-xfce-url}[{freebsd-xfce-desc}] :freebsd-zope-desc: Zope for FreeBSD mailing list :freebsd-zope-url: https://lists.FreeBSD.org/subscription/freebsd-zope :freebsd-zope: {freebsd-zope-url}[{freebsd-zope-desc}] :committers-name: FreeBSD committer's mailing list :committers: {committers-name} :core-email: core@FreeBSD.org :core-name: freebsd-core :developers-name: FreeBSD developers mailing list :developers: {committers-developers} :doc-committers-name: FreeBSD doc/ committer's mailing list :doc-committers: {doc-committers-name} :doc-developers-name: FreeBSD doc/ developers mailing list :doc-developers: {doc-developers-name} :ports-committers-name: FreeBSD ports/ committer's mailing list :ports-committers: {ports-committers-name} :ports-developers-name: FreeBSD ports/ developers mailing list :ports-developers: {ports-developers-name} :src-committers-name: FreeBSD src/ committer's mailing list :src-committers: {src-committers-name} :src-developers-name: FreeBSD src/ developers mailing list :src-developers: {src-developers-name} // Not really proper mailing lists :bugfollowup: bug-followup@FreeBSD.org :bugsubmit: {bugfollowup} :majordomo: majordomo@FreeBSD.org // The following mailinglists are deactivated. Keep them until all references // in the documentation are gone. :freebsd-alpha-desc: FreeBSD Alpha porting mailing list :freebsd-alpha-url: https://lists.FreeBSD.org/subscription/freebsd-alpha :freebsd-alpha: {freebsd-alpha-url}[{freebsd-alpha-desc}] :freebsd-qa-desc: FreeBSD Quality Assurance mailing list :freebsd-qa-url: https://lists.FreeBSD.org/subscription/freebsd-qa :freebsd-qa: {freebsd-qa-url}[{freebsd-qa-desc}] :freebsd-smp-desc: FreeBSD symmetric multiprocessing mailing list :freebsd-smp-url: https://lists.FreeBSD.org/subscription/freebsd-smp :freebsd-smp: {freebsd-smp-url}[{freebsd-smp-desc}] diff --git a/shared/zh-cn/mailing-lists.adoc b/shared/zh-cn/mailing-lists.adoc index fea2a74dcb..72f0a080b5 100644 --- a/shared/zh-cn/mailing-lists.adoc +++ b/shared/zh-cn/mailing-lists.adoc @@ -1,632 +1,632 @@ // // Names of FreeBSD mailing lists and related software. // The FreeBSD Chinese Documentation Project // // $FreeBSD$ // -:mailman-lists-desc: FreeBSD 邮件列表服务器 -:mailman-lists-url: https://lists.freebsd.org -:mailman-lists: {mailman-lists-url}[{mailman-lists-desc}] +:mailing-lists-desc: FreeBSD 邮件列表服务器 +:mailing-lists-url: https://lists.freebsd.org +:mailing-lists: {mailing-lists-url}[{mailing-lists-desc}] :freebsd-acpi-desc: FreeBSD ACPI 邮件列表 :freebsd-acpi-url: https://lists.FreeBSD.org/subscription/freebsd-acpi :freebsd-acpi: {freebsd-acpi-url}[{freebsd-acpi-desc}] :freebsd-advocacy-desc: FreeBSD advocacy 邮件列表 :freebsd-advocacy-url: https://lists.FreeBSD.org/subscription/freebsd-advocacy :freebsd-advocacy: {freebsd-advocacy-url}[{freebsd-advocacy-desc}] :freebsd-afs-desc: FreeBSD AFS 移植邮件列表 :freebsd-afs-url: https://lists.FreeBSD.org/subscription/freebsd-afs :freebsd-afs: {freebsd-afs-url}[{freebsd-afs-desc}] :freebsd-aic7xxx-desc: FreeBSD Adaptec AIC7xxx 相关讨论邮件列表 :freebsd-aic7xxx-url: https://lists.FreeBSD.org/subscription/aic7xxx :freebsd-aic7xxx: {freebsd-aic7xxx-url}[{freebsd-aic7xxx-desc}] :freebsd-amd64-desc: 将 FreeBSD 移植到 AMD64 系统上 :freebsd-amd64-url: https://lists.FreeBSD.org/subscription/freebsd-amd64 :freebsd-amd64: {freebsd-amd64-url}[{freebsd-amd64-desc}] :freebsd-announce-desc: FreeBSD 公告邮件列表 :freebsd-announce-url: https://lists.FreeBSD.org/subscription/freebsd-announce :freebsd-announce: {freebsd-announce-url}[{freebsd-announce-desc}] :freebsd-apache-desc: FreeBSD Apache 邮件列表 :freebsd-apache-url: https://lists.FreeBSD.org/subscription/freebsd-apache :freebsd-apache: {freebsd-apache-url}[{freebsd-apache-desc}] :freebsd-arch-desc: FreeBSD 架构与设计邮件列表 :freebsd-arch-url: https://lists.FreeBSD.org/subscription/freebsd-arch :freebsd-arch: {freebsd-arch-url}[{freebsd-arch-desc}] :freebsd-arm-desc: FreeBSD ARM 移植邮件列表 :freebsd-arm-url: https://lists.FreeBSD.org/subscription/freebsd-arm :freebsd-arm: {freebsd-arm-url}[{freebsd-arm-desc}] :freebsd-atm-desc: FreeBSD ATM 网络邮件列表 :freebsd-atm-url: https://lists.FreeBSD.org/subscription/freebsd-atm :freebsd-atm: {freebsd-atm-url}[{freebsd-atm-desc}] :freebsd-bluetooth-desc: FreeBSD Bluetooth 邮件列表 :freebsd-bluetooth-url: https://lists.FreeBSD.org/subscription/freebsd-bluetooth :freebsd-bluetooth: {freebsd-bluetooth-url}[{freebsd-bluetooth-desc}] :freebsd-bugbusters-desc: FreeBSD bugbusters 邮件列表 :freebsd-bugbusters-url: https://lists.FreeBSD.org/subscription/freebsd-bugbusters :freebsd-bugbusters: {freebsd-bugbusters-url}[{freebsd-bugbusters-desc}] :freebsd-bugs-desc: FreeBSD 问题报告邮件列表 :freebsd-bugs-url: https://lists.FreeBSD.org/subscription/freebsd-bugs :freebsd-bugs: {freebsd-bugs-url}[{freebsd-bugs-desc}] :freebsd-chat-desc: FreeBSD 闲聊邮件列表 :freebsd-chat-url: https://lists.FreeBSD.org/subscription/freebsd-chat :freebsd-chat: {freebsd-chat-url}[{freebsd-chat-desc}] :freebsd-chromium-desc: FreeBSD Chromium 邮件列表 :freebsd-chromium-url: https://lists.FreeBSD.org/subscription/freebsd-chromium :freebsd-chromium: {freebsd-chromium-url}[{freebsd-chromium-desc}] :freebsd-cluster-desc: FreeBSD 集群邮件列表 :freebsd-cluster-url: https://lists.FreeBSD.org/subscription/freebsd-cluster :freebsd-cluster: {freebsd-cluster-url}[{freebsd-cluster-desc}] :freebsd-current-desc: FreeBSD-CURRENT 邮件列表 :freebsd-current-url: https://lists.FreeBSD.org/subscription/freebsd-current :freebsd-current: {freebsd-current-url}[{freebsd-current-desc}] :ctm-announce-desc: CTM 公告 :ctm-announce-url: https://lists.FreeBSD.org/subscription/ctm-announce :ctm-announce: {ctm-announce-url}[{ctm-announce-desc}] :ctm-src-4-desc: CTM 4-STABLE src branch distribution 邮件列表 :ctm-src-4-url: https://lists.FreeBSD.org/subscription/ctm-src-4 :ctm-src-4: {ctm-src-4-url}[{ctm-src-4-desc}] :ctm-src-5-desc: CTM 5-STABLE src branch distribution 邮件列表 :ctm-src-5-url: https://lists.FreeBSD.org/subscription/ctm-src-5 :ctm-src-5: {ctm-src-5-url}[{ctm-src-5-desc}] :ctm-src-6-desc: CTM 6-STABLE src branch distribution 邮件列表 :ctm-src-6-url: https://lists.FreeBSD.org/subscription/ctm-src-6 :ctm-src-6: {ctm-src-6-url}[{ctm-src-6-desc}] :ctm-src-7-desc: CTM 7-STABLE src branch distribution 邮件列表 :ctm-src-7-url: https://lists.FreeBSD.org/subscription/ctm-src-7 :ctm-src-7: {ctm-src-7-url}[{ctm-src-7-desc}] :ctm-src-8-desc: CTM 8-STABLE src branch distribution 邮件列表 :ctm-src-8-url: https://lists.FreeBSD.org/subscription/ctm-src-8 :ctm-src-8: {ctm-src-8-url}[{ctm-src-8-desc}] :ctm-src-9-desc: CTM 9-STABLE src branch distribution 邮件列表 :ctm-src-9-url: https://lists.FreeBSD.org/subscription/ctm-src-9 :ctm-src-9: {ctm-src-9-url}[{ctm-src-9-desc}] :ctm-src-10-desc: CTM 10-STABLE src branch distribution mailing list :ctm-src-10-url: https://lists.FreeBSD.org/subscription/ctm-src-10 :ctm-src-10: {ctm-src-10-url}[{ctm-src-10-desc}] :ctm-src-cur-desc: CTM -CURRENT src branch distribution 邮件列表 :ctm-src-cur-url: https://lists.FreeBSD.org/subscription/ctm-src-cur :ctm-src-cur: {ctm-src-cur-url}[{ctm-src-cur-desc}] :ctm-users-desc: CTM user discussion 邮件列表 :ctm-users-url: https://lists.FreeBSD.org/subscription/ctm-users :ctm-users: {ctm-users-url}[{ctm-users-desc}] :cvs-all-desc: FreeBSD CVS 全部修订记录邮件列表 :cvs-all-url: https://lists.FreeBSD.org/subscription/cvs-all :cvs-all: {cvs-all-url}[{cvs-all-desc}] :cvs-doc-desc: FreeBSD CVS 文档修订记录邮件列表 :cvs-doc-url: https://lists.FreeBSD.org/subscription/cvs-doc :cvs-doc: {cvs-doc-url}[{cvs-doc-desc}] :cvs-ports-desc: FreeBSD CVS ports 修订记录邮件列表 :cvs-ports-url: https://lists.FreeBSD.org/subscription/cvs-ports :cvs-ports: {cvs-ports-url}[{cvs-ports-desc}] :cvs-projects-desc: FreeBSD CVS 附属项目修订记录邮件列表 :cvs-projects-url: https://lists.FreeBSD.org/subscription/cvs-projects :cvs-projects: {cvs-projects-url}[{cvs-projects-desc}] :cvs-src-desc: FreeBSD CVS 源代码修订记录邮件列表 :cvs-src-url: https://lists.FreeBSD.org/subscription/cvs-src :cvs-src: {cvs-src-url}[{cvs-src-desc}] :freebsd-cvsweb-desc: FreeBSD CVSweb 维护邮件列表 :freebsd-cvsweb-url: https://lists.FreeBSD.org/subscription/freebsd-cvsweb :freebsd-cvsweb: {freebsd-cvsweb-url}[{freebsd-cvsweb-desc}] :freebsd-database-desc: 在 FreeBSD 上运行的数据库邮件列表 :freebsd-database-url: https://lists.FreeBSD.org/subscription/freebsd-database :freebsd-database: {freebsd-database-url}[{freebsd-database-desc}] :freebsd-desktop-desc: FreeBSD 桌面方面的使用与改进的邮件列表 :freebsd-desktop-url: https://lists.FreeBSD.org/subscription/freebsd-desktop :freebsd-desktop: {freebsd-desktop-url}[{freebsd-desktop-desc}] :freebsd-doc-desc: FreeBSD 文档计划邮件列表 :freebsd-doc-url: https://lists.FreeBSD.org/subscription/freebsd-doc :freebsd-doc: {freebsd-doc-url}[{freebsd-doc-desc}] :freebsd-drivers-desc: 为 FreeBSD 编写设备驱动程序 :freebsd-drivers-url: https://lists.FreeBSD.org/subscription/freebsd-drivers :freebsd-drivers: {freebsd-drivers-url}[{freebsd-drivers-desc}] :freebsd-dtrace-desc: Using and working on DTrace in FreeBSD. :freebsd-dtrace-url: https://lists.FreeBSD.org/subscription/freebsd-dtrace :freebsd-dtrace: {freebsd-dtrace-url}[{freebsd-dtrace-desc}] :freebsd-eclipse-desc: FreeBSD 上的 Eclipse IDE、 工具、 富客户应用程序和 port 的用户 :freebsd-eclipse-url: https://lists.FreeBSD.org/subscription/freebsd-eclipse :freebsd-eclipse: {freebsd-eclipse-url}[{freebsd-eclipse-desc}] :freebsd-embedded-desc: FreeBSD-embedded 邮件列表 :freebsd-embedded-url: https://lists.FreeBSD.org/subscription/freebsd-embedded :freebsd-embedded: {freebsd-embedded-url}[{freebsd-embedded-desc}] :freebsd-emulation-desc: FreeBSD-emulation 邮件列表 :freebsd-emulation-url: https://lists.FreeBSD.org/subscription/freebsd-emulation :freebsd-emulation: {freebsd-emulation-url}[{freebsd-emulation-desc}] :freebsd-eol-desc: FreeBSD-eol 邮件列表 :freebsd-eol-url: https://lists.FreeBSD.org/subscription/freebsd-eol :freebsd-eol: {freebsd-eol-url}[{freebsd-eol-desc}] :freebsd-firewire-desc: FreeBSD 火线技术 (IEEE 1394) 讨论邮件列表 :freebsd-firewire-url: https://lists.FreeBSD.org/subscription/freebsd-firewire :freebsd-firewire: {freebsd-firewire-url}[{freebsd-firewire-desc}] :freebsd-fortran-desc: Fortran on FreeBSD 邮件列表 :freebsd-fortran-url: https://lists.FreeBSD.org/subscription/freebsd-fortran :freebsd-fortran: {freebsd-fortran-url}[{freebsd-fortran-desc}] :freebsd-fs-desc: FreeBSD 文件系统项目邮件列表 :freebsd-fs-url: https://lists.FreeBSD.org/subscription/freebsd-fs :freebsd-fs: {freebsd-fs-url}[{freebsd-fs-desc}] :freebsd-gecko-desc: FreeBSD gecko 邮件列表 :freebsd-gecko-url: https://lists.FreeBSD.org/subscription/freebsd-gecko :freebsd-gecko: {freebsd-gecko-url}[{freebsd-gecko-desc}] :freebsd-geom-desc: FreeBSD GEOM 邮件列表 :freebsd-geom-url: https://lists.FreeBSD.org/subscription/freebsd-geom :freebsd-geom: {freebsd-geom-url}[{freebsd-geom-desc}] :freebsd-gnome-desc: FreeBSD GNOME 和 GNOME 应用程序邮件列表 :freebsd-gnome-url: https://lists.FreeBSD.org/subscription/freebsd-gnome :freebsd-gnome: {freebsd-gnome-url}[{freebsd-gnome-desc}] :freebsd-hackers-desc: FreeBSD 技术讨论邮件列表 :freebsd-hackers-url: https://lists.FreeBSD.org/subscription/freebsd-hackers :freebsd-hackers: {freebsd-hackers-url}[{freebsd-hackers-desc}] :freebsd-hardware-desc: FreeBSD 硬件和设备邮件列表 :freebsd-hardware-url: https://lists.FreeBSD.org/subscription/freebsd-hardware :freebsd-hardware: {freebsd-hardware-url}[{freebsd-hardware-desc}] :freebsd-hubs-desc: FreeBSD 镜像站点邮件列表s :freebsd-hubs-url: https://lists.FreeBSD.org/subscription/freebsd-hubs :freebsd-hubs: {freebsd-hubs-url}[{freebsd-hubs-desc}] :freebsd-i18n-desc: FreeBSD 国际化邮件列表 :freebsd-i18n-url: https://lists.FreeBSD.org/subscription/freebsd-i18n :freebsd-i18n: {freebsd-i18n-url}[{freebsd-i18n-desc}] :freebsd-i386-desc: FreeBSD i386 专有问题邮件列表 :freebsd-i386-url: https://lists.FreeBSD.org/subscription/freebsd-i386 :freebsd-i386: {freebsd-i386-url}[{freebsd-i386-desc}] :freebsd-ia32-desc: FreeBSD IA32 移植邮件列表 :freebsd-ia32-url: https://lists.FreeBSD.org/subscription/freebsd-ia32 :freebsd-ia32: {freebsd-ia32-url}[{freebsd-ia32-desc}] :freebsd-ia64-desc: FreeBSD IA64 移植邮件列表 :freebsd-ia64-url: https://lists.FreeBSD.org/subscription/freebsd-ia64 :freebsd-ia64: {freebsd-ia64-url}[{freebsd-ia64-desc}] :freebsd-infiniband-desc: Infiniband on FreeBSD :freebsd-infiniband-url: https://lists.FreeBSD.org/subscription/freebsd-infiniband :freebsd-infiniband: {freebsd-infiniband-url}[{freebsd-infiniband-desc}] :freebsd-ipfw-desc: FreeBSD IPFW 代码邮件列表 :freebsd-ipfw-url: https://lists.FreeBSD.org/subscription/freebsd-ipfw :freebsd-ipfw: {freebsd-ipfw-url}[{freebsd-ipfw-desc}] :freebsd-isdn-desc: FreeBSD ISDN 邮件列表 :freebsd-isdn-url: https://lists.FreeBSD.org/subscription/freebsd-isdn :freebsd-isdn: {freebsd-isdn-url}[{freebsd-isdn-desc}] :freebsd-isp-desc: FreeBSD Internet 服务提供商的邮件列表 :freebsd-isp-url: https://lists.FreeBSD.org/subscription/freebsd-isp :freebsd-isp: {freebsd-isp-url}[{freebsd-isp-desc}] :freebsd-jail-desc: FreeBSD jails 邮件列表 :freebsd-jail-url: https://lists.FreeBSD.org/subscription/freebsd-jail :freebsd-jail: {freebsd-jail-url}[{freebsd-jail-desc}] :freebsd-java-desc: FreeBSD Java 语言邮件列表 :freebsd-java-url: https://lists.FreeBSD.org/subscription/freebsd-java :freebsd-java: {freebsd-java-url}[{freebsd-java-desc}] :freebsd-jobs-desc: FreeBSD 相关的工作机会邮件列表 :freebsd-jobs-url: https://lists.FreeBSD.org/subscription/freebsd-jobs :freebsd-jobs: {freebsd-jobs-url}[{freebsd-jobs-desc}] :freebsd-kde-desc: FreeBSD KDE/Qt 和 KDE 应用程序邮件列表 :freebsd-kde-url: https://mail.kde.org/mailman/listinfo/kde-freebsd :freebsd-kde: {freebsd-kde-url}[{freebsd-kde-desc}] :freebsd-lfs-desc: FreeBSD LFS 移植邮件列表 :freebsd-lfs-url: https://lists.FreeBSD.org/subscription/freebsd-lfs :freebsd-lfs: {freebsd-lfs-url}[{freebsd-lfs-desc}] :freebsd-mips-desc: FreeBSD MIPS 移植邮件列表 :freebsd-mips-url: https://lists.FreeBSD.org/subscription/freebsd-mips :freebsd-mips: {freebsd-mips-url}[{freebsd-mips-desc}] :mirror-announce-desc: FreeBSD 镜像站点管理员 :mirror-announce-url: https://lists.FreeBSD.org/subscription/mirror-announce :mirror-announce: {mirror-announce-url}[{mirror-announce-desc}] :freebsd-mobile-desc: FreeBSD 笔记本电脑邮件列表 :freebsd-mobile-url: https://lists.FreeBSD.org/subscription/freebsd-mobile :freebsd-mobile: {freebsd-mobile-url}[{freebsd-mobile-desc}] :freebsd-mono-desc: FreeBSD 上的 Mono 和 C# 应用 :freebsd-mono-url: https://lists.FreeBSD.org/subscription/freebsd-mono :freebsd-mono: {freebsd-mono-url}[{freebsd-mono-desc}] :freebsd-multimedia-desc: FreeBSD 多媒体应用邮件列表 :freebsd-multimedia-url: https://lists.FreeBSD.org/subscription/freebsd-multimedia :freebsd-multimedia: {freebsd-multimedia-url}[{freebsd-multimedia-desc}] :freebsd-net-desc: FreeBSD 网络邮件列表 :freebsd-net-url: https://lists.FreeBSD.org/subscription/freebsd-net :freebsd-net: {freebsd-net-url}[{freebsd-net-desc}] :freebsd-newbies-desc: FreeBSD 新手上路邮件列表 :freebsd-newbies-url: https://lists.FreeBSD.org/subscription/freebsd-newbies :freebsd-newbies: {freebsd-newbies-url}[{freebsd-newbies-desc}] :freebsd-new-bus-desc: FreeBSD new-bus 邮件列表 :freebsd-new-bus-url: https://lists.FreeBSD.org/subscription/freebsd-new-bus :freebsd-new-bus: {freebsd-new-bus-url}[{freebsd-new-bus-desc}] :freebsd-numerics-desc: Discussions of high quality implementation of libm functions :freebsd-numerics-url: https://lists.FreeBSD.org/subscription/freebsd-numerics :freebsd-numerics: {freebsd-numerics-url}[{freebsd-numerics-desc}] :freebsd-office-desc: FreeBSD 办公套件应用 邮件列表 :freebsd-office-url: https://lists.FreeBSD.org/subscription/freebsd-office :freebsd-office: {freebsd-office-url}[{freebsd-office-desc}] :freebsd-ops-announce-desc: Project Infrastructure Announcements :freebsd-ops-announce-url: https://lists.FreeBSD.org/subscription/freebsd-ops-announce :freebsd-ops-announce: {freebsd-ops-announce-url}[{freebsd-ops-announce-desc}] :freebsd-performance-desc: FreeBSD 性能邮件列表 :freebsd-performance-url: https://lists.FreeBSD.org/subscription/freebsd-performance :freebsd-performance: {freebsd-performance-url}[{freebsd-performance-desc}] :freebsd-perl-desc: FreeBSD Perl 邮件列表 :freebsd-perl-url: https://lists.FreeBSD.org/subscription/freebsd-perl :freebsd-perl: {freebsd-perl-url}[{freebsd-perl-desc}] :freebsd-pf-desc: FreeBSD packet filter 邮件列表 :freebsd-pf-url: https://lists.FreeBSD.org/subscription/freebsd-pf :freebsd-pf: {freebsd-pf-url}[{freebsd-pf-desc}] :freebsd-pkg-desc: 二进制包管理和打包工具的邮件列表 :freebsd-pkg-url: https://lists.FreeBSD.org/subscription/freebsd-pkg :freebsd-pkg: {freebsd-pkg-url}[{freebsd-pkg-desc}] :freebsd-pkg-fallout-desc: Fallout logs from package building :freebsd-pkg-fallout-url: https://lists.FreeBSD.org/subscription/freebsd-pkg-fallout :freebsd-pkg-fallout: {freebsd-pkg-fallout-url}[{freebsd-pkg-fallout-desc}] :freebsd-platforms-desc: FreeBSD 非 Intel 平台移植邮件列表 :freebsd-platforms-url: https://lists.FreeBSD.org/subscription/freebsd-platforms :freebsd-platforms: {freebsd-platforms-url}[{freebsd-platforms-desc}] :freebsd-ports-desc: FreeBSD ports 邮件列表 :freebsd-ports-url: https://lists.FreeBSD.org/subscription/freebsd-ports :freebsd-ports: {freebsd-ports-url}[{freebsd-ports-desc}] :freebsd-ports-announce-desc: FreeBSD ports 公告的邮件列表 :freebsd-ports-announce-url: https://lists.FreeBSD.org/subscription/freebsd-ports-announce :freebsd-ports-announce: {freebsd-ports-announce-url}[{freebsd-ports-announce-desc}] :freebsd-ports-bugs-desc: FreeBSD ports bugs 邮件列表 :freebsd-ports-bugs-url: https://lists.FreeBSD.org/subscription/freebsd-ports-bugs :freebsd-ports-bugs: {freebsd-ports-bugs-url}[{freebsd-ports-bugs-desc}] :freebsd-ppc-desc: FreeBSD PowerPC 移植邮件列表 :freebsd-ppc-url: https://lists.FreeBSD.org/subscription/freebsd-ppc :freebsd-ppc: {freebsd-ppc-url}[{freebsd-ppc-desc}] :freebsd-proliant-desc: 在 HP ProLiant 服务器平台上的 FreeBSD 技术讨论 :freebsd-proliant-url: https://lists.FreeBSD.org/subscription/freebsd-proliant :freebsd-proliant: {freebsd-proliant-url}[{freebsd-proliant-desc}] :freebsd-python-desc: FreeBSD Python 邮件列表 :freebsd-python-url: https://lists.FreeBSD.org/subscription/freebsd-python :freebsd-python: {freebsd-python-url}[{freebsd-python-desc}] :freebsd-questions-desc: FreeBSD 一般问题邮件列表 :freebsd-questions-url: https://lists.FreeBSD.org/subscription/freebsd-questions :freebsd-questions: {freebsd-questions-url}[{freebsd-questions-desc}] :freebsd-rc-desc: FreeBSD 启动脚本系统邮件列表 :freebsd-rc-url: https://lists.FreeBSD.org/subscription/freebsd-rc :freebsd-rc: {freebsd-rc-url}[{freebsd-rc-desc}] :freebsd-realtime-desc: FreeBSD 实时扩展邮件列表 :freebsd-realtime-url: https://lists.FreeBSD.org/subscription/freebsd-realtime :freebsd-realtime: {freebsd-realtime-url}[{freebsd-realtime-desc}] :freebsd-ruby-desc: FreeBSD Ruby 邮件列表 :freebsd-ruby-url: https://lists.FreeBSD.org/subscription/freebsd-ruby :freebsd-ruby: {freebsd-ruby-url}[{freebsd-ruby-desc}] :freebsd-scsi-desc: FreeBSD SCSI 子系统邮件列表 :freebsd-scsi-url: https://lists.FreeBSD.org/subscription/freebsd-scsi :freebsd-scsi: {freebsd-scsi-url}[{freebsd-scsi-desc}] :freebsd-security-desc: FreeBSD 安全问题邮件列表 :freebsd-security-url: https://lists.FreeBSD.org/subscription/freebsd-security :freebsd-security: {freebsd-security-url}[{freebsd-security-desc}] :freebsd-security-notifications-desc: FreeBSD 安全问题通知邮件列表 :freebsd-security-notifications-url: https://lists.FreeBSD.org/subscription/freebsd-security-notifications :freebsd-security-notifications: {freebsd-security-notifications-url}[{freebsd-security-notifications-desc}] :freebsd-small-desc: FreeBSD-small 邮件列表 :freebsd-small-url: https://lists.FreeBSD.org/subscription/freebsd-small :freebsd-small: {freebsd-small-url}[{freebsd-small-desc}] :freebsd-snapshots-desc: FreeBSD 的开发快照公告 :freebsd-snapshots-url: https://lists.FreeBSD.org/subscription/freebsd-snapshots :freebsd-snapshots: {freebsd-snapshots-url}[{freebsd-snapshots-desc}] :freebsd-sparc64-desc: FreeBSD SPARC 移植邮件列表 :freebsd-sparc64-url: https://lists.FreeBSD.org/subscription/freebsd-sparc64 :freebsd-sparc64: {freebsd-sparc64-url}[{freebsd-sparc64-desc}] :freebsd-stable-desc: FreeBSD-STABLE; 邮件列表 :freebsd-stable-url: https://lists.FreeBSD.org/subscription/freebsd-stable :freebsd-stable: {freebsd-stable-url}[{freebsd-stable-desc}] :freebsd-standards-desc: FreeBSD C99 和 POSIX 标准相容性邮件列表 :freebsd-standards-url: https://lists.FreeBSD.org/subscription/freebsd-standards :freebsd-standards: {freebsd-standards-url}[{freebsd-standards-desc}] :freebsd-sun4v-desc: FreeBSD sun4v 移植邮件列表 :freebsd-sun4v-url: https://lists.FreeBSD.org/subscription/freebsd-sun4v :freebsd-sun4v: {freebsd-sun4v-url}[{freebsd-sun4v-desc}] :svn-doc-all-desc: SVN commit messages for the entire doc tree (except for "user", "projects" and "translations") :svn-doc-all-url: https://lists.FreeBSD.org/subscription/svn-doc-all :svn-doc-all: {svn-doc-all-url}[{svn-doc-all-desc}] :svn-doc-head-desc: SVN commit messages for the doc tree for head/ :svn-doc-head-url: https://lists.FreeBSD.org/subscription/svn-doc-head :svn-doc-head: {svn-doc-head-url}[{svn-doc-head-desc}] :svn-doc-projects-desc: SVN commit messages for the doc "projects" tree :svn-doc-projects-url: https://lists.FreeBSD.org/subscription/svn-doc-projects :svn-doc-projects: {svn-doc-projects-url}[{svn-doc-projects-desc}] :svn-doc-svnadmin-desc: SVN commit messages for the doc admin / configuration tree :svn-doc-svnadmin-url: https://lists.FreeBSD.org/subscription/svn-doc-svnadmin :svn-doc-svnadmin: {svn-doc-svnadmin-url}[{svn-doc-svnadmin-desc}] :svn-ports-all-desc: SVN commit messages for the entire ports tree :svn-ports-all-url: https://lists.FreeBSD.org/subscription/svn-ports-all :svn-ports-all: {svn-ports-all-url}[{svn-ports-all-desc}] :svn-ports-head-desc: SVN commit messages for the ports tree for head/ :svn-ports-head-url: https://lists.FreeBSD.org/subscription/svn-ports-head :svn-ports-head: {svn-ports-head-url}[{svn-ports-head-desc}] :svn-ports-svnadmin-desc: SVN commit messages for the ports admin / configuration tree :svn-ports-svnadmin-url: https://lists.FreeBSD.org/subscription/svn-ports-svnadmin :svn-ports-svnadmin: {svn-ports-svnadmin-url}[{svn-ports-svnadmin-desc}] :svn-src-all-desc: SVN 整个 src 树的修订讯息 (除了 "user" 与 "projects") :svn-src-all-url: https://lists.FreeBSD.org/subscription/svn-src-all :svn-src-all: {svn-src-all-url}[{svn-src-all-desc}] :svn-src-head-desc: SVN src 树 head/-current 分支的修订讯息 :svn-src-head-url: https://lists.FreeBSD.org/subscription/svn-src-head :svn-src-head: {svn-src-head-url}[{svn-src-head-desc}] :svn-src-projects-desc: SVN src 树 "projects" 分支的修订讯息 :svn-src-projects-url: https://lists.FreeBSD.org/subscription/svn-src-projects :svn-src-projects: {svn-src-projects-url}[{svn-src-projects-desc}] :svn-src-release-desc: SVN src 树各种 releases 分支的修订讯息 :svn-src-release-url: https://lists.FreeBSD.org/subscription/svn-src-release :svn-src-release: {svn-src-release-url}[{svn-src-release-desc}] :svn-src-releng-desc: SVN src 树 release 工程 / 安全有关的修订讯息 :svn-src-releng-url: https://lists.FreeBSD.org/subscription/svn-src-releng :svn-src-releng: {svn-src-releng-url}[{svn-src-releng-desc}] :svn-src-stable-desc: SVN src 树所有 -stable 分支的修订讯息 :svn-src-stable-url: https://lists.FreeBSD.org/subscription/svn-src-stable :svn-src-stable: {svn-src-stable-url}[{svn-src-stable-desc}] :svn-src-stable-6-desc: SVN src 树 6-stable 分支的修订讯息 :svn-src-stable-6-url: https://lists.FreeBSD.org/subscription/svn-src-stable-6 :svn-src-stable-6: {svn-src-stable-6-url}[{svn-src-stable-6-desc}] :svn-src-stable-7-desc: SVN src 树 7-stable 分支的修订讯息 :svn-src-stable-7-url: https://lists.FreeBSD.org/subscription/svn-src-stable-7 :svn-src-stable-7: {svn-src-stable-7-url}[{svn-src-stable-7-desc}] :svn-src-stable-8-desc: SVN src 树 8-stable 分支的修订讯息 :svn-src-stable-8-url: https://lists.FreeBSD.org/subscription/svn-src-stable-8 :svn-src-stable-8: {svn-src-stable-8-url}[{svn-src-stable-8-desc}] :svn-src-stable-9-desc: SVN commit messages for only the 9-stable src tree :svn-src-stable-9-url: https://lists.FreeBSD.org/subscription/svn-src-stable-9 :svn-src-stable-9: {svn-src-stable-9-url}[{svn-src-stable-9-desc}] :svn-src-stable-10-desc: SVN commit messages for only the 10-stable src tree :svn-src-stable-10-url: https://lists.FreeBSD.org/subscription/svn-src-stable-10 :svn-src-stable-10: {svn-src-stable-10-url}[{svn-src-stable-10-desc}] :svn-src-stable-other-desc: SVN src 树以往 stable 分支的修订讯息 :svn-src-stable-other-url: https://lists.FreeBSD.org/subscription/svn-src-stable-other :svn-src-stable-other: {svn-src-stable-other-url}[{svn-src-stable-other-desc}] :svn-src-svnadmin-desc: SVN 有关管理 / 配置的修订讯息 :svn-src-svnadmin-url: https://lists.FreeBSD.org/subscription/svn-src-svnadmin :svn-src-svnadmin: {svn-src-svnadmin-url}[{svn-src-svnadmin-desc}] :svn-src-user-desc: SVN src 树 "user" 试验性分支的修订讯息 :svn-src-user-url: https://lists.FreeBSD.org/subscription/svn-src-user :svn-src-user: {svn-src-user-url}[{svn-src-user-desc}] :svn-src-vendor-desc: SVN vendor 类相关工作树的修订讯息 :svn-src-vendor-url: https://lists.FreeBSD.org/subscription/svn-src-vendor :svn-src-vendor: {svn-src-vendor-url}[{svn-src-vendor-desc}] :freebsd-sysinstall-desc: Sysinstall 开发邮件列表 :freebsd-sysinstall-url: https://lists.FreeBSD.org/subscription/freebsd-sysinstall :freebsd-sysinstall: {freebsd-sysinstall-url}[{freebsd-sysinstall-desc}] :freebsd-tcltk-desc: FreeBSD-specific Tcl/Tk discussions :freebsd-tcltk-url: https://lists.FreeBSD.org/subscription/freebsd-tcltk :freebsd-tcltk: {freebsd-tcltk-url}[{freebsd-tcltk-desc}] :freebsd-test-desc: FreeBSD 测试邮件列表 :freebsd-test-url: https://lists.FreeBSD.org/subscription/freebsd-test :freebsd-test: {freebsd-test-url}[{freebsd-test-desc}] :freebsd-testing-desc: FreeBSD 性能和稳定性测试邮件列表 :freebsd-testing-url: https://lists.FreeBSD.org/subscription/freebsd-testing :freebsd-testing: {freebsd-testing-url}[{freebsd-testing-desc}] :freebsd-tex-desc: Porting TeX and its applications to FreeBSD :freebsd-tex-url: https://lists.FreeBSD.org/subscription/freebsd-tex :freebsd-tex: {freebsd-tex-url}[{freebsd-tex-desc}] :freebsd-threads-desc: FreeBSD 线程邮件列表 :freebsd-threads-url: https://lists.FreeBSD.org/subscription/freebsd-threads :freebsd-threads: {freebsd-threads-url}[{freebsd-threads-desc}] :freebsd-tilera-desc: FreeBSD Tilera CPU 移植邮件列表 :freebsd-tilera-url: https://lists.FreeBSD.org/subscription/freebsd-tilera :freebsd-tilera: {freebsd-tilera-url}[{freebsd-tilera-desc}] :freebsd-tokenring-desc: FreeBSD 令牌环邮件列表 :freebsd-tokenring-url: https://lists.FreeBSD.org/subscription/freebsd-tokenring :freebsd-tokenring: {freebsd-tokenring-url}[{freebsd-tokenring-desc}] :freebsd-toolchain-desc: FreeBSD 集成的联编工具集邮件列表 :freebsd-toolchain-url: https://lists.FreeBSD.org/subscription/freebsd-toolchain :freebsd-toolchain: {freebsd-toolchain-url}[{freebsd-toolchain-desc}] :freebsd-usb-desc: FreeBSD USB 邮件列表 :freebsd-usb-url: https://lists.FreeBSD.org/subscription/freebsd-usb :freebsd-usb: {freebsd-usb-url}[{freebsd-usb-desc}] :freebsd-user-groups-desc: FreeBSD 用户组召集邮件列表 :freebsd-user-groups-url: https://lists.FreeBSD.org/subscription/freebsd-user-groups :freebsd-user-groups: {freebsd-user-groups-url}[{freebsd-user-groups-desc}] :freebsd-vendors-desc: FreeBSD 发布前供应商召集邮件列表 :freebsd-vendors-url: https://lists.FreeBSD.org/subscription/freebsd-vendors :freebsd-vendors: {freebsd-vendors-url}[{freebsd-vendors-desc}] :freebsd-virtualization-desc: 关于 FreeBSD 所支持的各种虚拟化技术的讨论 :freebsd-virtualization-url: https://lists.FreeBSD.org/subscription/freebsd-virtualization :freebsd-virtualization: {freebsd-virtualization-url}[{freebsd-virtualization-desc}] :freebsd-vuxml-desc: 关于 VuXML 的讨论 :freebsd-vuxml-url: https://lists.FreeBSD.org/subscription/freebsd-vuxml :freebsd-vuxml: {freebsd-vuxml-url}[{freebsd-vuxml-desc}] :freebsd-wip-status-desc: FreeBSD 项目进展状态 :freebsd-wip-status-url: https://lists.FreeBSD.org/subscription/freebsd-wip-status :freebsd-wip-status: {freebsd-wip-status-url}[{freebsd-wip-status-desc}] :freebsd-wireless-desc: 关于 802.11 栈, 工具、 驱动开发的讨论 :freebsd-wireless-url: https://lists.FreeBSD.org/subscription/freebsd-wireless :freebsd-wireless: {freebsd-wireless-url}[{freebsd-wireless-desc}] :freebsd-www-desc: FreeBSD Webmaster 邮件列表 :freebsd-www-url: https://lists.FreeBSD.org/subscription/freebsd-www :freebsd-www: {freebsd-www-url}[{freebsd-www-desc}] :freebsd-x11-desc: FreeBSD X11 邮件列表 :freebsd-x11-url: https://lists.FreeBSD.org/subscription/freebsd-x11 :freebsd-x11: {freebsd-x11-url}[{freebsd-x11-desc}] :freebsd-xen-desc: FreeBSD 有关 Xen 移植的邮件列表 :freebsd-xen-url: https://lists.FreeBSD.org/subscription/freebsd-xen :freebsd-xen: {freebsd-xen-url}[{freebsd-xen-desc}] :freebsd-xfce-desc: FreeBSD 有关 XFCE 的邮件列表 :freebsd-xfce-url: https://lists.FreeBSD.org/subscription/freebsd-xfce :freebsd-xfce: {freebsd-xfce-url}[{freebsd-xfce-desc}] :freebsd-zope-desc: Zope for FreeBSD mailing list :freebsd-zope-url: https://lists.FreeBSD.org/subscription/freebsd-zope :freebsd-zope: {freebsd-zope-url}[{freebsd-zope-desc}] :committers-name: FreeBSD committer 的邮件列表 :committers: {committers-name} :core-name: FreeBSD 核心团队 :core: {core-name} :developers-name: FreeBSD 开发人员邮件列表 :developers: {committers-developers} :doc-committers-name: FreeBSD doc/ committer 的邮件列表 :doc-committers: {doc-committers-name} :doc-developers-name: FreeBSD doc/ 的开发人员邮件列表 :doc-developers: {doc-developers-name} :ports-committers-name: FreeBSD ports/ committer 的邮件列表 :ports-committers: {ports-committers-name} :ports-developers-name: FreeBSD ports/ 开发人员邮件列表 :ports-developers: {ports-developers-name} :src-committers-name: FreeBSD src/ committer 的邮件列表 :src-committers: {src-committers-name} :src-developers-name: FreeBSD src/ 开发人员邮件列表 :src-developers: {src-developers-name} // Not really proper mailing lists :bugfollowup: bug-followup@FreeBSD.org :bugsubmit: {bugfollowup} :majordomo: majordomo@FreeBSD.org // The following mailinglists are deactivated. Keep them until all references // in the documentation are gone. :freebsd-alpha-desc: FreeBSD Alpha 移植邮件列表 :freebsd-alpha-url: https://lists.FreeBSD.org/subscription/freebsd-alpha :freebsd-alpha: {freebsd-alpha-url}[{freebsd-alpha-desc}] :freebsd-qa-desc: FreeBSD 质量保障邮件列表 :freebsd-qa-url: https://lists.FreeBSD.org/subscription/freebsd-qa :freebsd-qa: {freebsd-qa-url}[{freebsd-qa-desc}] :freebsd-smp-desc: FreeBSD 对称多处理 (SMP) 邮件列表 :freebsd-smp-url: https://lists.FreeBSD.org/subscription/freebsd-smp :freebsd-smp: {freebsd-smp-url}[{freebsd-smp-desc}] diff --git a/shared/zh-tw/mailing-lists.adoc b/shared/zh-tw/mailing-lists.adoc index 7bad3ec4f0..b114e662ae 100644 --- a/shared/zh-tw/mailing-lists.adoc +++ b/shared/zh-tw/mailing-lists.adoc @@ -1,645 +1,645 @@ // // Names of FreeBSD 郵遞論壇s and related software. // // The FreeBSD Traditional-Chinese Documentation Project // // $FreeBSD$ // -:mailman-lists-desc: FreeBSD list server -:mailman-lists-url: https://lists.freebsd.org -:mailman-lists: {mailman-lists-url}[{mailman-lists-desc}] +:mailing-lists-desc: FreeBSD list server +:mailing-lists-url: https://lists.freebsd.org +:mailing-lists: {mailing-lists-url}[{mailing-lists-desc}] :freebsd-acpi-desc: FreeBSD ACPI 郵遞論壇 :freebsd-acpi-url: https://lists.FreeBSD.org/subscription/freebsd-acpi :freebsd-acpi: {freebsd-acpi-url}[{freebsd-acpi-desc}] :freebsd-advocacy-desc: FreeBSD advocacy 郵遞論壇 :freebsd-advocacy-url: https://lists.FreeBSD.org/subscription/freebsd-advocacy :freebsd-advocacy: {freebsd-advocacy-url}[{freebsd-advocacy-desc}] :freebsd-afs-desc: FreeBSD AFS porting 郵遞論壇 :freebsd-afs-url: https://lists.FreeBSD.org/subscription/freebsd-afs :freebsd-afs: {freebsd-afs-url}[{freebsd-afs-desc}] :freebsd-aic7xxx-desc: FreeBSD Adaptec AIC7xxx discussions 郵遞論壇 :freebsd-aic7xxx-url: https://lists.FreeBSD.org/subscription/aic7xxx :freebsd-aic7xxx: {freebsd-aic7xxx-url}[{freebsd-aic7xxx-desc}] :freebsd-amd64-desc: Porting FreeBSD to AMD64 systems :freebsd-amd64-url: https://lists.FreeBSD.org/subscription/freebsd-amd64 :freebsd-amd64: {freebsd-amd64-url}[{freebsd-amd64-desc}] :freebsd-announce-desc: FreeBSD announcements 郵遞論壇 :freebsd-announce-url: https://lists.FreeBSD.org/subscription/freebsd-announce :freebsd-announce: {freebsd-announce-url}[{freebsd-announce-desc}] :freebsd-apache-desc: FreeBSD Apache 郵遞論壇 :freebsd-apache-url: https://lists.FreeBSD.org/subscription/freebsd-apache :freebsd-apache: {freebsd-apache-url}[{freebsd-apache-desc}] :freebsd-arch-desc: FreeBSD architecture and design 郵遞論壇 :freebsd-arch-url: https://lists.FreeBSD.org/subscription/freebsd-arch :freebsd-arch: {freebsd-arch-url}[{freebsd-arch-desc}] :freebsd-arm-desc: FreeBSD ARM porting 郵遞論壇 :freebsd-arm-url: https://lists.FreeBSD.org/subscription/freebsd-arm :freebsd-arm: {freebsd-arm-url}[{freebsd-arm-desc}] :freebsd-atm-desc: FreeBSD ATM networking 郵遞論壇 :freebsd-atm-url: https://lists.FreeBSD.org/subscription/freebsd-atm :freebsd-atm: {freebsd-atm-url}[{freebsd-atm-desc}] :freebsd-bluetooth-desc: FreeBSD Bluetooth 郵遞論壇 :freebsd-bluetooth-url: https://lists.FreeBSD.org/subscription/freebsd-bluetooth :freebsd-bluetooth: {freebsd-bluetooth-url}[{freebsd-bluetooth-desc}] :freebsd-bugbusters-desc: FreeBSD bugbusters 郵遞論壇 :freebsd-bugbusters-url: https://lists.FreeBSD.org/subscription/freebsd-bugbusters :freebsd-bugbusters: {freebsd-bugbusters-url}[{freebsd-bugbusters-desc}] :freebsd-bugs-desc: FreeBSD problem reports 郵遞論壇 :freebsd-bugs-url: https://lists.FreeBSD.org/subscription/freebsd-bugs :freebsd-bugs: {freebsd-bugs-url}[{freebsd-bugs-desc}] :freebsd-chat-desc: FreeBSD chat 郵遞論壇 :freebsd-chat-url: https://lists.FreeBSD.org/subscription/freebsd-chat :freebsd-chat: {freebsd-chat-url}[{freebsd-chat-desc}] :freebsd-chromium-desc: FreeBSD-specific Chromium issues :freebsd-chromium-url: https://lists.FreeBSD.org/subscription/freebsd-chromium :freebsd-chromium: {freebsd-chromium-url}[{freebsd-chromium-desc}] :freebsd-cluster-desc: FreeBSD clustering 郵遞論壇 :freebsd-cluster-url: https://lists.FreeBSD.org/subscription/freebsd-cluster :freebsd-cluster: {freebsd-cluster-url}[{freebsd-cluster-desc}] :freebsd-current-desc: FreeBSD-CURRENT 郵遞論壇 :freebsd-current-url: https://lists.FreeBSD.org/subscription/freebsd-current :freebsd-current: {freebsd-current-url}[{freebsd-current-desc}] :ctm-announce-desc: CTM 公告 :ctm-announce-url: https://lists.FreeBSD.org/subscription/ctm-announce :ctm-announce: {ctm-announce-url}[{ctm-announce-desc}] :ctm-src-4-desc: CTM 4-STABLE src branch distribution 郵遞論壇 :ctm-src-4-url: https://lists.FreeBSD.org/subscription/ctm-src-4 :ctm-src-4: {ctm-src-4-url}[{ctm-src-4-desc}] :ctm-src-5-desc: CTM 5-STABLE src branch distribution mailing list :ctm-src-5-url: https://lists.FreeBSD.org/subscription/ctm-src-5 :ctm-src-5: {ctm-src-5-url}[{ctm-src-5-desc}] :ctm-src-6-desc: CTM 6-STABLE src branch distribution mailing list :ctm-src-6-url: https://lists.FreeBSD.org/subscription/ctm-src-6 :ctm-src-6: {ctm-src-6-url}[{ctm-src-6-desc}] :ctm-src-7-desc: CTM 7-STABLE src branch distribution mailing list :ctm-src-7-url: https://lists.FreeBSD.org/subscription/ctm-src-7 :ctm-src-7: {ctm-src-7-url}[{ctm-src-7-desc}] :ctm-src-8-desc: CTM 8-STABLE src branch distribution mailing list :ctm-src-8-url: https://lists.FreeBSD.org/subscription/ctm-src-8 :ctm-src-8: {ctm-src-8-url}[{ctm-src-8-desc}] :ctm-src-9-desc: CTM 9-STABLE src branch distribution mailing list :ctm-src-9-url: https://lists.FreeBSD.org/subscription/ctm-src-9 :ctm-src-9: {ctm-src-9-url}[{ctm-src-9-desc}] :ctm-src-10-desc: CTM 10-STABLE src branch distribution mailing list :ctm-src-10-url: https://lists.FreeBSD.org/subscription/ctm-src-10 :ctm-src-10: {ctm-src-10-url}[{ctm-src-10-desc}] :ctm-src-cur-desc: CTM -CURRENT src branch distribution 郵遞論壇 :ctm-src-cur-url: https://lists.FreeBSD.org/subscription/ctm-src-cur :ctm-src-cur: {ctm-src-cur-url}[{ctm-src-cur-desc}] :ctm-users-desc: CTM user discussion 郵遞論壇 :ctm-users-url: https://lists.FreeBSD.org/subscription/ctm-users :ctm-users: {ctm-users-url}[{ctm-users-desc}] :cvs-all-desc: FreeBSD CVS commit message 郵遞論壇 :cvs-all-url: https://lists.FreeBSD.org/subscription/cvs-all :cvs-all: {cvs-all-url}[{cvs-all-desc}] :cvs-doc-desc: FreeBSD CVS doc commit list :cvs-doc-url: https://lists.FreeBSD.org/subscription/cvs-doc :cvs-doc: {cvs-doc-url}[{cvs-doc-desc}] :cvs-ports-desc: FreeBSD CVS ports commit list :cvs-ports-url: https://lists.FreeBSD.org/subscription/cvs-ports :cvs-ports: {cvs-ports-url}[{cvs-ports-desc}] :cvs-projects-desc: FreeBSD CVS projects commit list :cvs-projects-url: https://lists.FreeBSD.org/subscription/cvs-projects :cvs-projects: {cvs-projects-url}[{cvs-projects-desc}] :cvs-src-desc: FreeBSD CVS src commit list :cvs-src-url: https://lists.FreeBSD.org/subscription/cvs-src :cvs-src: {cvs-src-url}[{cvs-src-desc}] :freebsd-database-desc: FreeBSD based Databases 郵遞論壇 :freebsd-database-url: https://lists.FreeBSD.org/subscription/freebsd-database :freebsd-database: {freebsd-database-url}[{freebsd-database-desc}] :freebsd-desktop-desc: Using and improving FreeBSD on the desktop :freebsd-desktop-url: :freebsd-desktop: {freebsd-desktop-url}[{freebsd-desktop-desc}] :freebsd-doc-desc: FreeBSD documentation project 郵遞論壇 :freebsd-doc-url: https://lists.FreeBSD.org/subscription/freebsd-doc :freebsd-doc: {freebsd-doc-url}[{freebsd-doc-desc}] :freebsd-drivers-desc: Writing device drivers for FreeBSD :freebsd-drivers-url: https://lists.FreeBSD.org/subscription/freebsd-drivers :freebsd-drivers: {freebsd-drivers-url}[{freebsd-drivers-desc}] :freebsd-dtrace-desc: Using and working on DTrace in FreeBSD. :freebsd-dtrace-url: https://lists.FreeBSD.org/subscription/freebsd-dtrace :freebsd-dtrace: {freebsd-dtrace-url}[{freebsd-dtrace-desc}] :freebsd-eclipse-desc: FreeBSD users of Eclipse IDE, tools, rich client applications and ports :freebsd-eclipse-url: https://lists.FreeBSD.org/subscription/freebsd-eclipse :freebsd-eclipse: {freebsd-eclipse-url}[{freebsd-eclipse-desc}] :freebsd-embedded-desc: FreeBSD-embedded 郵遞論壇 :freebsd-embedded-url: https://lists.FreeBSD.org/subscription/freebsd-embedded :freebsd-embedded: {freebsd-embedded-url}[{freebsd-embedded-desc}] :freebsd-emulation-desc: FreeBSD-emulation 郵遞論壇 :freebsd-emulation-url: https://lists.FreeBSD.org/subscription/freebsd-emulation :freebsd-emulation: {freebsd-emulation-url}[{freebsd-emulation-desc}] :freebsd-enlightenment-desc: FreeBSD-enlightenment mailing list :freebsd-enlightenment-url: https://lists.FreeBSD.org/subscription/freebsd-enlightenment :freebsd-enlightenment: {freebsd-enlightenment-url}[{freebsd-enlightenment-desc}] :freebsd-eol-desc: FreeBSD-eol 郵遞論壇 :freebsd-eol-url: https://lists.FreeBSD.org/subscription/freebsd-eol :freebsd-eol: {freebsd-eol-url}[{freebsd-eol-desc}] :freebsd-firewire-desc: FreeBSD FireWire (IEEE 1394) discussion 郵遞論壇 :freebsd-firewire-url: https://lists.FreeBSD.org/subscription/freebsd-firewire :freebsd-firewire: {freebsd-firewire-url}[{freebsd-firewire-desc}] :freebsd-fortran-desc: Fortran on FreeBSD mailing list :freebsd-fortran-url: https://lists.FreeBSD.org/subscription/freebsd-fortran :freebsd-fortran: {freebsd-fortran-url}[{freebsd-fortran-desc}] :freebsd-fs-desc: FreeBSD file system project 郵遞論壇 :freebsd-fs-url: https://lists.FreeBSD.org/subscription/freebsd-fs :freebsd-fs: {freebsd-fs-url}[{freebsd-fs-desc}] :freebsd-games-desc: Games on FreeBSD mailing list :freebsd-games-url: https://lists.FreeBSD.org/subscription/freebsd-games :freebsd-games: {freebsd-games-url}[{freebsd-games-desc}] :freebsd-gecko-desc: FreeBSD gecko mailing list :freebsd-gecko-url: https://lists.FreeBSD.org/subscription/freebsd-gecko :freebsd-gecko: {freebsd-gecko-url}[{freebsd-gecko-desc}] :freebsd-geom-desc: FreeBSD GEOM 郵遞論壇 :freebsd-geom-url: https://lists.FreeBSD.org/subscription/freebsd-geom :freebsd-geom: {freebsd-geom-url}[{freebsd-geom-desc}] :freebsd-git-desc: Discussion of git use in the FreeBSD project :freebsd-git-url: https://lists.FreeBSD.org/subscription/freebsd-git :freebsd-git: {freebsd-git-url}[{freebsd-git-desc}] :freebsd-gnome-desc: FreeBSD GNOME and GNOME applications 郵遞論壇 :freebsd-gnome-url: https://lists.FreeBSD.org/subscription/freebsd-gnome :freebsd-gnome: {freebsd-gnome-url}[{freebsd-gnome-desc}] :freebsd-hackers-desc: FreeBSD technical discussions 郵遞論壇 :freebsd-hackers-url: https://lists.FreeBSD.org/subscription/freebsd-hackers :freebsd-hackers: {freebsd-hackers-url}[{freebsd-hackers-desc}] :freebsd-hardware-desc: FreeBSD hardware and equipment 郵遞論壇 :freebsd-hardware-url: https://lists.FreeBSD.org/subscription/freebsd-hardware :freebsd-hardware: {freebsd-hardware-url}[{freebsd-hardware-desc}] :freebsd-hubs-desc: FreeBSD mirror sites 郵遞論壇s :freebsd-hubs-url: https://lists.FreeBSD.org/subscription/freebsd-hubs :freebsd-hubs: {freebsd-hubs-url}[{freebsd-hubs-desc}] :freebsd-i18n-desc: FreeBSD internationalization 郵遞論壇 :freebsd-i18n-url: https://lists.FreeBSD.org/subscription/freebsd-i18n :freebsd-i18n: {freebsd-i18n-url}[{freebsd-i18n-desc}] :freebsd-i386-desc: FreeBSD i386-specific issues 郵遞論壇 :freebsd-i386-url: https://lists.FreeBSD.org/subscription/freebsd-i386 :freebsd-i386: {freebsd-i386-url}[{freebsd-i386-desc}] :freebsd-ia32-desc: FreeBSD IA32 porting 郵遞論壇 :freebsd-ia32-url: https://lists.FreeBSD.org/subscription/freebsd-ia32 :freebsd-ia32: {freebsd-ia32-url}[{freebsd-ia32-desc}] :freebsd-ia64-desc: FreeBSD IA64 porting 郵遞論壇 :freebsd-ia64-url: https://lists.FreeBSD.org/subscription/freebsd-ia64 :freebsd-ia64: {freebsd-ia64-url}[{freebsd-ia64-desc}] :freebsd-infiniband-desc: Infiniband on FreeBSD :freebsd-infiniband-url: https://lists.FreeBSD.org/subscription/freebsd-infiniband :freebsd-infiniband: {freebsd-infiniband-url}[{freebsd-infiniband-desc}] :freebsd-ipfw-desc: FreeBSD IPFW code 郵遞論壇 :freebsd-ipfw-url: https://lists.FreeBSD.org/subscription/freebsd-ipfw :freebsd-ipfw: {freebsd-ipfw-url}[{freebsd-ipfw-desc}] :freebsd-isdn-desc: FreeBSD ISDN 郵遞論壇 :freebsd-isdn-url: https://lists.FreeBSD.org/subscription/freebsd-isdn :freebsd-isdn: {freebsd-isdn-url}[{freebsd-isdn-desc}] :freebsd-isp-desc: FreeBSD Internet service provider's 郵遞論壇 :freebsd-isp-url: https://lists.FreeBSD.org/subscription/freebsd-isp :freebsd-isp: {freebsd-isp-url}[{freebsd-isp-desc}] :freebsd-jail-desc: FreeBSD jails 郵遞論壇 :freebsd-jail-url: https://lists.FreeBSD.org/subscription/freebsd-jail :freebsd-jail: {freebsd-jail-url}[{freebsd-jail-desc}] :freebsd-java-desc: FreeBSD Java Language 郵遞論壇 :freebsd-java-url: https://lists.FreeBSD.org/subscription/freebsd-java :freebsd-java: {freebsd-java-url}[{freebsd-java-desc}] :freebsd-jobs-desc: FreeBSD related employment 郵遞論壇 :freebsd-jobs-url: https://lists.FreeBSD.org/subscription/freebsd-jobs :freebsd-jobs: {freebsd-jobs-url}[{freebsd-jobs-desc}] :freebsd-kde-desc: FreeBSD KDE/Qt and KDE applications 郵遞論壇 :freebsd-kde-url: https://mail.kde.org/mailman/listinfo/kde-freebsd :freebsd-kde: {freebsd-kde-url}[{freebsd-kde-desc}] :freebsd-lfs-desc: FreeBSD LFS porting 郵遞論壇 :freebsd-lfs-url: https://lists.FreeBSD.org/subscription/freebsd-lfs :freebsd-lfs: {freebsd-lfs-url}[{freebsd-lfs-desc}] :freebsd-mips-desc: FreeBSD MIPS porting 郵遞論壇 :freebsd-mips-url: https://lists.FreeBSD.org/subscription/freebsd-mips :freebsd-mips: {freebsd-mips-url}[{freebsd-mips-desc}] :mirror-announce-desc: FreeBSD mirror site administrators :mirror-announce-url: https://lists.FreeBSD.org/subscription/mirror-announce :mirror-announce: {mirror-announce-url}[{mirror-announce-desc}] :freebsd-mobile-desc: FreeBSD laptop computer 郵遞論壇 :freebsd-mobile-url: https://lists.FreeBSD.org/subscription/freebsd-mobile :freebsd-mobile: {freebsd-mobile-url}[{freebsd-mobile-desc}] :freebsd-mozilla-desc: FreeBSD port of the Mozilla browser 郵遞論壇 :freebsd-mozilla-url: https://lists.FreeBSD.org/subscription/freebsd-mozilla :freebsd-mozilla: {freebsd-mozilla-url}[{freebsd-mozilla-desc}] :freebsd-multimedia-desc: FreeBSD multimedia 郵遞論壇 :freebsd-multimedia-url: https://lists.FreeBSD.org/subscription/freebsd-multimedia :freebsd-multimedia: {freebsd-multimedia-url}[{freebsd-multimedia-desc}] :freebsd-net-desc: FreeBSD networking 郵遞論壇 :freebsd-net-url: https://lists.FreeBSD.org/subscription/freebsd-net :freebsd-net: {freebsd-net-url}[{freebsd-net-desc}] :freebsd-newbies-desc: FreeBSD new users 郵遞論壇 :freebsd-newbies-url: https://lists.FreeBSD.org/subscription/freebsd-newbies :freebsd-newbies: {freebsd-newbies-url}[{freebsd-newbies-desc}] :freebsd-new-bus-desc: FreeBSD new-bus 郵遞論壇 :freebsd-new-bus-url: https://lists.FreeBSD.org/subscription/freebsd-new-bus :freebsd-new-bus: {freebsd-new-bus-url}[{freebsd-new-bus-desc}] :freebsd-numerics-desc: Discussions of high quality implementation of libm functions :freebsd-numerics-url: https://lists.FreeBSD.org/subscription/freebsd-numerics :freebsd-numerics: {freebsd-numerics-url}[{freebsd-numerics-desc}] :freebsd-office-desc: Office applications on FreeBSD :freebsd-office-url: https://lists.FreeBSD.org/subscription/freebsd-office :freebsd-office: {freebsd-office-url}[{freebsd-office-desc}] :freebsd-ops-announce-desc: Project Infrastructure Announcements :freebsd-ops-announce-url: https://lists.FreeBSD.org/subscription/freebsd-ops-announce :freebsd-ops-announce: {freebsd-ops-announce-url}[{freebsd-ops-announce-desc}] :freebsd-performance-desc: FreeBSD performance 郵遞論壇 :freebsd-performance-url: https://lists.FreeBSD.org/subscription/freebsd-performance :freebsd-performance: {freebsd-performance-url}[{freebsd-performance-desc}] :freebsd-perl-desc: FreeBSD Perl 郵遞論壇 :freebsd-perl-url: https://lists.FreeBSD.org/subscription/freebsd-perl :freebsd-perl: {freebsd-perl-url}[{freebsd-perl-desc}] :freebsd-pf-desc: FreeBSD packet filter 郵遞論壇 :freebsd-pf-url: https://lists.FreeBSD.org/subscription/freebsd-pf :freebsd-pf: {freebsd-pf-url}[{freebsd-pf-desc}] :freebsd-pkg-desc: Binary package management and package tools discussion :freebsd-pkg-url: https://lists.FreeBSD.org/subscription/freebsd-pkg :freebsd-pkg: {freebsd-pkg-url}[{freebsd-pkg-desc}] :freebsd-pkg-fallout-desc: Fallout logs from package building :freebsd-pkg-fallout-url: https://lists.FreeBSD.org/subscription/freebsd-pkg-fallout :freebsd-pkg-fallout: {freebsd-pkg-fallout-url}[{freebsd-pkg-fallout-desc}] :freebsd-platforms-desc: FreeBSD non-Intel platforms porting 郵遞論壇 :freebsd-platforms-url: https://lists.FreeBSD.org/subscription/freebsd-platforms :freebsd-platforms: {freebsd-platforms-url}[{freebsd-platforms-desc}] :freebsd-ports-desc: FreeBSD ports 郵遞論壇 :freebsd-ports-url: https://lists.FreeBSD.org/subscription/freebsd-ports :freebsd-ports: {freebsd-ports-url}[{freebsd-ports-desc}] :freebsd-ports-announce-desc: FreeBSD ports announce mailing list :freebsd-ports-announce-url: https://lists.FreeBSD.org/subscription/freebsd-ports-announce :freebsd-ports-announce: {freebsd-ports-announce-url}[{freebsd-ports-announce-desc}] :freebsd-ports-bugs-desc: FreeBSD ports bugs 郵遞論壇 :freebsd-ports-bugs-url: https://lists.FreeBSD.org/subscription/freebsd-ports-bugs :freebsd-ports-bugs: {freebsd-ports-bugs-url}[{freebsd-ports-bugs-desc}] :freebsd-ppc-desc: FreeBSD PowerPC porting 郵遞論壇 :freebsd-ppc-url: https://lists.FreeBSD.org/subscription/freebsd-ppc :freebsd-ppc: {freebsd-ppc-url}[{freebsd-ppc-desc}] :freebsd-proliant-desc: Technical discussion of FreeBSD on HP ProLiant server platforms :freebsd-proliant-url: https://lists.FreeBSD.org/subscription/freebsd-proliant :freebsd-proliant: {freebsd-proliant-url}[{freebsd-proliant-desc}] :freebsd-python-desc: FreeBSD Python 郵遞論壇 :freebsd-python-url: https://lists.FreeBSD.org/subscription/freebsd-python :freebsd-python: {freebsd-python-url}[{freebsd-python-desc}] :freebsd-questions-desc: FreeBSD general questions 郵遞論壇 :freebsd-questions-url: https://lists.FreeBSD.org/subscription/freebsd-questions :freebsd-questions: {freebsd-questions-url}[{freebsd-questions-desc}] :freebsd-rc-desc: FreeBSD boot script system 郵遞論壇 :freebsd-rc-url: https://lists.FreeBSD.org/subscription/freebsd-rc :freebsd-rc: {freebsd-rc-url}[{freebsd-rc-desc}] :freebsd-realtime-desc: FreeBSD realtime extensions 郵遞論壇 :freebsd-realtime-url: https://lists.FreeBSD.org/subscription/freebsd-realtime :freebsd-realtime: {freebsd-realtime-url}[{freebsd-realtime-desc}] :freebsd-ruby-desc: FreeBSD Ruby mailing list :freebsd-ruby-url: https://lists.FreeBSD.org/subscription/freebsd-ruby :freebsd-ruby: {freebsd-ruby-url}[{freebsd-ruby-desc}] :freebsd-scsi-desc: FreeBSD SCSI subsystem 郵遞論壇 :freebsd-scsi-url: https://lists.FreeBSD.org/subscription/freebsd-scsi :freebsd-scsi: {freebsd-scsi-url}[{freebsd-scsi-desc}] :freebsd-security-desc: FreeBSD security 郵遞論壇 :freebsd-security-url: https://lists.FreeBSD.org/subscription/freebsd-security :freebsd-security: {freebsd-security-url}[{freebsd-security-desc}] :freebsd-security-notifications-desc: FreeBSD security notifications 郵遞論壇 :freebsd-security-notifications-url: https://lists.FreeBSD.org/subscription/freebsd-security-notifications :freebsd-security-notifications: {freebsd-security-notifications-url}[{freebsd-security-notifications-desc}] :freebsd-small-desc: FreeBSD-small 郵遞論壇 :freebsd-small-url: https://lists.FreeBSD.org/subscription/freebsd-small :freebsd-small: {freebsd-small-url}[{freebsd-small-desc}] :freebsd-snapshots-desc: FreeBSD Development Snapshot Announcements :freebsd-snapshots-url: https://lists.FreeBSD.org/subscription/freebsd-snapshots :freebsd-snapshots: {freebsd-snapshots-url}[{freebsd-snapshots-desc}] :freebsd-sparc64-desc: FreeBSD SPARC porting 郵遞論壇 :freebsd-sparc64-url: https://lists.FreeBSD.org/subscription/freebsd-sparc64 :freebsd-sparc64: {freebsd-sparc64-url}[{freebsd-sparc64-desc}] :freebsd-stable-desc: FreeBSD-STABLE; 郵遞論壇 :freebsd-stable-url: https://lists.FreeBSD.org/subscription/freebsd-stable :freebsd-stable: {freebsd-stable-url}[{freebsd-stable-desc}] :freebsd-standards-desc: FreeBSD C99 and POSIX compliance 郵遞論壇 :freebsd-standards-url: https://lists.FreeBSD.org/subscription/freebsd-standards :freebsd-standards: {freebsd-standards-url}[{freebsd-standards-desc}] :freebsd-sun4v-desc: FreeBSD sun4v porting 郵遞論壇 :freebsd-sun4v-url: https://lists.FreeBSD.org/subscription/freebsd-sun4v :freebsd-sun4v: {freebsd-sun4v-url}[{freebsd-sun4v-desc}] :svn-doc-all-desc: SVN commit messages for the entire doc tree (except for "user", "projects" and "translations") :svn-doc-all-url: https://lists.FreeBSD.org/subscription/svn-doc-all :svn-doc-all: {svn-doc-all-url}[{svn-doc-all-desc}] :svn-doc-head-desc: SVN commit messages for the doc tree for head/ :svn-doc-head-url: https://lists.FreeBSD.org/subscription/svn-doc-head :svn-doc-head: {svn-doc-head-url}[{svn-doc-head-desc}] :svn-doc-projects-desc: SVN commit messages for the doc "projects" tree :svn-doc-projects-url: https://lists.FreeBSD.org/subscription/svn-doc-projects :svn-doc-projects: {svn-doc-projects-url}[{svn-doc-projects-desc}] :svn-doc-svnadmin-desc: SVN commit messages for the doc admin / configuration tree :svn-doc-svnadmin-url: https://lists.FreeBSD.org/subscription/svn-doc-svnadmin :svn-doc-svnadmin: {svn-doc-svnadmin-url}[{svn-doc-svnadmin-desc}] :svn-ports-all-desc: SVN commit messages for the entire ports tree :svn-ports-all-url: https://lists.FreeBSD.org/subscription/svn-ports-all :svn-ports-all: {svn-ports-all-url}[{svn-ports-all-desc}] :svn-ports-head-desc: SVN commit messages for the ports tree for head/ :svn-ports-head-url: https://lists.FreeBSD.org/subscription/svn-ports-head :svn-ports-head: {svn-ports-head-url}[{svn-ports-head-desc}] :svn-ports-svnadmin-desc: SVN commit messages for the ports admin / configuration tree :svn-ports-svnadmin-url: https://lists.FreeBSD.org/subscription/svn-ports-svnadmin :svn-ports-svnadmin: {svn-ports-svnadmin-url}[{svn-ports-svnadmin-desc}] :svn-src-all-desc: SVN commit messages for the entire src tree (except for "user" and "projects") :svn-src-all-url: https://lists.FreeBSD.org/subscription/svn-src-all :svn-src-all: {svn-src-all-url}[{svn-src-all-desc}] :svn-src-head-desc: SVN commit messages for the src tree for head/-current :svn-src-head-url: https://lists.FreeBSD.org/subscription/svn-src-head :svn-src-head: {svn-src-head-url}[{svn-src-head-desc}] :svn-src-projects-desc: SVN commit messages for the src "projects" tree :svn-src-projects-url: https://lists.FreeBSD.org/subscription/svn-src-projects :svn-src-projects: {svn-src-projects-url}[{svn-src-projects-desc}] :svn-src-release-desc: SVN commit messages for releases in the src tree :svn-src-release-url: https://lists.FreeBSD.org/subscription/svn-src-release :svn-src-release: {svn-src-release-url}[{svn-src-release-desc}] :svn-src-releng-desc: SVN commit messages for the release engineering / security commits to the src tree :svn-src-releng-url: https://lists.FreeBSD.org/subscription/svn-src-releng :svn-src-releng: {svn-src-releng-url}[{svn-src-releng-desc}] :svn-src-stable-desc: SVN commit messages for all the -stable branches of the src tree :svn-src-stable-url: https://lists.FreeBSD.org/subscription/svn-src-stable :svn-src-stable: {svn-src-stable-url}[{svn-src-stable-desc}] :svn-src-stable-6-desc: SVN commit messages for only the 6-stable src tree :svn-src-stable-6-url: https://lists.FreeBSD.org/subscription/svn-src-stable-6 :svn-src-stable-6: {svn-src-stable-6-url}[{svn-src-stable-6-desc}] :svn-src-stable-7-desc: SVN commit messages for only the 7-stable src tree :svn-src-stable-7-url: https://lists.FreeBSD.org/subscription/svn-src-stable-7 :svn-src-stable-7: {svn-src-stable-7-url}[{svn-src-stable-7-desc}] :svn-src-stable-8-desc: SVN commit messages for only the 8-stable src tree :svn-src-stable-8-url: https://lists.FreeBSD.org/subscription/svn-src-stable-8 :svn-src-stable-8: {svn-src-stable-8-url}[{svn-src-stable-8-desc}] :svn-src-stable-9-desc: SVN commit messages for only the 9-stable src tree :svn-src-stable-9-url: https://lists.FreeBSD.org/subscription/svn-src-stable-9 :svn-src-stable-9: {svn-src-stable-9-url}[{svn-src-stable-9-desc}] :svn-src-stable-10-desc: SVN commit messages for only the 10-stable src tree :svn-src-stable-10-url: https://lists.FreeBSD.org/subscription/svn-src-stable-10 :svn-src-stable-10: {svn-src-stable-10-url}[{svn-src-stable-10-desc}] :svn-src-stable-other-desc: SVN commit messages for the old stable src trees :svn-src-stable-other-url: https://lists.FreeBSD.org/subscription/svn-src-stable-other :svn-src-stable-other: {svn-src-stable-other-url}[{svn-src-stable-other-desc}] :svn-src-svnadmin-desc: SVN commit messages for the admin / configuration tree :svn-src-svnadmin-url: https://lists.FreeBSD.org/subscription/svn-src-svnadmin :svn-src-svnadmin: {svn-src-svnadmin-url}[{svn-src-svnadmin-desc}] :svn-src-user-desc: SVN commit messages for the experimental "user" src tree :svn-src-user-url: https://lists.FreeBSD.org/subscription/svn-src-user :svn-src-user: {svn-src-user-url}[{svn-src-user-desc}] :svn-src-vendor-desc: SVN commit messages for the vendor work area tree :svn-src-vendor-url: https://lists.FreeBSD.org/subscription/svn-src-vendor :svn-src-vendor: {svn-src-vendor-url}[{svn-src-vendor-desc}] :freebsd-sysinstall-desc: Sysinstall development mailing list :freebsd-sysinstall-url: https://lists.FreeBSD.org/subscription/freebsd-sysinstall :freebsd-sysinstall: {freebsd-sysinstall-url}[{freebsd-sysinstall-desc}] :freebsd-tcltk-desc: FreeBSD-specific Tcl/Tk discussions :freebsd-tcltk-url: https://lists.FreeBSD.org/subscription/freebsd-tcltk :freebsd-tcltk: {freebsd-tcltk-url}[{freebsd-tcltk-desc}] :freebsd-test-desc: FreeBSD test 郵遞論壇 :freebsd-test-url: https://lists.FreeBSD.org/subscription/freebsd-test :freebsd-test: {freebsd-test-url}[{freebsd-test-desc}] :freebsd-testing-desc: FreeBSD performance and stability testing 郵遞論壇 :freebsd-testing-url: https://lists.FreeBSD.org/subscription/freebsd-testing :freebsd-testing: {freebsd-testing-url}[{freebsd-testing-desc}] :freebsd-tex-desc: Porting TeX and its applications to FreeBSD :freebsd-tex-url: https://lists.FreeBSD.org/subscription/freebsd-tex :freebsd-tex: {freebsd-tex-url}[{freebsd-tex-desc}] :freebsd-threads-desc: FreeBSD threads 郵遞論壇 :freebsd-threads-url: https://lists.FreeBSD.org/subscription/freebsd-threads :freebsd-threads: {freebsd-threads-url}[{freebsd-threads-desc}] :freebsd-tilera-desc: Porting FreeBSD to the Tilera family of CPUs :freebsd-tilera-url: https://lists.FreeBSD.org/subscription/freebsd-tilera :freebsd-tilera: {freebsd-tilera-url}[{freebsd-tilera-desc}] :freebsd-tokenring-desc: FreeBSD tokenring 郵遞論壇 :freebsd-tokenring-url: https://lists.FreeBSD.org/subscription/freebsd-tokenring :freebsd-tokenring: {freebsd-tokenring-url}[{freebsd-tokenring-desc}] :freebsd-toolchain-desc: FreeBSD integrated toolchain mailing list :freebsd-toolchain-url: https://lists.FreeBSD.org/subscription/freebsd-toolchain :freebsd-toolchain: {freebsd-toolchain-url}[{freebsd-toolchain-desc}] :freebsd-translators-desc: FreeBSD translators mailing list :freebsd-translators-url: https://lists.FreeBSD.org/subscription/freebsd-translators :freebsd-translators: {freebsd-translators-url}[{freebsd-translators-desc}] :freebsd-usb-desc: FreeBSD USB 郵遞論壇 :freebsd-usb-url: https://lists.FreeBSD.org/subscription/freebsd-usb :freebsd-usb: {freebsd-usb-url}[{freebsd-usb-desc}] :freebsd-user-groups-desc: FreeBSD user group coordination 郵遞論壇 :freebsd-user-groups-url: https://lists.FreeBSD.org/subscription/freebsd-user-groups :freebsd-user-groups: {freebsd-user-groups-url}[{freebsd-user-groups-desc}] :freebsd-vendors-desc: FreeBSD vendors pre-release coordination 郵遞論壇 :freebsd-vendors-url: https://lists.FreeBSD.org/subscription/freebsd-vendors :freebsd-vendors: {freebsd-vendors-url}[{freebsd-vendors-desc}] :freebsd-virtualization-desc: Discussion of various virtualization techniques supported by FreeBSD :freebsd-virtualization-url: https://lists.FreeBSD.org/subscription/freebsd-virtualization :freebsd-virtualization: {freebsd-virtualization-url}[{freebsd-virtualization-desc}] :freebsd-vuxml-desc: Discussion on the VuXML infrastructure :freebsd-vuxml-url: Discussion on the VuXML infrastructure :freebsd-vuxml: {freebsd-vuxml-url}[{freebsd-vuxml-desc}] :freebsd-wip-status-desc: FreeBSD Work-In-Progress Status :freebsd-wip-status-url: https://lists.FreeBSD.org/subscription/freebsd-wip-status :freebsd-wip-status: {freebsd-wip-status-url}[{freebsd-wip-status-desc}] :freebsd-wireless-desc: Discussions of 802.11 stack, tools, device driver development :freebsd-wireless-url: https://lists.FreeBSD.org/subscription/freebsd-wireless :freebsd-wireless: {freebsd-wireless-url}[{freebsd-wireless-desc}] :freebsd-www-desc: FreeBSD Webmaster 郵遞論壇 :freebsd-www-url: https://lists.FreeBSD.org/subscription/freebsd-www :freebsd-www: {freebsd-www-url}[{freebsd-www-desc}] :freebsd-x11-desc: FreeBSD X11 郵遞論壇 :freebsd-x11-url: https://lists.FreeBSD.org/subscription/freebsd-x11 :freebsd-x11: {freebsd-x11-url}[{freebsd-x11-desc}] :freebsd-xen-desc: FreeBSD port to Xen mailing list :freebsd-xen-url: https://lists.FreeBSD.org/subscription/freebsd-xen :freebsd-xen: {freebsd-xen-url}[{freebsd-xen-desc}] :freebsd-xfce-desc: XFCE for FreeBSD mailing list :freebsd-xfce-url: https://lists.FreeBSD.org/subscription/freebsd-xfce :freebsd-xfce: {freebsd-xfce-url}[{freebsd-xfce-desc}] :freebsd-zope-desc: lista de discussão sobre o uso do Zope no FreeBSD :freebsd-zope-url: https://lists.FreeBSD.org/subscription/freebsd-zope :freebsd-zope: {freebsd-zope-url}[{freebsd-zope-desc}] :committers-name: FreeBSD committer's 郵遞論壇 :committers: {committers-name} :core-name: FreeBSD core team :core: {core-name} :developers-name: FreeBSD developers mailing list :developers: {committers-developers} :doc-committers-name: FreeBSD doc/ committer's 郵遞論壇 :doc-committers: {doc-committers-name} :doc-developers-name: FreeBSD doc/ developers 郵遞論壇 :doc-developers: {doc-developers-name} :ports-committers-name: FreeBSD ports/ committer's 郵遞論壇 :ports-committers: {ports-committers-name} :ports-developers-name: FreeBSD ports/ developers 郵遞論壇 :ports-developers: {ports-developers-name} :src-committers-name: FreeBSD src/ committer's 郵遞論壇 :src-committers: {src-committers-name} :src-developers-name: FreeBSD src/ developers 郵遞論壇 :src-developers: {src-developers-name} // Not really proper mailing lists :bugfollowup: bug-followup@FreeBSD.org :bugsubmit: {bugfollowup} :majordomo: majordomo@FreeBSD.org // The following mailinglists are deactivated. Keep them until all references // in the documentation are gone. :freebsd-alpha-desc: lista de discussão sobre o port do FreeBSD para a plataforma Alpha :freebsd-alpha-url: https://lists.FreeBSD.org/subscription/freebsd-alpha :freebsd-alpha: {freebsd-alpha-url}[{freebsd-alpha-desc}] :freebsd-qa-desc: lista de discussão sobre a garantia de qualidade do FreeBSD :freebsd-qa-url: https://lists.FreeBSD.org/subscription/freebsd-qa :freebsd-qa: {freebsd-qa-url}[{freebsd-qa-desc}] :freebsd-smp-desc: lista de discussão sobre multi processamento simétrico no FreeBSD :freebsd-smp-url: https://lists.FreeBSD.org/subscription/freebsd-smp :freebsd-smp: {freebsd-smp-url}[{freebsd-smp-desc}]