Using LINBIT Staging Repositories

In addition to its stable customer package repositories, LINBIT® also maintains staging repositories. By using LINBIT staging repositories for LINBIT software and related packages, in combination with stable LINBIT repositories that you might be using, you can access release candidate (rc) packages and program temporary fix (ptf) builds. You might want to do this in a testing environment, for example, to preview upcoming features or to determine whether a bug fix addresses an issue that you are having.

You can monitor release announcements made in the LINBIT Community Forum to learn about release candidate and other version releases.

This article will describe the steps you need to take to enable LINBIT staging repositories on either RPM-based or DEB-based systems. Also, this article will briefly discuss LINBIT public package repositories for DEB-based systems, in which release candidate packages might appear.

IMPORTANT: When you enable a LINBIT staging repository, you also need to enable the corresponding stable repository. Packages within LINBIT staging repositories are intended to be used in combination with packages in stable repositories. If you only enable a staging repository, there might be dependencies to other LINBIT packages, and these might only be in the stable repositories. Without the stable repositories, you can run into broken dependencies.

Using LINBIT staging repositories on RPM-based Linux distributions

The following instructions use the drbd-9 repository as an example of a LINBIT staging repository that you want to enable.

It is assumed that you have already enabled the stable drbd-9 repository on your system.

The output of a dnf repolist command might show, for example, on a Red Hat Enterprise Linux (RHEL) 9 system:

repo id repo name drbd-9 LINBIT Packages for drbd-9 - x86_64 drbd-proxy-3.2 LINBIT Packages for drbd-proxy-3.2 - x86_64 epel-cisco-openh264 Extra Packages for Enterprise Linux 9 openh264 (From Cisco) - x86_64 pacemaker-2 LINBIT Packages for pacemaker-2 - x86_64 rhel-9-for-x86_64-appstream-rpms Red Hat Enterprise Linux 9 for x86_64 - AppStream (RPMs) rhel-9-for-x86_64-baseos-rpms Red Hat Enterprise Linux 9 for x86_64 - BaseOS (RPMs)

Verifying LINBIT repository access on RPM-based systems

Enter the following command to search for the kmod-drbd package and verify that you have access to the LINBIT package repositories:

dnf search --showduplicates kmod-drbd 2>/dev/null | wc -l

Output will show a positive integer, if you have configured access to LINBIT package repositories on your system, for example:

12

Depending on the existing LINBIT repositories configured on your system, you might need to change the package name that you supply with the dnf search command. The command above uses kmod-drbd. At the time of writing, this package name exists in the LINBIT rhel9 drbd-9 package repository, but does not exist in the rhel9.5 drbd-9 repository, for example. If the output of your dnf search command returns 0, verify that the package name you supplied with the command exists in a repository configured for your system. You can do this by opening the URL https://packages.linbit.com/YOURHASH/yum/ in a web browser, and then navigate through the link corresponding to your RPM-based distribution.

Next, filter your package search command for occurrences of “ptf” or “~rc” to verify that you have not enabled LINBIT staging repository access.

dnf search --showduplicates kmod-drbd 2>/dev/null | grep -E '(-ptf|-rc)' | wc -l

Output from the command should be 0 if you have not enabled LINBIT staging repository access.

Enabling LINBIT staging repository access on RPM-based systems

Copy the existing LINBIT repository file, /etc/yum.repos.d/linbit.repo to a new file that you will edit to configure the LINBIT staging repository as a package source.

cp /etc/yum.repos.d/linbit.repo \ /etc/yum.repos.d/linbit-staging.repo

Next, edit the new linbit-staging.repo file. Delete any stanzas that configure repositories that you are not interested in for staging purposes. Append -staging appropriately within any stanzas that you are interested in. In these stanzas, insert staging/ between your customer account hash and yum in the baseurl URL.

For example, a stanza that configures the drbd-9 LINBIT staging repository on a RHEL 9 system might look like this:

[drbd-9-staging] name=LINBIT Packages for drbd-9-staging - $basearch baseurl=https://packages.linbit.com/YOURHASH/staging/yum/rhel9/drbd-9/$basearch enabled=1 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-linbit gpgcheck=1 repo_gpgcheck=1

💡 TIP: If you want to browse potential LINBIT staging repositories first, for example, to know what RPM-based staging repositories are available, you can open the URL https://packages.linbit.com/YOURHASH/staging/yum/ in a web browser, and then navigate within the link corresponding to your RPM-based distribution. The trailing forward slash is necessary at the end of the URL. Do not neglect it.

Verifying LINBIT staging repository access on RPM-based systems

