Changeset View
Changeset View
Standalone View
Standalone View
documentation/content/en/articles/freebsd-update-server/_index.adoc
Context not available. | |||||
:sectnumlevels: 6 | :sectnumlevels: 6 | ||||
:source-highlighter: rouge | :source-highlighter: rouge | ||||
:experimental: | :experimental: | ||||
:images-path: articles/freebsd-update-server/ | |||||
ifeval::["{backend}" == "html5"] | ifdef::env-beastie[] | ||||
ifdef::backend-html5[] | |||||
include::shared/authors.adoc[] | include::shared/authors.adoc[] | ||||
include::shared/en/urls.adoc[] | include::shared/mirrors.adoc[] | ||||
include::shared/releases.adoc[] | |||||
include::shared/attributes/attributes-{{% lang %}}.adoc[] | |||||
include::shared/{{% lang %}}/teams.adoc[] | |||||
include::shared/{{% lang %}}/mailing-lists.adoc[] | |||||
include::shared/{{% lang %}}/urls.adoc[] | |||||
:imagesdir: ../../../images/{images-path} | |||||
endif::[] | |||||
ifdef::backend-pdf,backend-epub3[] | |||||
include::../../../../shared/asciidoctor.adoc[] | |||||
endif::[] | endif::[] | ||||
ifeval::["{backend}" == "pdf"] | |||||
include::../../../../shared/authors.adoc[] | |||||
include::../../../../shared/en/urls.adoc[] | |||||
endif::[] | endif::[] | ||||
ifeval::["{backend}" == "epub3"] | ifndef::env-beastie[] | ||||
include::../../../../shared/authors.adoc[] | include::../../../../../shared/asciidoctor.adoc[] | ||||
include::../../../../shared/en/urls.adoc[] | |||||
endif::[] | endif::[] | ||||
[.abstract-title] | [.abstract-title] | ||||
Context not available. | |||||
==== | ==== | ||||
* A user account with at least 4 GB of available space. This will allow the creation of updates for 7.1 and 7.2, but the exact space requirements may change from version to version. | * A user account with at least 4 GB of available space. This will allow the creation of updates for 7.1 and 7.2, but the exact space requirements may change from version to version. | ||||
* An man:ssh[1] account on a remote machine to upload distributed updates. | * An man:ssh[1] account on a remote machine to upload distributed updates. | ||||
* A web server, like link:{handbook}#network-apache[Apache], with over half of the space required for the build. For instance, test builds for 7.1 and 7.2 consume a total amount of 4 GB, and the webserver space needed to distribute these updates is 2.6 GB. | * A web server, like extref:{handbook}[Apache, network-apache], with over half of the space required for the build. For instance, test builds for 7.1 and 7.2 consume a total amount of 4 GB, and the webserver space needed to distribute these updates is 2.6 GB. | ||||
* Basic knowledge of shell scripting with Bourne shell, man:sh[1]. | * Basic knowledge of shell scripting with Bourne shell, man:sh[1]. | ||||
[[Configuration]] | [[Configuration]] | ||||
Context not available. | |||||
The uploaded files will need to be in the document root of the webserver in order for updates to be distributed. | The uploaded files will need to be in the document root of the webserver in order for updates to be distributed. | ||||
The exact configuration will vary depending on the web server used. | The exact configuration will vary depending on the web server used. | ||||
For the Apache web server, please refer to the link:{handbook}#network-apache[Configuration of Apache servers] section in the Handbook. | For the Apache web server, please refer to the extref:{handbook}[Configuration of Apache servers, network-apache] section in the Handbook. | ||||
Update client's `KeyPrint` and `ServerName` in [.filename]#/etc/freebsd-update.conf#, and perform updates as instructed in the link:{handbook}#updating-upgrading-freebsdupdate[FreeBSD Update] section of the Handbook. | Update client's `KeyPrint` and `ServerName` in [.filename]#/etc/freebsd-update.conf#, and perform updates as instructed in the extref:{handbook}[FreeBSD Update, updating-upgrading-freebsdupdate] section of the Handbook. | ||||
[IMPORTANT] | [IMPORTANT] | ||||
==== | ==== | ||||
Context not available. | |||||
As an example, take the patch for man:named[8]. | As an example, take the patch for man:named[8]. | ||||
Read the advisory, and grab the necessary file from link:https://www.FreeBSD.org/security/advisories/[FreeBSD Security Advisories]. | Read the advisory, and grab the necessary file from link:https://www.FreeBSD.org/security/advisories/[FreeBSD Security Advisories]. | ||||
More information on interpreting the advisory, can be found in the link:{handbook}#security-advisories[FreeBSD Handbook]. | More information on interpreting the advisory, can be found in the extref:{handbook}[FreeBSD Handbook, security-advisories]. | ||||
In the https://security.freebsd.org/advisories/FreeBSD-SA-09:12.bind.asc[security brief], this advisory is called `SA-09:12.bind`. | In the https://security.freebsd.org/advisories/FreeBSD-SA-09:12.bind.asc[security brief], this advisory is called `SA-09:12.bind`. | ||||
After downloading the file, it is required to rename the file to an appropriate patch level. | After downloading the file, it is required to rename the file to an appropriate patch level. | ||||
Context not available. | |||||
[[tips]] | [[tips]] | ||||
== Tips | == Tips | ||||
* If a custom release is built using the native `make release` link:{releng}#release-build[procedure], freebsd-update-server code will work from your release. As an example, a release without ports or documentation can be built by clearing functionality pertaining to documentation subroutines `findextradocs ()`, `addextradocs ()` and altering the download location in `fetchiso ()`, respectively, in [.filename]#scripts/build.subr#. As a last step, change the man:sha256[1] hash in [.filename]#build.conf# under your respective release and architecture and you are ready to build off your custom release. | * If a custom release is built using the native `make release` extref:{releng}[procedure, release-build], freebsd-update-server code will work from your release. As an example, a release without ports or documentation can be built by clearing functionality pertaining to documentation subroutines `findextradocs ()`, `addextradocs ()` and altering the download location in `fetchiso ()`, respectively, in [.filename]#scripts/build.subr#. As a last step, change the man:sha256[1] hash in [.filename]#build.conf# under your respective release and architecture and you are ready to build off your custom release. | ||||
+ | + | ||||
[.programlisting] | [.programlisting] | ||||
.... | .... | ||||
Context not available. | |||||
make ${COMPATFLAGS} release.1 release.2 2>&1 | make ${COMPATFLAGS} release.1 release.2 2>&1 | ||||
.... | .... | ||||
* Create an appropriate link:{handbook}#network-dns[DNS] SRV record for the update server, and put others behind it with variable weights. Using this facility will provide update mirrors, however this tip is not necessary unless you wish to provide a redundant service. | * Create an appropriate extref:{handbook}[DNS, network-dns] SRV record for the update server, and put others behind it with variable weights. Using this facility will provide update mirrors, however this tip is not necessary unless you wish to provide a redundant service. | ||||
+ | + | ||||
[.programlisting] | [.programlisting] | ||||
.... | .... | ||||
Context not available. |