How to Setup a Developer Workstation in RHEL 8

Red Hat Enterprise Linux 8 is a developer friendly Linux distribution, which supports the development of custom applications. It ships with new developer-centric features that accelerate your application development such as the most recent stable development languages, databases, tools, and container technologies on the latest hardware and cloud environments.

The importance of application development is writing code, therefore choosing the right tools, utilities and setting up the perfect development environment is essential. This article shows how to setup a developer workstation in RHEL 8.

Requirements

  1. Installation of RHEL 8 with Screenshots
  2. How to Enable RHEL Subscription in RHEL 8

Enabling Debug Repositories in RHEL 8

The Debug and source repositories contain useful information needed to debug various system components and measure their performance. Unfortunately, these repositories are not enabled by default on RHEL 8.

To enable debug and source repositories in RHEL 8, use the following commands.

# subscription-manager repos --enable rhel-8-for-$(uname -i)-baseos-debug-rpms
# subscription-manager repos --enable rhel-8-for-$(uname -i)-baseos-source-rpms
# subscription-manager repos --enable rhel-8-for-$(uname -i)-appstream-debug-rpms
# subscription-manager repos --enable rhel-8-for-$(uname -i)-appstream-source-rpms
Enable Debug Repositories in RHEL 8
Enable Debug Repositories in RHEL 8

Installing Development Tools in RHEL 8

Next, we will install development tools and libraries, which will set up your system to develop or building applications using C, C++ and other common programming languages.

The “Development Tools” package group provides the GNU Compiler Collection (GCC), GNU Debugger (GDB), and other related development tools.

# dnf group install "Development Tools"
Install Development Tools in RHEL 8
Install Development Tools in RHEL 8

Also install the Clang and LLVM-based tool-chain which provides the LLVM compiler infrastructure framework, the Clang compiler for the C and C++ languages, the LLDB debugger, and related tools for code analysis.

# dnf install llvm-toolset
Install LLVM Tools in RHEL 8
Install LLVM Tools in RHEL 8

Installing Git in RHEL 8

Version control is a way of recording changes to a file or set of files over time so that you can recall specific versions later. Using a version control system, you can set up your system to manage application versions.

Git is the most popular version control system on Linux. It is easy to use, amazingly fast, it’s very efficient with large projects, and it has an incredible branching system for non-linear development.

# dnf install git
Install Git in RHEL 8
Install Git in RHEL 8

For more information about Git, check out our article: How to Use Git Version Control System in Linux [Comprehensive Guide]

Installing Debugging and Instrumentation Tools in RHEL 8

Debugging and instrumentation tools are used to track down and fix programming errors in an application under development. They help you monitor and measure performance, detect errors, and get trace information that represents the application’s state.

# dnf install gdb valgrind systemtap ltrace strace

To use the debuginfo-install tool, you should install the yum-utils package as shown.

# dnf install yum-utils
Install Debugging and Instrumentation Tools in RHEL 8
Install Debugging and Instrumentation Tools in RHEL 8

Then run a SystemTap helper script for setting up the environment: install kernel debuginfo packages. Note that the size of these packages exceeds 2 GiB.

# stap-prep
Run SystemTap to Monitor Activities
Run SystemTap to Monitor Activities

Installing Tools to Measure Application Performance in RHEL 8

This step shows how to setup your machine to measure the performance of your applications by installing the following packages.

# dnf install perf papi pcp-zeroconf valgrind strace sysstat systemtap
Install Performance Tools in RHEL 8
Install Performance Tools in RHEL 8

Next, run a SystemTap helper script for setting up the required environment. As stated before, invoking this script installs kernel debuginfo packages whose size exceeds 2 GiB.

# stap-prep

Then start the Performance Co-Pilot (PCP) collector service for now and enable it to auto-start at system boot.

# systemctl start pmcd
# systemctl enable pmcd
Start Performance-Co-Pilot
Start Performance-Co-Pilot

Installing Container Tools in RHEL 8

RHEL 8 does not officially support Docker; in this section, we will show how to install the new set of container tools as well as the old lady, docker package.

The docker package is replaced by the Container Tools module, which consists of tools such as Podman, Buildah, Skopeo and several others.

Let’s briefly explain the aforementioned tools:

  • Podman: is a simpler, daemon-less tool that provides a command line experience similar to docker-cli. It is used to manager pods, containers and container images.
  • Buildah: is a powerful build tool which is designed to provide control over how image layers are committed, and how data is accessed during builds.
  • Skopeo: is a flexible utility used to move, sign, and verify container images between registry servers and container hosts.

Most importantly, the above tools are compatible with the “OCI specifications”, means they can find, run, build and share containers with other tools that target the OCI standards including Docker CE, Docker EE, Kata Containers, CRI-O, and other container engines, registries, and tools.

# dnf module install -y container-tools
Install Container Tools in RHEL 8
Install Container Tools in RHEL 8

Install Docker in RHEL 8

Now install docker from the official repositories by running the following commands. Here, the yum-utils package provides the yum-config-manager utility.

# dnf install yum-utils
# yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
# dnf install containerd.io docker-ce docker-ce-cli 
Install Docker in RHEL 8
Install Docker in RHEL 8

Next, start the docker service and enable it to auto-start at system boot.

# systemctl start docker
# systemctl start docker

That’s all for now! In this article, we have shown how to setup a developer workstation using RHEL 8. If you have any questions or thoughts to share or additions to make, use the feedback form below to reach us.

Hey TecMint readers,

Exciting news! Every month, our top blog commenters will have the chance to win fantastic rewards, like free Linux eBooks such as RHCE, RHCSA, LFCS, Learn Linux, and Awk, each worth $20!

Learn more about the contest and stand a chance to win by sharing your thoughts below!

Aaron Kili
Aaron Kili is a Linux and F.O.S.S enthusiast, an upcoming Linux SysAdmin, web developer, and currently a content creator for TecMint who loves working with computers and strongly believes in sharing knowledge.

Each tutorial at TecMint is created by a team of experienced Linux system administrators so that it meets our high-quality standards.

Join the TecMint Weekly Newsletter (More Than 156,129 Linux Enthusiasts Have Subscribed)
Was this article helpful? Please add a comment or buy me a coffee to show your appreciation.

2 Comments

Leave a Reply

Got Something to Say? Join the Discussion...

Thank you for taking the time to share your thoughts with us. We appreciate your decision to leave a comment and value your contribution to the discussion. It's important to note that we moderate all comments in accordance with our comment policy to ensure a respectful and constructive conversation.

Rest assured that your email address will remain private and will not be published or shared with anyone. We prioritize the privacy and security of our users.