Enter the following command to verify that you have access to the drbd-9 LINBIT staging repository:

dnf search -y --showduplicates kmod-drbd 2>/dev/null | \ grep -E '(ptf|~rc)' | wc -l

Output should show a positive integer indicating several matching packages.

163

Depending on the LINBIT staging repository that you add as a package source, you might need to change the package name that you supply with the dnf search command. To learn what package names exist in the staging repository that you are interested in, again, you can open the URL https://packages.linbit.com/YOURHASH/staging/yum/ in a web browser, and then navigate within the link corresponding to your RPM-based distribution.

Using LINBIT staging repositories on DEB-based Linux distributions

If you are on a DEB-based Linux distribution such as Ubuntu, Debian, or Proxmox VE, you can list your currently enabled LINBIT repositories by entering the following command:

apt policy | grep origin.*linbit

If you have any LINBIT repositories configured as package sources on your system, that command should return some results, for example:

 origin packages.linbit.com

Next, filter a package search command for occurrences of “ptf” or “~rc” to verify that you have not already enabled LINBIT staging repository access.

apt policy drbd-module* | grep -E '(ptf|~rc)' | wc -l

Output should show that there are no matching packages.

0

You might need to change the package that you use with the apt policy command, depending on your Linux distribution. Not all packages are common across distributions. For example, while drbd-module* packages will exist in the LINBIT Ubuntu repositories, repositories for Proxmox VE distributions do not have these packages and instead use drbd-dkms* packages to supply the DRBD® kernel module. If you are in doubt about what package to search for, use a web browser to browse the package repository at https://packages.linbit.com/YOURHASH/staging/dists/. The trailing forward slash is necessary at the end of the URL. Do not neglect it.

Enabling LINBIT staging repository access on DEB-based systems

Copy the existing LINBIT repository file, /etc/apt/sources.list.d/linbit-staging.list to a new file that you will edit to configure the LINBIT staging repository as a package source.

cp /etc/apt/sources.list.d/linbit.list \ /etc/apt/sources.list.d/linbit-staging.list

Next, edit the new linbit-staging.list file. Delete any repository names that you are not interesting in for staging purposes. These appear after the Linux distribution name. This is jammy in the upcoming example. Append staging/ to the end of the URL, after your LINBIT customer account hash and the trailing forward slash (/). An example drbd9 package staging source configuration might look like this, on an Ubuntu Noble 24.04 system:

deb [signed-by=/etc/apt/trusted.gpg.d/linbit-keyring.gpg] https://packages.linbit.com/YOURHASH/staging/ noble drbd-9 #

IMPORTANT: The trailing forward slash at the end of the source URL is necessary. Do not neglect it.

You can configure multiple staging repositories by specifying their names after your Linux distribution name. For example, to also add the drbd-proxy-4 staging repository, your source configuration would be as follows:

deb [signed-by=/etc/apt/trusted.gpg.d/linbit-keyring.gpg] https://packages.linbit.com/YOURHASH/staging/ noble drbd-9 drbd-proxy-4 #

You can browse the staging repositories that are available by opening the https://packages.linbit.com/YOURHASH/staging/dists/ URL in a web browser. Remember: For any staging repository that you add, there needs to be a matching stable repository configured in your linbit.list configuration file.

Next, download package information from all configured sources.

apt update

Verifying LINBIT staging repository access on DEB-based systems

Enter the following command to verify that you have access to the LINBIT staging repository:

apt policy drbd-module* | grep -E '(ptf|~rc)' | wc -l

Output should show a positive integer indicating several matching packages.

48

As mentioned earlier, you might need to change the package name that you supply to the apt policy command, depending on your Linux distribution.

LINBIT public package repositories for DEB-based systems

LINBIT maintains some public package repositories, in addition to its customer package repositories for DEB-based systems. The LINBIT development team will sometimes push release candidate versions of packages to these public repositories. These public package repositories are not intended for use in production environments and LINBIT does not support installations based on these repositories. They are provided as a community service and are intended for previewing, testing, or getting started with LINBIT software offerings. If you are using these package repositories, you should treat them as staging repositories.

You should monitor release announcements made in the LINBIT Community Forum. If the LINBIT team announces a release candidate version, be aware that this might likely appear in LINBIT public package repositories. If you do a package manager update on a system, unless you have excluded the relevant package or packages from updating, the update command will want to install the newer release candidate version.


Written by PR and MAT, 2023-12-11 and 2024-02-08.

Updated by MAT, 2025-01-24.

Reviewed by RCK, 2025-01-29.