> ## Documentation Index
> Fetch the complete documentation index at: https://eurusys-6c0957fa.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# Install services on Linux

> Install the MBKYC desktop services on Debian/Ubuntu (apt) and RHEL/Fedora (dnf).

Install the [desktop services](/distribution/services-overview) from the MBKYC Nexus repositories. Replace `repo.client.ae` with the host your ICP contact gives you, and set `NEXUS_USER` / `NEXUS_PASSWORD` to your issued credentials.

## Trust the signing key

Import the GPG key before adding any repository:

```bash theme={null}
curl -fsSL -u "${NEXUS_USER}:${NEXUS_PASSWORD}" \
  https://repo.client.ae/repository/mbkyc-raw/mbkyc/gpg/mbkyc.asc \
  | sudo gpg --dearmor -o /usr/share/keyrings/mbkyc.gpg
```

## Debian / Ubuntu (apt)

<Steps>
  <Step title="Configure authentication">
    ```bash theme={null}
    sudo tee /etc/apt/auth.conf.d/mbkyc.conf <<EOF
    machine repo.client.ae
    login ${NEXUS_USER}
    password ${NEXUS_PASSWORD}
    EOF
    sudo chmod 600 /etc/apt/auth.conf.d/mbkyc.conf
    ```
  </Step>

  <Step title="Add the repository">
    ```bash theme={null}
    echo "deb [signed-by=/usr/share/keyrings/mbkyc.gpg] https://repo.client.ae/repository/mbkyc-apt/ stable main" \
      | sudo tee /etc/apt/sources.list.d/mbkyc.list
    ```
  </Step>

  <Step title="Install the services you need">
    ```bash theme={null}
    sudo apt update
    sudo apt install mbkyc-pcsc-service mbkyc-morpho-service

    # Optional Linux fallback for readers pcscd/libccid does not whitelist:
    sudo apt install mbkyc-ccid-service
    ```
  </Step>
</Steps>

### Available packages

| Package                 | Description                                                                           |
| ----------------------- | ------------------------------------------------------------------------------------- |
| `mbkyc-pcsc-service`    | PC/SC smart card reader service                                                       |
| `mbkyc-ccid-service`    | Direct CCID-over-USB service (Linux fallback for readers `libccid` doesn't enumerate) |
| `mbkyc-morpho-service`  | Morpho (IDEMIA MSO 1350) fingerprint service                                          |
| `mbkyc-suprema-service` | Suprema BioMini fingerprint service                                                   |
| `mbkyc-zhiang-service`  | NEXUS / Zhiang fingerprint service                                                    |
| `mbkyc-web-host`        | Browser extension native messaging host                                               |
| `libmbkyc-dev`          | C API development library + headers                                                   |

## RHEL / Fedora (dnf)

<Steps>
  <Step title="Import the GPG key">
    ```bash theme={null}
    sudo rpm --import https://repo.client.ae/repository/mbkyc-raw/mbkyc/gpg/mbkyc.asc
    ```
  </Step>

  <Step title="Configure authentication">
    dnf reads credentials from `/etc/dnf/vars/`. URL-encode passwords with special characters:

    ```bash theme={null}
    sudo mkdir -p /etc/dnf/vars
    echo "${NEXUS_USER}" | sudo tee /etc/dnf/vars/mbkyc_user
    jq -rn --arg p "${NEXUS_PASSWORD}" '$p|@uri' | sudo tee /etc/dnf/vars/mbkyc_pass
    sudo chmod 600 /etc/dnf/vars/mbkyc_user /etc/dnf/vars/mbkyc_pass
    ```
  </Step>

  <Step title="Add the repository">
    ```bash theme={null}
    sudo tee /etc/yum.repos.d/mbkyc.repo <<'EOF'
    [mbkyc]
    name=MBKYC
    baseurl=https://$mbkyc_user:$mbkyc_pass@repo.client.ae/repository/mbkyc-yum/
    enabled=1
    gpgcheck=1
    EOF
    sudo chmod 600 /etc/yum.repos.d/mbkyc.repo
    ```
  </Step>

  <Step title="Install">
    ```bash theme={null}
    sudo dnf install mbkyc-pcsc-service mbkyc-morpho-service
    # Optional fallback:
    sudo dnf install mbkyc-ccid-service
    ```
  </Step>
</Steps>

## Service management

Services run under systemd. Enable and start the ones you installed:

```bash theme={null}
sudo systemctl enable --now mbkyc-pcsc-generic-smartcard
sudo systemctl enable --now mbkyc-ccid-generic-smartcard      # if installed
sudo systemctl enable --now mbkyc-usb-morpho-fingerprint

# Status
sudo systemctl status mbkyc-pcsc-generic-smartcard

# Logs
sudo journalctl -u mbkyc-pcsc-generic-smartcard -f
```
