The Wombelix Post - RHELhttps://dominik.wombacher.cc/2023-07-11T00:00:00+02:00SUSE forks RHEL, SUSE Liberty Linux reloaded?2023-07-11T00:00:00+02:002023-07-11T00:00:00+02:00Dominik Wombachertag:dominik.wombacher.cc,2023-07-11:/posts/suse-forks-rhel-suse-liberty-linux-reloaded.html<!-- SPDX-FileCopyrightText: 2023 Dominik Wombacher <dominik@wombacher.cc> -->
<!-- -->
<!-- SPDX-License-Identifier: CC-BY-SA-4.0 -->
<p>I will not go into details about the recent announcement from Red Hat to stop publishing RHEL
sources on git.centos.org and the millions of reactions from all sides ... <a class="read-more" href="/posts/suse-forks-rhel-suse-liberty-linux-reloaded.html"> [read more]</a></p><!-- SPDX-FileCopyrightText: 2023 Dominik Wombacher <dominik@wombacher.cc> -->
<!-- -->
<!-- SPDX-License-Identifier: CC-BY-SA-4.0 -->
<p>I will not go into details about the recent announcement from Red Hat to stop publishing RHEL
sources on git.centos.org and the millions of reactions from all sides of the community.</p>
<p>What I want to quickly comment on, but from a probably very different view, is the announcement
that SUSE made today about a hard-fork of RHEL, as communicated in
<a class="reference external" href="https://www.suse.com/news/SUSE-Preserves-Choice-in-Enterprise-Linux/">SUSE Preserves Choice in Enterprise Linux</a>
(Archive: <a class="reference external" href="https://web.archive.org/web/20230713102107/https://www.suse.com/news/SUSE-Preserves-Choice-in-Enterprise-Linux/">[1]</a>,
<a class="reference external" href="https://archive.today/2023.07.11-155928/https://www.suse.com/news/SUSE-Preserves-Choice-in-Enterprise-Linux/">[2]</a>)
and
<a class="reference external" href="https://www.suse.com/c/at-suse-we-make-choice-happen/">At SUSE We Make Choice Happen</a>
(Archive: <a class="reference external" href="https://web.archive.org/web/20230712045257/https://www.suse.com/c/at-suse-we-make-choice-happen/">[1]</a>,
<a class="reference external" href="https://archive.today/2023.07.12-045227/https://www.suse.com/c/at-suse-we-make-choice-happen/">[2]</a>)</p>
<p>I saw a lot of reactions and comments about it on various platforms and realized, most people
doesn't seem to be aware, that SUSE already has a <em>"RHEL Clone"</em> and provides commercial support
for Enterprise Linux compatible systems, for many years.</p>
<p>Until last year, the offering was called <strong>Expanded Support</strong> and was then basically just renamed into
<strong>SUSE Liberty Linux</strong>. Rumors said, SUSE had in mind to create a own Enterprise Linux compatible Distribution
and to release it under this new name. But then decided to keep it low and proceed with the, in my opinion not
very well known, commercial offering, which mainly targeted customer that want to migrate to SLES at some point.</p>
<p>I also wrote a <a class="reference external" href="https://www.heise.de/select/ix/2022/4/2203310005881141836">letter to the editor (german only)</a>
(Archive: <a class="reference external" href="https://web.archive.org/web/20220706021422/https://www.heise.de/select/ix/2022/4/2203310005881141836">[1]</a>,
<a class="reference external" href="https://archive.today/2023.07.13-123054/https://www.heise.de/select/ix/2022/4/2203310005881141836">[2]</a>)
about those history, after an Article about SUSE Liberty Linux was released last year in the iX Magazine in Germany.</p>
<ul class="simple">
<li>Google Translate (german > english) direct link:
<a class="reference external" href="https://www-heise-de.translate.goog/select/ix/2022/4/2203310005881141836?_x_tr_sl=auto&_x_tr_tl=en&_x_tr_hl=en-US&_x_tr_pto=wapp">https://www-heise-de.translate.goog/select/ix/2022/4/2203310005881141836?_x_tr_sl=auto&_x_tr_tl=en&_x_tr_hl=en-US&_x_tr_pto=wapp</a></li>
</ul>
<p>Don't get me wrong, I really like what SUSE already did all the years and have the feeling it's
a logical step to use the existing knowledge and finally publish SUSE Liberty Linux
(or whatever name they will give it now). I just think we should keep in mind, they not going
to start something from scratch and personally I assume that existing costs for SUSE Liberty Linux
are, to a certain extend, already included in the nice sounding $10+ Million dollar investment :)</p>
<p>Still, SUSE is 30 years in the business and now seem to get serious with SUSE Liberty Linux,
I really hope they moving fast, publishing what they have and start building an
active community around their very own version of an Enterprise Linux compatible Distro.</p>
<p>Maybe at some point, people can get commercial support from SUSE for EL and switching from
a community supported to a commercial supported operating system, and vice versa, as easy
as it's possible today with openSUSE Leap 15 and SUSE Linux Enterprise Server 15.</p>
Journey from RHEL 7 to CentOS 7 and Oracle Linux 8 with elevate2022-03-28T00:00:00+02:002022-03-28T00:00:00+02:00Dominik Wombachertag:dominik.wombacher.cc,2022-03-28:/posts/journey_from_rhel-7_to_centos-7_and_oracle-linux-8_with_elevate.html<!-- SPDX-FileCopyrightText: 2023 Dominik Wombacher <dominik@wombacher.cc> -->
<!-- -->
<!-- SPDX-License-Identifier: CC-BY-SA-4.0 -->
<p>From a technical point of view, every Red Hat Enterprise Linux derivate is as good as the original.
If you are happy with community support, your use case doesn't require ... <a class="read-more" href="/posts/journey_from_rhel-7_to_centos-7_and_oracle-linux-8_with_elevate.html"> [read more]</a></p><!-- SPDX-FileCopyrightText: 2023 Dominik Wombacher <dominik@wombacher.cc> -->
<!-- -->
<!-- SPDX-License-Identifier: CC-BY-SA-4.0 -->
<p>From a technical point of view, every Red Hat Enterprise Linux derivate is as good as the original.
If you are happy with community support, your use case doesn't require a specific vendor and their
support services, you can choose from a lot of really good options.</p>
<p>At work we still have some RHEL 7 VMs in our Management Environment where
we actually don't need any sort of support subscriptions.
If there is anything broken, we have to fix it on our own, nothing where,
in this case, Red Hat could and will help us.</p>
<p>But to have at least the option to pay for vendor support again,
something you need in larger companies to calm down your management,
we opted to migrate RHEL 7 Systems to <a class="reference external" href="https://linux.oracle.com/">Oracle Linux</a>,
even though I would personally pick <a class="reference external" href="https://rockylinux.org">RockyLinux</a> because of the community behind it.</p>
<p>The migration will be done in two Steps:</p>
<blockquote>
<ol class="arabic simple">
<li>From RHEL 7 to latest CentOS 7 release</li>
<li>From CentOS 7 to Oracle Linux 8</li>
</ol>
</blockquote>
<p>Step 1 feels a little "hacky" and involves some manual steps, for Step 2
we going to use <a class="reference external" href="https://almalinux.org/elevate">elevate from AlmaLinux</a>.</p>
<p>I will not talk about RHEL 7 > CentOS 7 in detail, just some notes about potential pitfalls,
there are tons of guides out to about that topic, for example
<a class="reference external" href="https://jensd.be/32/linux/migrate-rhel7-to-centos7">this one</a>
(Archive: <a class="reference external" href="https://web.archive.org/web/20210721094132/https://jensd.be/32/linux/migrate-rhel7-to-centos7">[1]</a>,
<a class="reference external" href="https://archive.today/2022.03.28-213128/https://jensd.be/32/linux/migrate-rhel7-to-centos7">[2]</a>),
<a class="reference external" href="https://www.openlogic.com/blog/step-step-migration-rhel-74-centos-74">this one</a>
(Archive: <a class="reference external" href="https://web.archive.org/web/20220328213141/https://www.openlogic.com/blog/step-step-migration-rhel-74-centos-74">[1]</a>,
<a class="reference external" href="https://archive.today/2022.03.28-213154/https://www.openlogic.com/blog/step-step-migration-rhel-74-centos-74">[2]</a>) or
<a class="reference external" href="https://wiki.centos.org/HowTos/MigrationGuide">this one</a>
(Archive: <a class="reference external" href="https://web.archive.org/web/20220131030128/https://wiki.centos.org/HowTos/MigrationGuide">[1]</a>,
<a class="reference external" href="https://archive.today/2022.03.28-213214/https://wiki.centos.org/HowTos/MigrationGuide">[2]</a>).</p>
<p>Some things you should keep in mind during RHEL 7 to CentOS 7:</p>
<blockquote>
<ul class="simple">
<li>If you use a HTTP Proxy, configure it correctly on OS Level and ensure the mirrors you going to use are whitelisted</li>
<li>You have a Red Hat Satellite 6 Server running and the VM registered? Remove also those packages when removing all other redhat / rhn related ones.</li>
<li>Disable, or even better, remove the subscription manager, you don't need it anymore and it will cause problems otherwise</li>
<li>Verify that there is enough free space available, you will probably need ~2GB for new downloaded packages</li>
</ul>
</blockquote>
<p>In-Place Upgrade from Enterprise Linux 7 to 8 is technically possible and something Red Hat even officially support for RHEL 7 to RHEL 8.
It uses the leapp framework under the hood, which is also the basis of AlmaLinux elevate Project. They describe it as following:
<code>ELevate enables migration between major versions of RHELĀ® derivatives. Easily go from CentOS 7.x to any 8.x of your choice</code>.</p>
<p>So with the help of elevate we can jump directly from CentOS 7 to Oracle Linux 8 without much trouble? Let's see how that goes.</p>
<p>I followed the <a class="reference external" href="https://wiki.almalinux.org/elevate/ELevate-quickstart-guide.html">elevate Quickstart Guide</a>
(Archive: <a class="reference external" href="https://web.archive.org/web/20211108171501/https://wiki.almalinux.org/elevate/ELevate-quickstart-guide.html">[1]</a>,
<a class="reference external" href="https://archive.today/2022.03.28-214850/https://wiki.almalinux.org/elevate/ELevate-quickstart-guide.html">[2]</a>),
which works almost as easy as promised:</p>
<pre class="code text literal-block">
yum install -y http://repo.almalinux.org/elevate/elevate-release-latest-el7.noarch.rpm
yum install -y leapp-upgrade leapp-data-oraclelinux
yum remove subscription-manager* # If not already done, this is the right moment ;)
rmmod pata_acpi
leapp answer --section remove_pam_pkcs11_module_check.confirm=True
leapp preupgrade
</pre>
<p>In case you see the following error message and are worried, you can
<a class="reference external" href="https://bugzilla.redhat.com/show_bug.cgi?id=1747444">ignore it</a>
(Archive: <a class="reference external" href="https://web.archive.org/web/20220328215806/https://bugzilla.redhat.com/show_bug.cgi?id=1747444">[1]</a>,
<a class="reference external" href="https://archive.today/2022.03.28-215731/https://bugzilla.redhat.com/show_bug.cgi?id=1747444">[2]</a>):</p>
<pre class="code text literal-block">
2022-03-25 15:26:22.757 DEBUG PID: 18014 leapp.workflow.TargetTransactionFactsCollection.target_userspace_creator: Failed to create directory /var/lib/leapp/scratch/mounts/root_/system_overlay//sys/fs/selinux: Read-only file system
2022-03-25 15:26:22.774 DEBUG PID: 18014 leapp.workflow.TargetTransactionFactsCollection.target_userspace_creator: Failed to create directory /var/lib/leapp/scratch/mounts/root_/system_overlay//sys/fs/selinux: Read-only file system
</pre>
<p>Here comes the most important part if you have to use a http proxy to reach the internet, as I have to, which will by default just fail:</p>
<pre class="code text literal-block">
Loaded plugins: builddep, changelog, config-manager, copr, debug, debuginfo-install, download, generate_completion_cache, needs-restarting, playground, repoclosure, repodiff, repograph, repomanage, reposync
DNF version: 4.0.9
cachedir: /el8target/var/cache/dnf
Unknown configuration option: autorefresh = 1 in /etc/yum.repos.d/elasticsearch.repo
repo: downloading from remote: ol8_codeready_builder
Oracle Linux 8 CodeReady Builder (x86_64) 0.0 B/s | 0 B 00:00
Cannot download 'https://yum.oracle.com/repo/OracleLinux/OL8/codeready/builder/x86_64/': Cannot download repomd.xml: Cannot download repodata/repomd.xml: All mirrors were tried.
repo: downloading from remote: ol8_addons
Oracle Linux 8 Addons (x86_64) 0.0 B/s | 0 B 00:00
Cannot download 'https://yum.oracle.com/repo/OracleLinux/OL8/addons/x86_64/': Cannot download repomd.xml: Cannot download repodata/repomd.xml: All mirrors were tried.
repo: downloading from remote: ol8_appstream
Oracle Linux 8 Application Stream (x86_64) 0.0 B/s | 0 B 00:00
Cannot download 'https://yum.oracle.com/repo/OracleLinux/OL8/appstream/x86_64/': Cannot download repomd.xml: Cannot download repodata/repomd.xml: All mirrors were tried.
repo: downloading from remote: ol8_baseos_latest
Oracle Linux 8 BaseOS Latest (x86_64) 0.0 B/s | 0 B 00:00
Cannot download 'https://yum.oracle.com/repo/OracleLinux/OL8/baseos/latest/x86_64/': Cannot download repomd.xml: Cannot download repodata/repomd.xml: All mirrors were tried.
repo: downloading from remote: ol8_UEKR6
Latest Unbreakable Enterprise Kernel Release 6 0.0 B/s | 0 B 00:00
Failed to synchronize cache for repo 'ol8_codeready_builder', ignoring this repo.
Failed to synchronize cache for repo 'ol8_addons', ignoring this repo.
Failed Cannot download 'https://yum.oracle.com/repo/OracleLinux/OL8/UEKR6/x86_64/': Cannot download repomd.xml: Cannot download repodata/repomd.xml: All mirrors were tried.
No module defaults found
No match for argument: dnf
to synchronize cache for repo 'ol8_appstream', ignoring this repo.
Failed to synNo match for argument: dnf-command(config-manager)
chronize cache for repo 'ol8_baseos_latest', ignoring this repo.
Failed to synchronize cache for repo 'ol8_UEKR6', ignoring this repo.
Error: Unable to find a match: dnf dnf-command(config-manager)
</pre>
<p>Let's <a class="reference external" href="https://docs.oracle.com/en/operating-systems/oracle-linux/8/leapp/chap-leapp-upgrade.html#preupgrade-report">configure the proxy in the leapp repo file</a>
(Archive: <a class="reference external" href="https://web.archive.org/web/20220328220402/https://docs.oracle.com/en/operating-systems/oracle-linux/8/leapp/chap-leapp-upgrade.html">[1]</a>,
<a class="reference external" href="https://archive.today/2022.03.28-220359/https://docs.oracle.com/en/operating-systems/oracle-linux/8/leapp/chap-leapp-upgrade.html%23preupgrade-report">[2]</a>),
adjust the placeholder <em><proxy></em> based on your needs:</p>
<pre class="code text literal-block">
sed -i '/^enabled=.*/a proxy=<proxy>' /etc/leapp/files/leapp_upgrade_repositories.repo
</pre>
<p>Again the advice to take a look at your available space, you will need ~2GB on <code>/var/cache</code> for the OL8 packages that leapp is going to download, otherwise you will see some nice error messages like:</p>
<pre class="code text literal-block">
(742/943): gpm-libs-1.20.7-17.el8.x86_64.rpm 2.4 MB/s | 39 kB 00:00
[MIRROR] golang-bin-1.16.12-1.module+el8.5.0+20456+eee863d9.x86_64.rpm: Curl error (23): Failed writing received data to disk/application for https://yum.oracle.com/repo/OracleLinux/OL8/appstream/x86_64/getPackage/golang-bin-1.16.12-1.module%2bel8.5.0%2b20456%2beee863d9.x86_64.rpm [Failed writing body (924 != 16384)]
Process Process-425:
Traceback (most recent call last):
File "/usr/lib64/python2.7/multiprocessing/process.py", line 258, in _bootstrap
self.run()
File "/usr/lib64/python2.7/multiprocessing/process.py", line 114, in run
self._target(self._args, *self._kwargs)
File "/usr/lib/python2.7/site-packages/leapp/repository/actor_definition.py", line 72, in _do_run
actor_instance.run(args, *kwargs)
File "/usr/lib/python2.7/site-packages/leapp/actors/_init_.py", line 335, in run
self.process(*args)
File "/usr/share/leapp-repository/repositories/system_upgrade/common/actors/dnfpackagedownload/actor.py", line 48, in process
xfs_info=xfs_info, storage_info=storage_info, plugin_info=plugin_info, on_aws=on_aws
File "/usr/share/leapp-repository/repositories/system_upgrade/common/libraries/dnfplugin.py", line 344, in perform_rpm_download
test=True, on_aws=on_aws
File "/usr/lib64/python2.7/contextlib.py", line 35, in _exit_
self.gen.throw(type, value, traceback)
yield overlay
File "/usr/share/leapp-repository/repositories/system_upgrade/common/libraries/mounting.py", line 367, in _exit_
self.umount()
File "/usr/share/leapp-repository/repositories/system_upgrade/common/libraries/mounting.py", line 360, in umount
self._cleanup()
File "/usr/share/leapp-repository/repositories/system_upgrade/common/libraries/mounting.py", line 326, in _cleanup
run(['umount', '-fl', self.target], split=False)
File "/usr/lib/python2.7/site-packages/leapp/libraries/stdlib/_init_.py", line 175, in run
api.current_logger().debug('External command has started: {0}'.format(str(args)))
File "/usr/lib64/python2.7/logging/_init_.py", line 1137, in debug
self._log(DEBUG, msg, args, **kwargs)
File "/usr/lib64/python2.7/logging/_init_.py", line 1268, in _log
self.handle(record)
File "/usr/lib64/python2.7/logging/_init_.py", line 1278, in handle
self.callHandlers(record)
File "/usr/lib64/python2.7/logging/_init_.py", line 1318, in callHandlers
hdlr.handle(record)
File "/usr/lib64/python2.7/logging/_init_.py", line 749, in handle
self.emit(record)
File "/usr/lib/python2.7/site-packages/leapp/logger/_init_.py", line 40, in emit
self._do_emit(log_data)
File "/usr/lib/python2.7/site-packages/leapp/logger/_init_.py", line 45, in _do_emit
Audit(**log_data).store()
File "/usr/lib/python2.7/site-packages/leapp/utils/audit/_init_.py", line 88, in store
self.do_store(connection)
File "/usr/lib/python2.7/site-packages/leapp/utils/audit/_init_.py", line 371, in do_store
self.message.message_id if self.message else None, self.data))
OperationalError: unable to open database file
[
=====================================================================================================
Actor dnf_package_download unexpectedly terminated with exit code: 1 - Please check the above details
=====================================================================================================
</pre>
<p>If you are ready, run <code>leapp preupgrade</code> again, should complete without errors this time.</p>
<pre class="code text literal-block">
A reboot is required to continue. Please reboot your system.
Debug output written to /var/log/leapp/leapp-upgrade.log
============================================================
REPORT
============================================================
A report has been generated at /var/log/leapp/leapp-report.json
A report has been generated at /var/log/leapp/leapp-report.txt
============================================================
END OF REPORT
============================================================
</pre>
<p>Reboot your VM and, if available, watch the rest of the Upgrade through the VMWare / KVM or whatever other Console your Hypervisor provides.
It will boot into <em>ELevate-Upgrade-Initramfs</em>, perform the whole CentOS 7 to Oracle Linux 8 magic and boot into your new OL8 System afterwards.</p>
<p>Some additional steps I did as soon the System was up and running again:</p>
<pre class="code text literal-block">
alternatives --set python /usr/bin/python3
# link 'python' to 'python3' for backward compatibility
dnf remove puppet
# we don't need the old puppet agent which was connected to satellite, forgot to remove it earlier...
cat /etc/redhat-release
cat /etc/os-release
rpm -qa | grep centos
rpm -qa | grep el7
# Verify that we running on the expected OS, in case of some el7 leftover, check if that's related to installed applications that might also require a update
dnf clean
dnf upgrade
grubby --set-default /boot/vmlinuz-5.4.17-2136.305.5.3.el8uek.x86_64
# Change from Standard EL8 Kernel to OL UEK
reboot
</pre>
<p>And that's it, except the extra step to configure http proxy, which isn't mention in the AlmaLinux Quickstart Guide yet,
it went very smoothly and seem to result in a stable system, so far I'm happy with the results and can recommend to give elevate a try.</p>
Red Hat Certified Specialist in Linux Diagnostics and Troubleshooting2021-09-20T00:00:00+02:002022-12-30T00:00:00+01:00Dominik Wombachertag:dominik.wombacher.cc,2021-09-20:/posts/red-hat-certified-specialist-in-linux_diagnostics_and_troubleshooting.html<!-- SPDX-FileCopyrightText: 2023 Dominik Wombacher <dominik@wombacher.cc> -->
<!-- -->
<!-- SPDX-License-Identifier: CC-BY-SA-4.0 -->
<p>It's been a while since I tackled the <a class="reference external" href="https://dominik.wombacher.cc/posts/red-hat-certified-system-administrator-rhel-8.html">RHCSA</a>,
<a class="reference external" href="https://dominik.wombacher.cc/posts/red-hat-certified-engineer-ansible-28-rhel-8.html">RHCE</a> followed by the
<a class="reference external" href="https://dominik.wombacher.cc/posts/red-hat-certified-specialist-in-advanced-automation-ansible-best-practices-ansible-28-tower-35-rhel-8.html">RHCS (Ansible Best Practices)</a>,
but today I passed the EX342 and earned the 'Red Hat Certified Specialist ... <a class="read-more" href="/posts/red-hat-certified-specialist-in-linux_diagnostics_and_troubleshooting.html"> [read more]</a></p><!-- SPDX-FileCopyrightText: 2023 Dominik Wombacher <dominik@wombacher.cc> -->
<!-- -->
<!-- SPDX-License-Identifier: CC-BY-SA-4.0 -->
<p>It's been a while since I tackled the <a class="reference external" href="https://dominik.wombacher.cc/posts/red-hat-certified-system-administrator-rhel-8.html">RHCSA</a>,
<a class="reference external" href="https://dominik.wombacher.cc/posts/red-hat-certified-engineer-ansible-28-rhel-8.html">RHCE</a> followed by the
<a class="reference external" href="https://dominik.wombacher.cc/posts/red-hat-certified-specialist-in-advanced-automation-ansible-best-practices-ansible-28-tower-35-rhel-8.html">RHCS (Ansible Best Practices)</a>,
but today I passed the EX342 and earned the 'Red Hat Certified Specialist in Linux Diagnostics and Troubleshooting' Certification!</p>
<p>That's already my second Certification counting towards the Red Hat Architect, let's see if that's something I can achieve within the next year :)</p>
<p>The Exam is still based on RHEL 7, what's probably fine because most of the Topics and Tasks would be more or less identical on RHEL 8.
Was the hardest Red Hat Exam I attended so far, I studied with the RH342 eBook from my earlier RHLS and the Course from A Cloud Guru.</p>
<p>The ACG Course was okay but in my opinion didn't covered the Topics in the necessary depth, I don't think I could pass the Exam with ACG only.
The original Red Hat eBook in combination with existing knowledge and the Hands-On Labs from ACG was a good mix and preparation.</p>
<p>But due to the fact that the "new" RHCE is focusing on Ansible, I can only recommend to prepare additionally with the RHCE RHEL 7 Content!</p>
<p><strong>Summary</strong>: A Red Hat Certified Specialist in Linux Diagnostics and Troubleshooting is capable to prevent costly downtime due to system failure and quickly recover failed systems using analysis, diagnosis, and troubleshooting.</p>
<p>Source & Copyright: <a class="reference external" href="https://www.redhat.com">https://www.redhat.com</a></p>
<div class="section" id="skills">
<h2>Skills</h2>
<ul class="simple">
<li>Understanding and employing general methods for troubleshooting</li>
<li>Diagnosing and troubleshooting system start up issues</li>
<li>Diagnosing and troubleshooting file system issues</li>
<li>Resolving package management issues</li>
<li>Troubleshooting and fixing network connectivity issues</li>
<li>Diagnosing application issues</li>
<li>Identifying and fixing authentication issues</li>
<li>Gathering information to aid third party investigation of issues</li>
</ul>
<p>Source & Copyright: <a class="reference external" href="https://www.redhat.com">https://www.redhat.com</a></p>
</div>
<div class="section" id="certificate">
<h2>Certificate</h2>
<ul class="simple">
<li>Downloads<ul>
<li><a class="reference external" href="/certificates/Red_Hat_Certificate_COE-diag-trblshoot_Dominik_Wombacher.pdf">Certificate</a> (PDF, 856K)</li>
<li><a class="reference external" href="/certificates/Red_Hat_Certificate_COE-diag-trblshoot_Dominik_Wombacher.png">Badge</a> (PNG, 64K)</li>
</ul>
</li>
<li>Links<ul>
<li><a class="reference external" href="https://www.credly.com/badges/a9370b15-4363-4c87-adfd-84d33218b004/public_url">Verify Credly Badge</a>
(Archive: <a class="reference external" href="https://web.archive.org/web/20221230161109/https://www.credly.com/badges/a9370b15-4363-4c87-adfd-84d33218b004/public_url">[1]</a>,
<a class="reference external" href="https://archive.today/2022.12.30-161125/https://www.credly.com/badges/a9370b15-4363-4c87-adfd-84d33218b004/public_url">[2]</a>)</li>
<li><a class="reference external" href="https://rhtapps.redhat.com/certifications/badge/verify/YB2FOP3QSCV3PTZRLMFMRR54AUAEQU3CUPSQX2KSDXT6RW46LQ34ER3IZWRAFRSW6H6AKMWNCAWF4J4CANLMSLT4HHG2CEXIY5VD4KY=">Verify Red Hat Badge</a>
(Archive: <a class="reference external" href="https://web.archive.org/web/20210920125007/https://rhtapps.redhat.com/certifications/badge/verify/YB2FOP3QSCV3PTZRLMFMRR54AUAEQU3CUPSQX2KSDXT6RW46LQ34ER3IZWRAFRSW6H6AKMWNCAWF4J4CANLMSLT4HHG2CEXIY5VD4KY=">[1]</a>,
<a class="reference external" href="https://archive.ph/2021.09.20-124940/https://rhtapps.redhat.com/certifications/badge/verify/YB2FOP3QSCV3PTZRLMFMRR54AUAEQU3CUPSQX2KSDXT6RW46LQ34ER3IZWRAFRSW6H6AKMWNCAWF4J4CANLMSLT4HHG2CEXIY5VD4KY=">[2]</a>)</li>
<li><a class="reference external" href="https://rhtapps.redhat.com/verify/?certId=210-065-546">Verify Certificate</a></li>
</ul>
</li>
</ul>
</div>