1. Install required runtime and build dependencies. See
:ref:`build-requirements` for details.
-2. Download the Kea source tarball from the `ISC.org downloads
- page <https://www.isc.org/download/>`__ or the `ISC downloads site
- <https://downloads.isc.org/isc/kea/>`__.
+2. Download the Kea source tarball from
+ `the ISC.org downloads page <https://www.isc.org/download/>`__ or
+ `the ISC downloads site <https://downloads.isc.org/isc/kea/>`__ or
+ `the ISC Cloudsmith page <https://cloudsmith.io/~isc/packages/?q=format%3Araw>`__.
3. Extract the tarball. For example:
much easier. Unless specific compilation options are desired, it is usually
easier to install Kea using native packages.
-1. Go to `Kea on cloudsmith.io <https://cloudsmith.io/~isc/repos/>`__,
- choose the Kea version, and enter the repository.
+1. Go to `Kea on cloudsmith.io <https://cloudsmith.io/~isc/repos/>`__.
-2. Use ``Set Me Up`` and follow instructions to add the repository
- to the local system.
+2. Choose the Cloudsmith repository e.g. |cloudsmith_repo| for Kea |version|.
+
+3. Click on the arrow besides the ``Set Me Up`` button and select your OS flavor
+ out of: ``Alpine``, ``Debian``, ``RedHat``.
+
+4. Follow the instructions written there.
.. note::
- For example, the Debian setup instructions for Kea 2.3 can be found here:
- https://cloudsmith.io/~isc/repos/kea-2-3/setup/#formats-deb
+ For example, the Debian setup instructions for Kea 2.4 can be found here:
+ https://cloudsmith.io/~isc/repos/kea-2-4/setup/#formats-deb
The dropdown near the top of the page offers instructions for
other operating systems.
-3. Update system repositories. For example, on Debian/Ubuntu:
+5. Kea is split into various packages. The entire list is available on the
+ Cloudsmith repository page under ``Packages``, or it can be retrieved
+ using ``apk``/``apt``/``dnf``.
- .. code-block:: console
+.. tabs::
- $ sudo apt update
+ .. tab:: Debian/Ubuntu
- On CentOS/Fedora:
+ .. code-block:: console
- .. code-block:: console
+ $ apt search isc-kea
- $ sudo yum update
+ .. note::
+ ``isc-kea-dhcp4-server`` and ``isc-kea-dhcp6-server`` are empty
+ transitional packages. The working server packages are
+ ``isc-kea-dhcp4`` and ``isc-kea-dhcp6``.
- On Alpine:
+ .. tab:: Fedora/RedHat
- .. code-block:: console
+ .. code-block:: console
- # apk update
+ $ dnf search 'isc-kea*'
-4. Kea is split into various packages. The entire list is available on
- `cloudsmith.io <https://cloudsmith.io/~isc/repos/>`__ or using apt/yum/dnf.
- For example, on Debian/Ubuntu:
+ .. tab:: Alpine
- .. code-block:: console
+ .. code-block:: console
- $ apt search isc-kea
+ $ apk search isc-kea
- On CentOS/Fedora:
+6. Install the metapackage containing all the tools, libraries, servers,
+ documentation, and open source hooks:
- .. code-block:: console
+.. tabs::
- $ yum search isc-kea
+ .. tab:: Debian/Ubuntu
- On Alpine:
+ .. code-block:: console
- .. code-block:: console
+ $ sudo apt install isc-kea
- $ apk search isc-kea
+ .. tab:: Fedora/RedHat
-5. Install the metapackage containing all of the tools, services, and open
- source hooks:
+ .. code-block:: console
- .. code-block:: console
+ $ sudo dnf install isc-kea
- $ sudo apt install isc-kea
+ .. tab:: Alpine
- or specific packages:
+ .. code-block:: console
- .. code-block:: console
+ # apk add isc-kea
- $ sudo apt install isc-kea-dhcp6
+or specific packages:
- or every single Kea-related package, including development headers, debug
- symbols, and premium hooks (if available):
+.. tabs::
- .. code-block:: console
+ .. tab:: Debian/Ubuntu
- $ sudo apt install isc-kea*
+ .. code-block:: console
- or all packages with a specified version number:
+ $ sudo apt install isc-kea-dhcp6
- .. code-block:: console
+ .. tab:: Fedora/RedHat
- $ sudo apt install isc-kea*=2.4.0-isc20230531000000
+ .. code-block:: console
-.. note::
- Not all package managers support installing packages with a glob (``*``),
- please refer to the specific package manager's manual before attempting this.
+ $ sudo dnf install isc-kea-dhcp6
+
+ .. tab:: Alpine
+
+ .. code-block:: console
+
+ $ apk add isc-kea-dhcp6
+
+or every single Kea-related package, including development headers, debug
+symbols, and premium hooks (if available):
+
+.. tabs::
+
+ .. tab:: Debian/Ubuntu
+
+ .. code-block:: console
+
+ $ sudo apt install 'isc-kea*'
+
+ .. tab:: Fedora/RedHat
- - On CentOS/Fedora systems, replace ``apt install`` with ``yum install``.
- - On Alpine systems, replace ``apt install`` with ``apk add``.
+ .. code-block:: console
-6. All installed packages should be now available directly; for example:
+ $ sudo dnf install 'isc-kea*'
+
+ .. tab:: Alpine
+
+ Installing packages via globbing (``*``) is not available for Alpine,
+ but it can be simulated with the following command:
+
+ .. code-block:: console
+
+ # apk search isc-kea | sed 's/-[0-9].*//g' | xargs apk add
+
+or all packages with a specified version number:
+
+.. tabs::
+
+ .. tab:: Debian/Ubuntu
+
+ .. code-block:: console
+
+ $ sudo apt install 'isc-kea*=2.4.0-isc20230921141113'
+
+ .. tab:: Fedora/RedHat
+
+ .. code-block:: console
+
+ $ sudo dnf install 'isc-kea*2.4.0-isc20230921141113*'
+
+ .. tab:: Alpine
+
+ .. code-block:: console
+
+ Installing packages via globbing (``*``) is not available for Alpine,
+ but it can be simulated with the following command:
+
+ .. code-block:: console
+
+ # apk search isc-kea | sed 's/-[0-9].*//g' | grep r20230921141113 | xargs apk add
+
+8. All installed packages should be now available directly.
+
+ You can start a server up manually:
.. code-block:: console
- # kea-dhcp6 -c /path/to/your/kea6/config/file.json
+ # kea-dhcp6 -c /etc/kea/kea-dhcp6.conf
or using systemd:
:iscman:`keactrl` is not available in packages, as similar functionality is provided
by the native systemctl scripts.
-7. On CentOS, Fedora, and Alpine, the service must be enabled at boot
- time if desired; this is done automatically at package
- installation time on Debian and Ubuntu systems. For example, with systemd
- on CentOS/Fedora:
+9. On Debian/Ubuntu systems, the service is enabled at boot time automatically
+ when the package is installed. On Fedora/RHEL and Alpine, the service is not
+ enabled automatically, so, if desired, it must be enabled manually.
+
+ With systemd on Fedora/RedHat:
.. code-block:: console
# systemctl enable kea-dhcp6
- With OpenRC on Alpine:
+ With OpenRC on Alpine:
.. code-block:: console
Quick Start Guide for DHCPv4 and DHCPv6 Services
================================================
+
1. Edit the Kea configuration files, which by default are installed in
the ``[kea-install-dir]/etc/kea/`` directory. These are:
``kea-dhcp4.conf``, ``kea-dhcp6.conf``, ``kea-dhcp-ddns.conf`` and
if 'docs' in features:
execute('python3 -m venv ~/venv',
env=env, timeout=60, check_times=check_times)
- execute('~/venv/bin/pip install sphinx sphinx-rtd-theme',
+ execute('~/venv/bin/pip install sphinx sphinx-rtd-theme sphinx-tabs',
env=env, timeout=120, check_times=check_times)
# prepare rhel
if 'docs' in features:
execute('python3 -m venv ~/venv',
env=env, timeout=60, check_times=check_times)
- execute('~/venv/bin/pip install sphinx sphinx-rtd-theme',
+ execute('~/venv/bin/pip install sphinx sphinx-rtd-theme sphinx-tabs',
env=env, timeout=120, check_times=check_times)
# prepare ubuntu
packages.append('googletest')
if 'docs' in features:
- packages.extend(['python3-sphinx', 'python3-sphinx-rtd-theme', 'texlive', 'texlive-latex-extra'])
+ packages.extend(['python3-sphinx', 'python3-sphinx-rtd-theme', 'python3-sphinx-tabs',
+ 'texlive', 'texlive-latex-extra'])
if revision == '22.04':
packages.extend(['tex-gyre'])
if revision == '8':
packages.extend(['virtualenv'])
else:
- packages.extend(['python3-sphinx', 'python3-sphinx-rtd-theme', 'texlive', 'texlive-latex-extra'])
+ packages.extend(['python3-sphinx', 'python3-sphinx-rtd-theme', 'python3-sphinx-tabs',
+ 'texlive', 'texlive-latex-extra'])
if revision == '9':
packages.extend(['texlive-generic-extra'])
if revision == '12':
if revision == '8':
execute('python3 -m venv ~/venv',
env=env, timeout=60, check_times=check_times)
- execute('~/venv/bin/pip install sphinx sphinx-rtd-theme',
+ execute('~/venv/bin/pip install sphinx sphinx-rtd-theme sphinx-tabs',
env=env, timeout=120, check_times=check_times)
# prepare freebsd