> ## Documentation Index
> Fetch the complete documentation index at: https://docs.quintai.dev/llms.txt
> Use this file to discover all available pages before exploring further.

# Install on Linux

> Deploy a Quint install package to Linux computers with Ansible, Puppet or Chef: place the enrollment file, then run the install script as root.

At the end of this page every Linux computer your playbook, manifest or recipe reaches has Quint installed and is joined to your organisation. You need a configuration tool that can copy a file as root and run a command as root, outbound HTTPS from each computer, and the **Admin** or **Owner** role in the Quint dashboard.

> [!NOTE]
>
> Linux is early access. If a step behaves differently on your distribution, tell Quint support.

## What the package holds

| File | What it is for |
| - | - |
| `enrollment.conf` | Connects each computer to your organisation. Holds the package's join code and your license. It goes at `/etc/quint/enrollment.conf`, owned by root, mode 0600 (readable by root only). |
| `install.sh` | The install script. Checks the enrollment file, puts it in place, downloads Quint's installer from `https://get.quintai.dev` and runs it. The join code reaches the installer through the environment, never as an argument. |

The install script uses Quint's own installer. Signed `.deb` and `.rpm` packages are also published; [Linux distributions](https://docs.quintai.dev/install/platform-support.md#linux-distributions) lists where each installs.

**1. Make the package**

In Quint, open **Add machines**. Choose **Linux**, then **A configuration tool**, then **Ansible**, **Puppet** or **Chef**, and name the package for the group. Click **Make my files** and download both files. They can be downloaded once. See [Add machines](https://docs.quintai.dev/install/add-machines.md).

**2. Place the enrollment file**

In your playbook, manifest or recipe, copy `enrollment.conf` to `/etc/quint/enrollment.conf` on each computer: owner root, mode 0600, no ACL. `install.sh` and Quint refuse the file if anyone but root can read it. Keep the file in your tool's secret store, not in a shared repository.

**3. Run the install script**

In the same run, once the file is in place, copy `install.sh` to the computer and run it as root:

```bash theme={"dark"}
sh install.sh /etc/quint/enrollment.conf
```

**4. Leave the file in place**

Leave `/etc/quint/enrollment.conf` where it is. The join code is used once per computer, to join; the computer then holds its own credential.

**5. Verify each machine**

The wizard's **First computer** step shows the first computer's checks; the two extension checks read **Not needed on Linux**. Then open **Data Sources**: each computer appears under **Telemetry by host**. [Verify a machine](https://docs.quintai.dev/install/verify-and-troubleshoot.md) explains each state.

## One Linux computer

For one computer without a configuration tool, choose **Linux**, then **Just one computer**, in **Add machines**. Paste the command the wizard shows into a terminal on the computer, as a user who can run `sudo`; paste the one-time install code when the command asks for your Quint token. See [One computer](https://docs.quintai.dev/install/add-machines.md#one-computer).

## After the rollout

A package admits new computers for one year from the day it is made, up to its limit. When the group is done, stop the package in [Machines & licensing](https://docs.quintai.dev/settings/machines-and-licensing.md): computers that already joined keep running. To reach new computers after that, make a new package and replace `enrollment.conf` in your tool with its file.

## If this fails

| What you see | What it means | What to do |
| - | - | - |
| "install.sh: run as root" | The script ran as another user | Run it as root. |
| "must be owned by root with mode 0600 and no ACL" | The enrollment file's owner or mode is wider than root-only | Set owner root and mode 0600 in your tool. |
| "carries a POSIX ACL; remove it (setfacl -b)" | The file has an access control list | Remove the ACL with `setfacl -b`, or have your tool write the file without one. |
| "is not a regular file" | The path is a symlink, or the file is missing | Copy the file itself to `/etc/quint/enrollment.conf`. |
| Quint installs but does not stay running | Another service on the computer, such as the RHEL web console (Cockpit), already uses port 9090. The current release of Quint does not start there | Talk to your Quint contact. |
| The computer installs but never appears in **Data Sources** | The package is no longer **Active**, or the computer has no outbound HTTPS | Check the package in [Machines & licensing](https://docs.quintai.dev/settings/machines-and-licensing.md), and the network. |

## Next

* [Verify a machine](https://docs.quintai.dev/install/verify-and-troubleshoot.md)
* [Machines & licensing](https://docs.quintai.dev/settings/machines-and-licensing.md)


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.