Skip to main content
`Ctrl`+`K`

# 2.4. Ubuntu

This section describes how to install Groonga related deb packages on Ubuntu. You can install them by `apt`.

We distribute both 32-bit and 64-bit packages but we strongly recommend a 64-bit package for server. You should use a 32-bit package just only for tests or development. You will encounter an out of memory error with a 32-bit package even if you just process medium size data.

## 2.4.1. Register Groonga APT repository

### 2.4.1.1. Groonga APT Repository (packages.groonga.org)

Groonga packages are distributed via our Groonga APT repository at https://packages.groonga.org.

Install `groonga-apt-source` to enable Groonga APT repository.

    sudo apt update
    sudo apt install -y -V ca-certificates lsb-release wget
    wget https://packages.groonga.org/ubuntu/groonga-apt-source-latest-$(lsb_release --codename --short).deb
    sudo apt install -y -V ./groonga-apt-source-latest-$(lsb_release --codename --short).deb
    sudo apt update

### 2.4.1.2. Deprecated Groonga PPA (Personal Package Archive)

Note

The Grppmga PPA (Personal Package Archive, ppa:groonga/ppa) is deprecated. We strongly recommend using our Groonga APT repository (packages.groonga.org) because packages from that repository are built with Apache Arrow enabled. This configuration unlocks extra features, such as parallel offline index building. If you are currently using the Groonga PPA, please see Migration from Groonga PPA (ppa:groonga/ppa) to Groonga APT Repository (packages.groonga.org).

## 2.4.2. `groonga` package

Install:

    sudo apt -V -y install groonga

Note

`groonga` package is the minimum set of fulltext search engine. If you want to use Groonga for server use, you can install additional preconfigured packages.

There are two packages for server use.

- Groonga HTTP server (HTTP based server package)

- groonga-server-gqtp (GQTP based server package)

See Server section about details.

## 2.4.3. `groonga-tokenizer-mecab` package

If you want to use MeCab as a tokenizer, install `groonga-tokenizer-mecab` package.

Install `groonga-tokenizer-mecab` package:

    sudo apt -V -y install groonga-tokenizer-mecab

## 2.4.4. `groonga-token-filter-stem` package

If you want to use `TokenFilterStem` as a token filter, install `groonga-token-filter-stem` package.

Install groonga-token-filter-stem package:

    sudo apt -V -y install groonga-token-filter-stem

## 2.4.5. `groonga-munin-plugins` package

There is a package that provides Munin plugins. If you want to monitor Groonga status by Munin, install `groonga-munin-plugins` package.

Install `groonga-munin-plugins` package:

    sudo apt -V -y install groonga-munin-plugins

## 2.4.6. `groonga-normalizer-mysql` package

There is a package that provides MySQL compatible normalizer as a Groonga plugin. If you want to use that one, install `groonga-normalizer-mysql` package.

Install `groonga-normalizer-mysql` package:

    sudo apt -V -y install groonga-normalizer-mysql

## 2.4.7. Build from source

Build from source is for developers.

See Others: Build with CMake .

## 2.4.8. Migration from Groonga PPA (ppa:groonga/ppa) to Groonga APT Repository (packages.groonga.org)

This section guides you through the migration from the deprecated Groonga PPA (Personal Package Archive, ppa:groonga/ppa) to our new Groonga APT Repository (packages.groonga.org).

By switching to the Groonga APT Repository, you’ll receive packages built with Apache Arrow enabled. Which unlocks extra features such as parallel offline index building. We strongly recommend you to migrate to enjoy these enhancements.

If you are currently using the Groonga PPA, please follow the steps below to switch to the new package source.

### 2.4.8.1. Configure the Groonga APT Repository

#### 2.4.8.1.1. Register Groonga APT Repository

To register the Groonga APT Repository, install the `groonga-apt-source` package as follows.

    sudo apt update
    sudo apt install -y -V groonga-apt-source
    sudo apt update

#### 2.4.8.1.2. Remove the Existing Package Source

Remove the old Groonga PPA:

    sudo add-apt-repository -y --remove ppa:groonga/ppa

After these steps, your package source is now switched from Groonga PPA to Groonga APT Repository.

### 2.4.8.2. Upgrade Package

There are two approaches depending on your needs.

#### 2.4.8.2.1. Option 1: Use Groonga APT Repository from the Next Release (Recommended)

Starting with the next package version, we strongly recommend using the Groonga APT Repository. When you upgrade Groonga via `apt`, you will automatically receive the next package version without having to specify a version explicitly as follows. This option is simpler and is recommended for most users:

    sudo apt upgrade

#### 2.4.8.2.2. Option 2: Use Groonga APT Repository Immediately Without Waiting for Next Release

If you wish to upgrade immediately without waiting for the next official release, you can force an upgrade to a specific package version in the Groonga APT Repository. In this case, you must upgrade the package by specifying the version. This is important because even if the version numbers match, the package’s naming conventions between the Groonga PPA and the Groonga APT Repository differ, and the Groonga PPA package takes precedence.

    sudo apt upgrade package-name=version

Note

If the package has dependencies, you also need to upgrade dependent packages by specifying the version.

For example, upgrade a specific version of `groonga-bin` package:

    version=$(dpkg-query -W -f='${Version}' libgroonga0 | sed 's/\.ubuntu.*$//') && \
    sudo apt upgrade -y -V --allow-downgrades \
      libgroonga0=$version \
      groonga-bin=$version

This command forces the upgrade to a specific package version from the new repository. In this case, it’s Groonga APT Repository.