> For the complete documentation index, see [llms.txt](https://docs.interlynk.io/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.interlynk.io/lynkctl/installation.md).

# Installation

## Obtaining lynkctl

lynkctl is distributed directly by Interlynk. Contact Interlynk to receive the binary for your operating system and CPU architecture. Once you have it, place it on your `PATH` — for example, in `/usr/local/bin`.

## Requirements

lynkctl is a self-contained binary. It needs additional tooling only when analysing certain build systems:

| When analysing                                                                         | You also need                                                                                                                    |
| -------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------- |
| GNU Make projects                                                                      | GNU Make 3.81 or newer, on `PATH`                                                                                                |
| CMake projects                                                                         | CMake 3.14 or newer, and a build tree that has already been configured so that CMake File API replies exist                      |
| IAR Embedded Workbench projects                                                        | No extra tooling                                                                                                                 |
| Package manifest projects (npm, Python, Go, Maven, Gradle, Cargo, RubyGems, PHP, .NET) | No extra tooling — lynkctl reads the manifests and lockfiles directly. The package manager itself does not need to be installed. |

No compiler or target toolchain is required. lynkctl reads build definitions and manifests; it does not build the project.

## Verify the Installation

```bash
lynkctl version
```

This prints the build version of lynkctl.

## The OSS-Index Database

To identify vendored open-source code, lynkctl uses a local OSS-index database. Download it before your first `generate` run:

```bash
lynkctl db download
```

The download is roughly 300 MB. See [OSS-Index Database](/lynkctl/database.md) for cache locations, refreshing, and air-gapped use.

{% hint style="info" %}
If you do not need vendored open-source identification, you can skip the database and pass `--no-oss-index` to `generate`.
{% endhint %}
