

# Tutorial: Configure SPAL repository on AL2023
<a name="configure-spal-repository"></a>

Supplementary Packages for Amazon Linux (SPAL) is an additional package repository for AL2023 that provides customers access to thousands of open-source packages.

 The following tutorial helps you configure the SPAL repository on your AL2023 instance. By installing the repository, you will gain access to all RPM packages available in SPAL. Once installed, you can use your package manager to install and use these packages on your system. 

**Topics**
+ [Prerequisites](#configure-spal-prereqs)
+ [Checking prerequisites](#configure-spal-check-prereqs)
+ [Installing SPAL on your system](#configure-spal-install)
+ [Installing SPAL packages](#configure-spal-install-pkgs)
+ [Uninstalling SPAL repository from your system](#configure-spal-uninstall)
+ [Related topics](#configure-spal-more-info)

## Prerequisites
<a name="configure-spal-prereqs"></a>

This tutorial assumes that you have already launched an instance using AL2023 release version `2023.9.20251117` or later. For more information, see the [AL2023 on Amazon EC2](ec2.md) and [Updating AL2023](updating.md) pages. 

## Checking prerequisites
<a name="configure-spal-check-prereqs"></a><a name="check-prereqs"></a>
+ To verify your instance satisfies the prerequisites, you can check the version of `system-release` installed on your system.

  To check the version of the package, you can use the following command.

  ```
  [ec2-user ~]$ rpm -qi system-release
  ```

  The command will display information about the package, including the major version.

  ```
  Name        : system-release
  Version     : 2023.9.20251117
  ...
  ```
**Note**  
Make sure to have the latest version of `system-release` installed. You can run `sudo dnf upgrade` to update to the latest version.

## Installing SPAL on your system
<a name="configure-spal-install"></a><a name="install-spal"></a>

1. Install the `spal-release` package on your system. This adds the `.repo` configuration file and the GPG keys to your system.

   ```
   [ec2-user ~]$ sudo dnf install spal-release
   ```
**Note**  
 During the installation, the support statement will be displayed. The statement explains SPAL's scope of support and limitations. Please take time to review this information carefully. 

1. Verify the SPAL repository configuration was successfully added to your system.

   ```
   [ec2-user ~]$ cat /etc/yum.repos.d/amazonlinux-spal.repo
   ```

   You should see the two repositories configured on your system: `amazonlinux-spal` and `amazonlinux-spal-source`

   You can also check the list of configured repositories by running `dnf repolist`.

   ```
   [ec2-user ~]$ dnf repolist --all
   ```
**Note**  
 The `--all` flag is required to see both enabled and disabled repositories. 

   Both SPAL repositories should be available. Note that the **Amazon Linux 2023 SPAL repository - Source packages** repository is disabled by default.

   ```
   repo id                    repo name                                                status
   amazonlinux-spal           Amazon Linux 2023 SPAL repository                        enabled
   amazonlinux-spal-source    Amazon Linux 2023 SPAL repository - Source packages      disabled
   ```

1. (Optional) Enable the source repository.
**Note**  
 RPM source (SRPM) repositories are typically disabled by default because they are primarily used by developers for building packages, not by end-users for software installation. DNF automatically enables source repositories when you use commands that require source packages, such as `dnf download --source package`.   
 You do not need to manually enable the source repository for one-off source package operations. Follow this step only if you want to rebuild SRPMs from SPAL on your system. 

   To permanently enable the **Amazon Linux 2023 SPAL repository - Source packages** repository on your system, run the following command:

   ```
   [ec2-user ~]$ sudo dnf config-manager --enable amazonlinux-spal-source
   ```

## Installing SPAL packages
<a name="configure-spal-install-pkgs"></a><a name="install-pkgs-spal"></a>
+ Install SPAL packages on your system by running `dnf install` command.

  ```
  [ec2-user ~]$ sudo dnf install package
  ```
**Note**  
 You can use `dnf list` to see a complete list of SPAL packages.   

  ```
  [ec2-user ~]$ dnf list --repo=amazonlinux-spal
  ```
**Note**  
 SPAL is a versioned repository. Make sure to have the latest version of `system-release` installed to see the most recent list of packages.   
 For more information on deterministic updates, you can check [Deterministic upgrades through versioned repositories on AL2023](deterministic-upgrades.md) 

## Uninstalling SPAL repository from your system
<a name="configure-spal-uninstall"></a><a name="uninstall-spal"></a>

1. Remove the SPAL repository configuration using `dnf remove` command.

   ```
   [ec2-user ~]$ sudo dnf remove spal-release
   ```

1. Verify the repository was removed by running `dnf repolist` command.

   ```
   [ec2-user ~]$ dnf repolist
   ```
**Important**  
 Removing the SPAL repository configuration from your system does not remove any SPAL packages installed on the system.

## Related topics
<a name="configure-spal-more-info"></a>

For more information about the Supplementary Packages for Amazon Linux repository, see the following documentation:
+  [Supplementary Packages for Amazon Linux](spal.md) 