# Install the Unity Hub on Linux

> Install Unity Hub on Ubuntu, RHEL, or CentOS, and manage updates via package repositories.

To install the Unity Hub on an Ubuntu Linux distribution, add the Unity Hub repository and the public signing key to verify the integrity of the packages.

> **Note:**
>
> You need curl on your device to run the following scripts. To install it, run the command `sudo apt install curl`.

1. To add the public signing key, run the following command:

   ```shell
   sudo install -d /etc/apt/keyrings
   curl -fsSL https://hub.unity3d.com/linux/keys/public | sudo gpg --dearmor -o /etc/apt/keyrings/unityhub.gpg
   ```

2. To add the Unity Hub repository (x86\_64/amd64 only) you need an entry in `/etc/apt/sources.list.d`. Run the following command to add the Unity Hub repository:

   ```shell
   echo "deb [arch=amd64 signed-by=/etc/apt/keyrings/unityhub.gpg] https://hub.unity3d.com/linux/repos/deb stable main" | sudo tee /etc/apt/sources.list.d/unityhub.list
   ```

3. Update the package cache and install the package:

   ```shell
   sudo apt update
   sudo apt install unityhub
   ```

For some systems, you might need to check the following:

* The directory `/etc/apt/keyrings` exists.
* The user or group installing the Hub has write permissions to the `/etc/apt/keyrings` directory.
* The user or group installing Hub has at least read permissions to the resulting file `/etc/apt/keyrings/unityhub.gpg`.

To remove the Unity Hub from the system, run the following command:

```shell
sudo apt remove unityhub
```

## Install a beta version of the Unity Hub on Linux

Unity distributes the Unity Hub beta versions 3.0 and higher for Linux through the same repository but under a different distribution.

1. Add the public signing key:

   ```shell
   sudo install -d /etc/apt/keyrings
   curl -fsSL https://hub.unity3d.com/linux/keys/public | sudo gpg --dearmor -o /etc/apt/keyrings/unityhub.gpg
   ```

2. Add a beta repository entry to your `/etc/apt/sources.list.d/:` folder:

   ```shell
   echo "deb [arch=amd64 signed-by=/etc/apt/keyrings/unityhub.gpg] https://hub.unity3d.com/linux/repos/deb unstable main" | sudo tee /etc/apt/sources.list.d/unityhub-beta.list
   ```

3. Update the package cache and install the package:

   ```shell
   sudo apt update
   sudo apt install unityhub=<version>
   ```

Where `<version>` follows the format of `3.4.1-beta.1`.

### Install the Hub on Red Hat Enterprise Linux (RHEL) or CentOS

> **Note:**
>
> The Unity Hub doesn't support Red Hat Enterprise Linux (RHEL) or CentOS distributions.

To install the Unity Hub on Red Hat Enterprise Linux (RHEL) or CentOS, use the following commands.

To install the latest version of the Unity Hub:

```shell
sudo sh -c 'echo -e "[unityhub]\nname=Unity Hub\nbaseurl=https://hub.unity3d.com/linux/repos/rpm/stable\nenabled=1\ngpgcheck=1\ngpgkey=https://hub.unity3d.com/linux/repos/rpm/stable/repodata/repomd.xml.key\nrepo_gpgcheck=1" > /etc/yum.repos.d/unityhub.repo'
```

To install beta versions of the unity Hub:

```shell
sudo sh -c 'echo -e "[unityhub-beta]\nname=Unity Hub Beta\nbaseurl=https://hub.unity3d.com/linux/repos/rpm/unstable\nenabled=1\ngpgcheck=1\ngpgkey=https://hub.unity3d.com/linux/repos/rpm/unstable/repodata/repomd.xml.key\nrepo_gpgcheck=1" > /etc/yum.repos.d/unityhub_beta.repo'
```

Then update the package cache and install the package:

```shell
sudo yum update
sudo yum install unityhub
```

## Auto Update of Unity Hub on Linux

Once you've configured the Unity Hub repositories in your package managers, the Hub automatically checks for a new version periodically based on the configurations defined in the operating system settings.

You might receive the following popups from your Software Manager when a new version is available.

### Debian / Ubuntu


**Update Notification on Ubuntu:**
![Update Notification on Ubuntu](/api/media?file=/hub/media/images/auto-update-ubuntu.png)

You can also check for new versions by running the following command in your terminal:

```shell
sudo apt update
```

### RHEL / CentOS


**Update Notification on Centos:**
![Update Notification on Centos](/api/media?file=/hub/media/images/auto-update-centos.png)

To check for new versions, run the following command in your terminal:

```shell
sudo yum check-update
sudo yum update unityhub
```

## Linux installation troubleshooting

**Why do I only see the beta version of Hub when I try to install with \`apt install unityhub\`?:**

Only the beta version displays if you have both `STABLE` and `UNSTABLE` repositories configured. By default, the `apt` command lists the latest version of the package. To install the stable version of the Unity Hub, you can do the following:

Install the stable version of the Unity Hub in Debian:

1. Disable the beta repository.

   ```shell
   sudo mv /etc/apt/sources.list.d/unityhub-beta.list /etc/apt/sources.list.d/unityhub-beta.list.bak
   sudo apt update
   sudo apt install unityhub
   ```

2. Query the specific version of the Hub.

   ```shell
   sudo apt install unityhub=3.x.x
   ```

Install the stable version of the Unity Hub in Rel/CentOS:

1. Disable the beta repository.

   ```shell
   sudo mv /etc/yum.repos.d/unityhub_beta.repo /etc/yum.repos.d/unityhub_beta.repo.bak
   sudo yum check-updates
   sudo yum install unityhub
   ```

2. Query the specific version of the Hub.

   ```shell
   sudo yum list unityhub
   sudo yum install unityhub-<version info>
   ```

**When I install the Debian package, I receive the following error message: \`/etc/apt/sources.list.d/unityhub.list: No such file or directory\`.:**

This can happen when `sources.list.d` doesn't exist or you don't have access to create the file. To fix this error, manually create the folder and an empty `unityhub.list` file with the following commands:

```shell
 sudo mkdir /etc/apt/sources.list.d
 sudo touch /etc/apt/sources.list.d/unityhub.list
```

**When I remove, add, or update the Unity Hub in the command line, I receive an error message that states that the lockfile is in use.:**

If you receive a lock file error, an associated process number should also display. In this example, the process number is `4076`.

```shell
E: Could not get lock /var/lib/dpkg/lock-frontend. It is held by process 4076
```

If this error displays, use the following command to stop the process. In the command, replace `4076` with the process number that your device displays.

```shell
sudo kill -9 4076
```

If you remove the Unity Hub after you perform this command and this error shows up, follow the instructions in the command line to fix it.

```shell
sudo apt remove unityhub
E: dpkg was interrupted, you must manually run 'sudo dpkg --configure -a' to correct the problem. 
ubuntity@ubuntu:~$ sudo dpkg --configure -a
```
