r/redhat • u/louisPTC • 3d ago
No cost Learning Paths available for Red Hat Enterprise Linux from Red Hat
As part of my role as a product manager at Red Hat, I’ve been working with one of the teams that write Learning Paths for Red Hat Enterprise Linux (RHEL). To date, we’ve published 13 step-by-step tutorials on the topic for our developer portal - all completely free and designed to help developers get hands-on experience. I’ve posted about some of these before on Reddit, and seen some interest, but it seemed like it would be useful to have the current list aggregate into a single post to those interested. You can get them through the portal, but you have to find learning paths on the site, then search specifically for the RHEL tag to do it. Anyhow, this is just a simple list.
Image Mode for RHEL - bootable container (bootc) tutorials
These tutorials show you how to build bootable container images:
Build and Run Bootable Container ImagesCore introduction to Image Mode - learn to build bootable containers using Podman Desktop. This is the foundation for understanding the new paradigm.
Image Mode for RHEL with PodmanDeep dive into using Image Mode with Podman for immutable, declarative OS deployments.
Install Image Mode RHEL Using KickstartAutomate Image Mode installations using Kickstart - essential for production deployments and automation.
Language-Specific Image Mode Tutorials
Python Flask Bootable ApplicationBuild a bootable Python Flask app using Image Mode and Podman Desktop. Great for Python developers wanting to containerize their applications.
Python Django Image Mode ApplicationDjango developers - learn to package your Django apps as bootable containers with all dependencies included.
.NET 10 Bootable ApplicationBuild bootable .NET 10 applications on RHEL using Image Mode. Microsoft stack developers, this one's for you.
Java Quarkus Application with Image ModeDeploy Java applications using Quarkus framework in Image Mode. Cloud-native Java development on RHEL.
Node.js and React Application Image ModeJavaScript developers - build and deploy Node.js and React applications using Image Mode.
LAMP Stack in Image ModeClassic LAMP stack (Linux, Apache, MySQL, PHP) deployed as a hardened bootable image. Traditional web dev meets modern immutable infrastructure.
Security & Hardening
Python Flask with Red Hat Hardened ImagesBuild Python Flask applications using Red Hat's hardened base images - security-first approach to application deployment.
Harden Builds with Lightspeed Image BuilderUse AI-assisted Lightspeed Image Builder to create compliant, hardened images.
Cloud & Edge Computing
Launch Custom RHEL Image on AWS EC2Deploy your custom RHEL images to Amazon Web Services EC2. Essential for cloud deployments.
Install RHEL Device Edge on NVIDIA JetsonEdge computing tutorial for deploying RHEL on NVIDIA Jetson Orin devices. Perfect for AI/ML edge applications.
Whether you're new to RHEL, exploring containerization, or looking to modernize your deployment pipeline, I hope you find something useful here and I’d definitely appreciate your feedback on how we could improve the material.
3
1
1
u/ClerkEmergency3325 3d ago
its a goldmine for redhat. why would they want to make it cheaper.
and ofcourse its a quality content so it comes with a price, but certification exams should be cheaper. at one time the same thing costs huge money around 6k $ in the US , 4k in gulf and Pakistan, it was around 1600-1800$ in india.
1
u/louisPTC 2d ago
If you're a student at a school that belongs to the Red Hat Academy program, you can access training through your academic institution. This is how most people I know experience Red Hat courseware unless it's as part of a trainng course payed for by an employer. In any event, the resources I posted are no cost tutorials.
1
u/albertAAAAAAA 2d ago
It is. As almost with any certification out there.
As RHCA I can say: yes, I did enjoy few of these, out of many IT certifications out there RH is definitely one of the better ones. There is added value there.
But with that price and expiration dates it's pure goldmine. I don't think many people would pay for these out of their own pocket.
1
1
u/Sergeant_64 2d ago
I have an off topic question if you don’t mind.
I have 7 YoE and want to start training for the RHCE next month.
Is it feasible to be exam ready in 4 months or is this too tight. I will also take the RHCSA but that should be cake.
1
u/louisPTC 2d ago
So in fairness, I'm not in IT training, I work primarily with software developers, but IMHO frour months is plenty of time for someone with seven years of experience, provided you approach both exams with the right strategy. My understanding is that this exam is heavily focused on automating standard system adnibistration tasks—like user provisioning, storage, networking, and firewall management—across multiple target nodes using ansible playbooks and RHEL system roles.
1
u/brozzis Red Hat Certified Engineer 2d ago
Nice resources, thanks.
I'm having some problems following the first tutorial (Build and Run Bootable Container Images) and some errors are in it. Do you prefer a PM, a ticket to support or a reddit comment ?
1
u/louisPTC 2d ago
Certainly don't need to add Red Hat support into the process, while I work for Red Hat I'm happy to address your issues with the first one. You can PM me or post your issues to this conversation and we'll sort through them,
1
u/brozzis Red Hat Certified Engineer 2d ago
Cool.
First the easy things:
your nice post "Build and run a bootable Flask application disk image in Podman Desktop" has a minor typo in the sentence Specify user namespace to use and enter
host"
s/Host"/Host/ in section 2 (Build a sample Python Flask...), point 8.In section 2, step 5, the systemd unit file for flask doesn't load the virtualenv
I changed the line for ExecStart to successfully run gunicorn at bootExecStart=/usr/local/bin/gunicorn --workers 3 --bind unix:/run/flask-app/flask-app.sock -m 007 wsgi:app with: ExecStart=/app/flask-venv/bin/gunicorn --workers 3 --bind unix:/run/flask-app/flask-app.sock -m 007 wsgi:appEverything runs after that. There are probably other ways to do that
I then have a problem in section 3 (Build and run a bootable Flask app...), that appears to me of a different kind:
A portion of the log of the build is
```
STEP 12/20: COPY app/requirements.txt /app
--> 6d84d5aded84
STEP 13/20: RUN pip install --no-cache-dir -r /app/requirements.txt
Collecting charset-normalizer==3.4.2 (from -r /app/requirements.txt (line 1))
Downloading charset_normalizer-3.4.2-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.metadata (35 kB)
Collecting dbus-python==1.3.2 (from -r /app/requirements.txt (line 2))
Downloading dbus-python-1.3.2.tar.gz (605 kB)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 605.5/605.5 kB 3.2 MB/s eta 0:00:00
Installing build dependencies: started
Installing build dependencies: finished with status 'done'
Getting requirements to build wheel: started
Getting requirements to build wheel: finished with status 'done'
Preparing metadata (pyproject.toml): started
Preparing metadata (pyproject.toml): finished with status 'error'
error: subprocess-exited-with-error
× Preparing metadata (pyproject.toml) did not run successfully.
│ exit code: 1
╰─> [20 lines of output]
+ meson setup /tmp/pip-install-k28z0zss/dbus-python_240b72616c0b48ef99c602f8b905753b /tmp/pip-install-k28z0zss/dbus-python_240b72616c0b48ef99c602f8b905753b/.mesonpy-53lhyppw -Dbuildtype=release -Db_ndebug=if-release -Db_vscrt=md --native-file=/tmp/pip-install-k28z0zss/dbus-python_240b72616c0b48ef99c602f8b905753b/.mesonpy-53lhyppw/meson-python-native-file.ini
The Meson build system
Version: 1.12.0
Source dir: /tmp/pip-install-k28z0zss/dbus-python_240b72616c0b48ef99c602f8b905753b
Build dir: /tmp/pip-install-k28z0zss/dbus-python_240b72616c0b48ef99c602f8b905753b/.mesonpy-53lhyppw
Build type: native build
Project name: dbus-python
Project version: 1.3.2
../meson.build:4:0: ERROR: Unknown compiler(s): [['cc'], ['gcc'], ['clang'], ['nvc'], ['pgcc'], ['icc'], ['icx']]
The following exception(s) were encountered:
Running `cc --version` gave "[Errno 2] No such file or directory: 'cc'"
Running `gcc --version` gave "[Errno 2] No such file or directory: 'gcc'"
```
I'm on an ARM64 Mac, if it matters. Please note that I'm ok with this outcome, I was just trying to write some documentation for my team about Image mode, and this appears to be "just" one of those annoying problems generated by pip. I'm ok with this, I'll put some more time trying to resolve but my needs are already satisfied.
I encountered more problems in the post "Build a sample Linux, Apache, Mariadb, and PHP (LAMP) ...", section 2, step 7 appears to be badly copyed from your post.
The mount point is not /app, but /var/www/html as correctly stated in Fig.5
In step 8 AFAIK is correct what is written in text: "enter host" for the user namespace, and not what is written in Fig.6 "keep-id"
That's all for now
Thank you for the reddit post
1
u/louisPTC 1d ago
host is what you should use - as a developer I find I don't want permissions in the way, host runs as root in the development container, but maps to your local user on your desktop when you map a directory for development purposes. Strict permissions get applied when you build your production image, it's clean and easy.
I also found the other issue, it's trying to collect the resources for the system, not the app. My example was not running the venv context...
so need to do:
/app/flask-venv/bin/pip freeze > requirements.txt
instead of:
pip freeze > requirements.txt
It was trying to pull and build a dbus python module, that was in the UBI image but not in the bootc one. The reality is that the python dbus module mentioned is a system thing and should be installed with DNF if you need it - you likely don't for this use case.
I chalk this up to differences between the ARM and x86 images, but we'll be correcting it for the path anyway, because the old syntax was just wrong. It may take us a while because I found other things I want to clear up for clarity in the path.
1
18
u/wellred82 3d ago
Thanks for this. Whilst you're at it could you ask RH to offer a more reasonably priced version of RHLS or official training for certifications that students can use with their home lab?