Archive for the ‘AlmaLinux’ Category
PostgreSQL User Password
Miraculous events happen on my students’ computers almost weekly. For example, one couldn’t remember their student user’s password, which I set by default. How did they change it? They don’t recall.
Assuming you have sudoer authority on a Linux operating system, you can change a PostgreSQL user’s password as follows:
- Assume the root user’s role with the following command:
sudo sh
- As the root user, assume the postgres user’s role with the following command:
su - postgres
- As the postgres user, connect to the PostgreSQL database with the following command:
psql -U postgres
- Assuming the user’s name is student and you want to set the password to a trivial value like student, use the following command:
ALTER USER student WITH ENCRYPTED PASSWORD 'student';
As always, I hope this helps somebody trying to sort out the syntax and workflow.
AlmaLinxu + javac
I neglected to show how to install and configure the Java SDK on my earlier post without relying on including the $JAVA_HOME in the $PATH. This post shows how to install the Java and Java SDK on Alma Linux without layering it with the $JAVA_HOME environment variable.
You install the Java runtime and development kit with the following command:
sudo dnf install -y java-17-openjdk java-17-openjdk-devel |
Then, you need to add it to the $PATH environment variable with the following syntax in your .bashrc file or environment file of your choice.
export set PATH=$PATH:/usr/lib/jvm/java-17-openjdk-17.0.8.0.7-2.el9.x86_64/bin/ |
After you source the new $PATH environment value, you can then write a file like this Hello.java file to test it.
// Define the Java program. public class HelloWorld { public static void main(String[] args) { System.out.println("Hello World!"); } } |
You compile the Hello.java file with this syntax:
javac Hello.java |
Then, you run the compiled program with the following syntax:
java Hello |
It’ll print:
Hello World! |
User/Group Setups
The following are samples of creating, changing, and removing users and groups in Linux. These are the command-line options in the event you don’t have access to the GUI tools.
Managing Users:
Adding a user:
The prototype is:
# useradd [-u uid] [-g initial_group] [-G group[,...]] \ > [-d home_directory] [-s shell] [-c comment] \ > [-m [-k skeleton_directory]] [-f inactive_time] \ > [-e expire_date] -n username |
A sample implementation of the prototype is:
# useradd -u 502 -g dba -G users,root \ > -d /u02/oracle -s /bin/tcsh -c "Oracle Account" \ > -f 7 -e 12/31/03 -n jdoe |
Modifying a user:
The prototype is:
# usermod [-u uid] [-g initial_group] [-G group[,...]] \ > [-d home_directory] [-s shell] [-c comment] \ > [-l new_username ] [-f inactive_time] [-e expire_date] > username |
A sample implementation of the prototype is:
# usermod -u 502 -g dba -G users,root > -d /u02/oracle -s /bin/bash -c "Senior DBA" > -l sdba -f 7 -e 12/31/03 jdoe |
Removing a user:
The prototype is:
# userdel [-r] username |
A sample implementation of the prototype is:
# userdel -r jdoe |
Managing Groups:
Adding a group:
The prototype is:
# groupadd [-g gid] [-rf] groupname |
A sample implementation of the prototype is:
# groupadd -g 500 dba |
Modifying a group:
The prototype is:
# groupmod [-g gid] [-n new_group_name] groupname |
A sample implementation of the prototype is:
# groupmod -g 500 -n dba oinstall |
Deleting a group:
The prototype is:
# groupdel groupname |
A sample implementation of the prototype is:
# groupdel dba |
Installing a GUI Manager for Users and Groups:
If you’re the root user or enjoy sudoer privileges, you can install the following GUI package for these tasks:
yum install -y system-config-users |
You can verify the GUI user management tool is present with the following command:
which system-config-users |
It should return this:
/bin/system-config-users |
You can run the GUI user management tool from the root user account or any sudoer account. The following shows how to launch the GUI User Manager from a sudoer account:
sudo system-config-users |
As always, I hope this helps those trying to figure out the proper syntax.
Listener for APEX
Unless dbca lets us build the listener.ora file, we often leave off some component. For example, running listener control program the following status indicates an incorrectly configured listener.ora file.
lsnrctl status |
It returns the following, which displays an endpoint for the XDB Server (I’m using Oracle Database 11g XE because it’s pre-containerized and has a small testing footprint):
LSNRCTL for Linux: Version 11.2.0.2.0 - Production on 24-MAR-2023 00:59:06 Copyright (c) 1991, 2011, Oracle. All rights reserved. Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=IPC)(KEY=EXTPROC_FOR_XE))) STATUS of the LISTENER ------------------------ Alias LISTENER Version TNSLSNR for Linux: Version 11.2.0.2.0 - Production Start Date 21-MAR-2023 21:17:37 Uptime 2 days 3 hr. 41 min. 29 sec Trace Level off Security ON: Local OS Authentication SNMP OFF Default Service XE Listener Parameter File /u01/app/oracle/product/11.2.0/xe/network/admin/listener.ora Listener Log File /u01/app/oracle/diag/tnslsnr/localhost/listener/alert/log.xml Listening Endpoints Summary... (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=EXTPROC_FOR_XE))) (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=localhost)(PORT=1521))) (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=localhost)(PORT=8080))(Presentation=HTTP)(Session=RAW)) Services Summary... Service "PLSExtProc" has 1 instance(s). Instance "PLSExtProc", status UNKNOWN, has 1 handler(s) for this service... Service "XE" has 1 instance(s). Instance "XE", status READY, has 1 handler(s) for this service... Service "XEXDB" has 1 instance(s). Instance "XE", status READY, has 1 handler(s) for this service... The command completed successfully |
The listener is missing the second SID_LIST_LISTENER value of CLRExtProc value. A complete listener.ora file should be as follows for the Oracle Database XE:
# listener.ora Network Configuration FILE: SID_LIST_LISTENER = (SID_LIST = (SID_DESC = (SID_NAME = PLSExtProc) (ORACLE_HOME = /u01/app/oracle/product/11.2.0/xe) (PROGRAM = extproc) ) (SID_DESC = (SID_NAME = CLRExtProc) (ORACLE_HOME = /u01/app/oracle/product/11.2.0/xe) (PROGRAM = extproc) ) ) LISTENER = (DESCRIPTION_LIST = (DESCRIPTION = (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC_FOR_XE)) (ADDRESS = (PROTOCOL = TCP)(HOST = localhost.localdomain)(PORT = 1521)) ) ) DEFAULT_SERVICE_LISTENER = (XE) |
With this listener.ora file, the Oracle listener control utility will return the following correct status, which hides the XDB Server’s endpoint:
LSNRCTL for Linux: Version 11.2.0.2.0 - Production on 24-MAR-2023 02:38:57 Copyright (c) 1991, 2011, Oracle. All rights reserved. Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=IPC)(KEY=EXTPROC_FOR_XE))) STATUS of the LISTENER ------------------------ Alias LISTENER Version TNSLSNR for Linux: Version 11.2.0.2.0 - Production Start Date 24-MAR-2023 02:38:15 Uptime 0 days 0 hr. 0 min. 42 sec Trace Level off Security ON: Local OS Authentication SNMP OFF Default Service XE Listener Parameter File /u01/app/oracle/product/11.2.0/xe/network/admin/listener.ora Listener Log File /u01/app/oracle/product/11.2.0/xe/log/diag/tnslsnr/localhost/listener/alert/log.xml Listening Endpoints Summary... (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=EXTPROC_FOR_XE))) (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=localhost)(PORT=1521))) Services Summary... Service "CLRExtProc" has 1 instance(s). Instance "CLRExtProc", status UNKNOWN, has 1 handler(s) for this service... Service "PLSExtProc" has 1 instance(s). Instance "PLSExtProc", status UNKNOWN, has 1 handler(s) for this service... The command completed successfully |
It seems a number of examples on the web left the SID_LIST_LISTENER value of CLRExtProc value out of the listener.ora file. As always, I hope this helps those looking for a complete solution rather than generic instructions without a concrete example.
AWS EC2 TNS Listener
Having configured an AlmaLinux 8.6 with Oracle Database 11g XE, MySQL 8.0.30, and PostgreSQL 15, we migrated it to AWS EC2 and provisioned it. We used the older and de-supported Oracle Database 11g XE because it didn’t require any kernel modifications and had a much smaller footprint.
I had to address why attempting to connect with the sqlplus utility raised the following error after provisioning a copy with a new static IP address:
ERROR: ORA-12514: TNS:listener does NOT currently know OF service requested IN CONNECT descriptor |
A connection from SQL Developer raises a more addressable error, like:
ORA-17069 |
I immediately tried to check the connection with the tnsping utility and found that tnsping worked fine. However, when I tried to connect with the sqlplus utility it raised an ORA-12514 connection error.
There were no diagnostic steps beyond checking the tnsping utility. So, I had to experiment with what might block communication.
I changed the host name from ip-172-58-65-82.us-west-2.compute.internal to a localhost string in both the listener.ora and tnsnames.ora. The listener.ora file:
# listener.ora Network Configuration FILE: SID_LIST_LISTENER = (SID_LIST = (SID_DESC = (SID_NAME = PLSExtProc) (ORACLE_HOME = /u01/app/oracle/product/11.2.0/xe) (PROGRAM = extproc) ) ) LISTENER = (DESCRIPTION_LIST = (DESCRIPTION = (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC_FOR_XE)) (ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521)) ) ) DEFAULT_SERVICE_LISTENER = (XE) |
The tnsnames.ora file:
# tnsnames.ora Network Configuration FILE: XE = (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521)) (CONNECT_DATA = (SERVER = DEDICATED) (SERVICE_NAME = XE) ) ) EXTPROC_CONNECTION_DATA = (DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC_FOR_XE)) ) (CONNECT_DATA = (SID = PLSExtProc) (PRESENTATION = RO) ) ) |
I suspected that it might be related to the localhost value. So, I checked the /etc/hostname and /etc/hosts files.
Then, I modified /etc/hostname file by removing the AWS EC2 damain address. I did it on a memory that Oracle’s TNS raises errors for dots or periods in some addresses.
The /etc/hostname file:
ip-172-58-65-82 |
The /etc/hosts file:
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4 ip-172-58-65-82 ::1 localhost localhost.localdomain localhost6 localhost6.localdomain6 ip-172-58-65-82 |
Now, we can connect to the Oracle Database 11g XE instance with the sqlplus utility. I believe this type of solution will work for other AWS EC2 provisioned Oracle databases.
AlmaLinux Libraries
I discovered a dependency for MySQL Workbench on AlmaLinux 8 installation. I neglected to fully cover it when I documented the installation in a VM of AlmaLinux 9. I go back later and update that entry but for now you need the following dependencies:
proj-6.3.2-4.el8.x86_64.rpm proj-datumgrid-1.8-6.3.2.4.el8.noarch.rpm proj-devel-6.3.2-4.el8.x86_64.rpm |
Install like this:
sudo dnf install -y *.rpm |
Log file:
Last metadata expiration check: 3:01:53 ago on Fri 10 Feb 2023 03:37:49 AM UTC. Dependencies resolved. ========================================================================================== Package Architecture Version Repository Size ========================================================================================== Installing: proj x86_64 6.3.2-4.el8 @commandline 2.0 M proj-datumgrid noarch 1.8-6.3.2.4.el8 @commandline 5.4 M proj-devel x86_64 6.3.2-4.el8 @commandline 89 k Transaction Summary ========================================================================================== Install 3 Packages Total size: 7.5 M Installed size: 17 M Downloading Packages: Running transaction check Transaction check succeeded. Running transaction test Transaction test succeeded. Running transaction Preparing : 1/1 Installing : proj-datumgrid-1.8-6.3.2.4.el8.noarch 1/3 Installing : proj-6.3.2-4.el8.x86_64 2/3 Installing : proj-devel-6.3.2-4.el8.x86_64 3/3 Running scriptlet: proj-devel-6.3.2-4.el8.x86_64 3/3 Verifying : proj-6.3.2-4.el8.x86_64 1/3 Verifying : proj-datumgrid-1.8-6.3.2.4.el8.noarch 2/3 Verifying : proj-devel-6.3.2-4.el8.x86_64 3/3 Installed: proj-6.3.2-4.el8.x86_64 proj-datumgrid-1.8-6.3.2.4.el8.noarch proj-devel-6.3.2-4.el8.x86_64 Complete! |
A quick update while installing AlmaLinux for AWS.
AlmaLinux Install & Configuration
This is a collection of blog posts for installing and configuring AlmaLinux with the Oracle, PostgreSQL, MySQL databases and several programming languages. Sample programs show how to connect PHP and Python to the MySQL database.
- Installing AlmaLinux operating system
- Installing and configuring MySQL
- Installing Python-MySQL connector and provide sample programs
- Configuring Flask for Python on AlmaLinux with a complete software router instruction set.
- Installing Rust programming language and writing a sample program
- Installing and configuring LAMP stack with PHP and MySQL and a self-signed security key
- MySQL PNG Images in LAMP with PHP Programming
- Demonstration of how to write Perl that connects to MySQL
- Installing and configuring MySQL Workbench
- Installing and configuring PostgreSQL and pgAdmin4
- Identifying the required libnsl2-devel packages for SQL*Plus
- Writing and deploying a sqlplus function to use a read line wrapper
- Installing and configuring Visual Studio Code Editor
- Installing and configuring Java with connectivity to MySQL
- Installing and configuring Oracle SQL Developer
I used Oracle Database 11g XE in this instance to keep the footprint as small as possible. It required a few tricks and discovering the missing library that caused folks grief eleven years ago. I build another with a current Oracle Database XE after the new year.
If you see something that I missed or you’d like me to add, let me know. As time allows, I’ll try to do that. Naturally, the post will get updates as things are added later.
AlmaLinux+VSCode
How to install and configure VSCode on AlmaLinux (Red Hat Enterprise 9). This is a step-by-step version of the Visual Studio documentation. The first thing you do is download the Microsoft packages:
sudo rpm --import https://packages.microsoft.com/keys/microsoft.asc |
Next, create the yum repository with the following command:
sudo sh -c 'echo -e "[code]\nname=Visual Studio Code\nbaseurl=https://packages.microsoft.com/yumrepos/vscode\nenabled=1\ngpgcheck=1\ngpgkey=https://packages.microsoft.com/keys/microsoft.asc" > /etc/yum.repos.d/vscode.repo' |
It creates the following vscode.repo file in the /etc/yum.repos.d directory:
[code] name=Visual Studio Code baseurl=https://packages.microsoft.com/yumrepos/vscode enabled=1 gpgcheck=1 gpgkey=https://packages.microsoft.com/keys/microsoft.asc |
Then, update the package cache and install the package using dnf dnf, like this as the sudoer user:
sudo dnf check-update |
The log file for this is:
Display detailed console log →
AlmaLinux 9 - AppStream 2.9 MB/s | 7.0 MB 00:02 AlmaLinux 9 - BaseOS 1.6 MB/s | 2.0 MB 00:01 AlmaLinux 9 - Extras 19 kB/s | 17 kB 00:00 Extra Packages for Enterprise Linux 9 - x86_64 1.3 MB/s | 12 MB 00:09 PostgreSQL common RPMs for RHEL / Rocky 9 - x86 103 B/s | 195 B 00:01 PostgreSQL common RPMs for RHEL / Rocky 9 - x86 1.6 MB/s | 1.7 kB 00:00 Importing GPG key 0x442DF0F8: Userid : "PostgreSQL RPM Building Project <pgsql-pkg-yum@postgresql.org>" Fingerprint: 68C9 E2B9 1A37 D136 FE74 D176 1F16 D2E1 442D F0F8 From : /etc/pki/rpm-gpg/RPM-GPG-KEY-PGDG Is this ok [y/N]: y PostgreSQL common RPMs for RHEL / Rocky 9 - x86 114 kB/s | 341 kB 00:02 PostgreSQL 15 for RHEL / Rocky 9 - x86_64 159 B/s | 195 B 00:01 PostgreSQL 15 for RHEL / Rocky 9 - x86_64 1.6 MB/s | 1.7 kB 00:00 Importing GPG key 0x442DF0F8: Userid : "PostgreSQL RPM Building Project <pgsql-pkg-yum@postgresql.org>" Fingerprint: 68C9 E2B9 1A37 D136 FE74 D176 1F16 D2E1 442D F0F8 From : /etc/pki/rpm-gpg/RPM-GPG-KEY-PGDG Is this ok [y/N]: y PostgreSQL 15 for RHEL / Rocky 9 - x86_64 47 kB/s | 159 kB 00:03 PostgreSQL 14 for RHEL / Rocky 9 - x86_64 114 B/s | 195 B 00:01 PostgreSQL 14 for RHEL / Rocky 9 - x86_64 1.6 MB/s | 1.7 kB 00:00 Importing GPG key 0x442DF0F8: Userid : "PostgreSQL RPM Building Project <pgsql-pkg-yum@postgresql.org>" Fingerprint: 68C9 E2B9 1A37 D136 FE74 D176 1F16 D2E1 442D F0F8 From : /etc/pki/rpm-gpg/RPM-GPG-KEY-PGDG Is this ok [y/N]: y PostgreSQL 14 for RHEL / Rocky 9 - x86_64 129 kB/s | 406 kB 00:03 PostgreSQL 13 for RHEL / Rocky 9 - x86_64 103 B/s | 195 B 00:01 PostgreSQL 13 for RHEL / Rocky 9 - x86_64 1.6 MB/s | 1.7 kB 00:00 Importing GPG key 0x442DF0F8: Userid : "PostgreSQL RPM Building Project <pgsql-pkg-yum@postgresql.org>" Fingerprint: 68C9 E2B9 1A37 D136 FE74 D176 1F16 D2E1 442D F0F8 From : /etc/pki/rpm-gpg/RPM-GPG-KEY-PGDG Is this ok [y/N]: y PostgreSQL 13 for RHEL / Rocky 9 - x86_64 127 kB/s | 384 kB 00:03 PostgreSQL 12 for RHEL / Rocky 9 - x86_64 139 B/s | 195 B 00:01 PostgreSQL 12 for RHEL / Rocky 9 - x86_64 1.6 MB/s | 1.7 kB 00:00 Importing GPG key 0x442DF0F8: Userid : "PostgreSQL RPM Building Project <pgsql-pkg-yum@postgresql.org>" Fingerprint: 68C9 E2B9 1A37 D136 FE74 D176 1F16 D2E1 442D F0F8 From : /etc/pki/rpm-gpg/RPM-GPG-KEY-PGDG Is this ok [y/N]: y PostgreSQL 12 for RHEL / Rocky 9 - x86_64 137 kB/s | 349 kB 00:02 PostgreSQL 11 for RHEL / Rocky 9 - x86_64 159 B/s | 195 B 00:01 PostgreSQL 11 for RHEL / Rocky 9 - x86_64 1.6 MB/s | 1.7 kB 00:00 Importing GPG key 0x442DF0F8: Userid : "PostgreSQL RPM Building Project <pgsql-pkg-yum@postgresql.org>" Fingerprint: 68C9 E2B9 1A37 D136 FE74 D176 1F16 D2E1 442D F0F8 From : /etc/pki/rpm-gpg/RPM-GPG-KEY-PGDG Is this ok [y/N]: y PostgreSQL 11 for RHEL / Rocky 9 - x86_64 102 kB/s | 350 kB 00:03 PostgreSQL 10 for RHEL / Rocky 9 - x86_64 113 B/s | 195 B 00:01 PostgreSQL 10 for RHEL / Rocky 9 - x86_64 1.6 MB/s | 1.7 kB 00:00 Importing GPG key 0x442DF0F8: Userid : "PostgreSQL RPM Building Project <pgsql-pkg-yum@postgresql.org>" Fingerprint: 68C9 E2B9 1A37 D136 FE74 D176 1F16 D2E1 442D F0F8 From : /etc/pki/rpm-gpg/RPM-GPG-KEY-PGDG Is this ok [y/N]: y PostgreSQL 10 for RHEL / Rocky 9 - x86_64 66 kB/s | 197 kB 00:02 Visual Studio Code 7.5 MB/s | 31 MB 00:04 NetworkManager.x86_64 1:1.40.0-1.el9 baseos NetworkManager-adsl.x86_64 1:1.40.0-1.el9 baseos NetworkManager-bluetooth.x86_64 1:1.40.0-1.el9 baseos NetworkManager-config-server.noarch 1:1.40.0-1.el9 baseos NetworkManager-libnm.x86_64 1:1.40.0-1.el9 baseos NetworkManager-team.x86_64 1:1.40.0-1.el9 baseos NetworkManager-tui.x86_64 1:1.40.0-1.el9 baseos NetworkManager-wifi.x86_64 1:1.40.0-1.el9 baseos NetworkManager-wwan.x86_64 1:1.40.0-1.el9 baseos aardvark-dns.x86_64 2:1.1.0-5.el9_1 appstream almalinux-gpg-keys.x86_64 9.1-1.9.el9 baseos almalinux-release.x86_64 9.1-1.9.el9 baseos almalinux-repos.x86_64 9.1-1.9.el9 baseos alsa-lib.x86_64 1.2.7.2-1.el9 appstream alsa-ucm.noarch 1.2.7.2-1.el9 appstream alsa-utils.x86_64 1.2.7-1.el9 appstream annobin.x86_64 10.73-3.el9 appstream ansible-core.x86_64 2.13.3-1.el9 appstream at.x86_64 3.1.23-11.el9 baseos audit.x86_64 3.0.7-103.el9 baseos audit-libs.x86_64 3.0.7-103.el9 baseos augeas-libs.x86_64 1.13.0-2.el9 appstream authselect.x86_64 1.2.5-1.el9 baseos authselect-libs.x86_64 1.2.5-1.el9 baseos bash.x86_64 5.1.8-5.el9 baseos bcc.x86_64 0.24.0-4.el9 appstream bcc-tools.x86_64 0.24.0-4.el9 appstream bind-libs.x86_64 32:9.16.23-5.el9_1 appstream bind-license.noarch 32:9.16.23-5.el9_1 appstream bind-utils.x86_64 32:9.16.23-5.el9_1 appstream binutils.x86_64 2.35.2-24.el9 baseos binutils-gold.x86_64 2.35.2-24.el9 baseos bluez.x86_64 5.64-2.el9 baseos bluez-libs.x86_64 5.64-2.el9 baseos bluez-obexd.x86_64 5.64-2.el9 appstream boost-filesystem.x86_64 1.75.0-8.el9 appstream boost-regex.x86_64 1.75.0-8.el9 appstream boost-system.x86_64 1.75.0-8.el9 appstream boost-thread.x86_64 1.75.0-8.el9 appstream bpftool.x86_64 5.14.0-162.6.1.el9_1 baseos bpftrace.x86_64 0.13.1-1.el9 appstream buildah.x86_64 1:1.27.2-2.el9_1 appstream cargo.x86_64 1.62.1-1.el9 appstream checkpolicy.x86_64 3.4-1.el9 appstream chrony.x86_64 4.2-1.el9 baseos clang-libs.x86_64 14.0.6-1.el9 appstream clang-resource-filesystem.x86_64 14.0.6-1.el9 appstream clevis.x86_64 18-106.el9 appstream clevis-luks.x86_64 18-106.el9 appstream cockpit.x86_64 276.1-1.el9 baseos cockpit-bridge.x86_64 276.1-1.el9 baseos cockpit-packagekit.noarch 276.1-1.el9 appstream cockpit-podman.noarch 53-1.el9 appstream cockpit-storaged.noarch 276.1-1.el9 appstream cockpit-system.noarch 276.1-1.el9 baseos cockpit-ws.x86_64 276.1-1.el9 baseos compiler-rt.x86_64 14.0.6-1.el9 appstream conmon.x86_64 2:2.1.4-1.el9 appstream container-selinux.noarch 3:2.189.0-1.el9 appstream containernetworking-plugins.x86_64 1:1.1.1-3.el9 appstream containers-common.x86_64 2:1-45.el9_1 appstream coreutils.x86_64 8.32-32.el9 baseos coreutils-common.x86_64 8.32-32.el9 baseos cpp.x86_64 11.3.1-2.1.el9.alma appstream crash.x86_64 8.0.1-2.el9.alma appstream criu.x86_64 3.17-4.el9 appstream criu-libs.x86_64 3.17-4.el9 appstream cronie.x86_64 1.5.7-8.el9 baseos cronie-anacron.x86_64 1.5.7-8.el9 baseos crun.x86_64 1.5-1.el9 appstream crypto-policies.noarch 20220815-1.git0fbe86f.el9 baseos crypto-policies-scripts.noarch 20220815-1.git0fbe86f.el9 baseos cryptsetup.x86_64 2.4.3-5.el9 baseos cryptsetup-libs.x86_64 2.4.3-5.el9 baseos cups.x86_64 1:2.3.3op2-16.el9 appstream cups-client.x86_64 1:2.3.3op2-16.el9 appstream cups-filesystem.noarch 1:2.3.3op2-16.el9 appstream cups-ipptool.x86_64 1:2.3.3op2-16.el9 appstream cups-libs.x86_64 1:2.3.3op2-16.el9 baseos curl.x86_64 7.76.1-19.el9 baseos dbus.x86_64 1:1.12.20-6.el9 baseos dbus-broker.x86_64 28-7.el9 baseos desktop-file-utils.x86_64 0.26-6.el9 appstream device-mapper.x86_64 9:1.02.185-3.el9 baseos device-mapper-event.x86_64 9:1.02.185-3.el9 baseos device-mapper-event-libs.x86_64 9:1.02.185-3.el9 baseos device-mapper-libs.x86_64 9:1.02.185-3.el9 baseos device-mapper-multipath.x86_64 0.8.7-12.el9_1.1 baseos device-mapper-multipath-libs.x86_64 0.8.7-12.el9_1.1 baseos device-mapper-persistent-data.x86_64 0.9.0-13.el9 baseos dnf.noarch 4.12.0-4.el9.alma baseos dnf-data.noarch 4.12.0-4.el9.alma baseos dnf-plugins-core.noarch 4.1.0-3.el9 baseos dnsmasq.x86_64 2.85-5.el9 appstream dotnet-host.x86_64 7.0.1-1.el9_1 appstream dotnet-hostfxr-7.0.x86_64 7.0.1-1.el9_1 appstream dotnet-runtime-7.0.x86_64 7.0.1-1.el9_1 appstream dracut.x86_64 057-13.git20220816.el9 baseos dracut-config-rescue.x86_64 057-13.git20220816.el9 baseos dracut-network.x86_64 057-13.git20220816.el9 baseos dracut-squash.x86_64 057-13.git20220816.el9 baseos dyninst.x86_64 12.1.0-1.el9 appstream e2fsprogs.x86_64 1.46.5-3.el9 baseos e2fsprogs-libs.x86_64 1.46.5-3.el9 baseos elfutils.x86_64 0.187-5.el9 baseos elfutils-debuginfod-client.x86_64 0.187-5.el9 baseos elfutils-default-yama-scope.noarch 0.187-5.el9 baseos elfutils-devel.x86_64 0.187-5.el9 appstream elfutils-libelf.x86_64 0.187-5.el9 baseos elfutils-libelf-devel.x86_64 0.187-5.el9 appstream elfutils-libs.x86_64 0.187-5.el9 baseos epel-release.noarch 9-4.el9 epel evince.x86_64 40.5-2.el9 appstream evince-libs.x86_64 40.5-2.el9 appstream evince-nautilus.x86_64 40.5-2.el9 appstream evince-previewer.x86_64 40.5-2.el9 appstream evince-thumbnailer.x86_64 40.5-2.el9 appstream evolution-data-server.x86_64 3.40.4-6.el9 appstream evolution-data-server-langpacks.noarch 3.40.4-6.el9 appstream expat.x86_64 2.4.9-1.el9_1 baseos file.x86_64 5.39-10.el9 baseos file-libs.x86_64 5.39-10.el9 baseos firefox.x86_64 102.6.0-1.el9_1.alma appstream firewalld.noarch 1.1.1-3.el9 baseos firewalld-filesystem.noarch 1.1.1-3.el9 baseos flac-libs.x86_64 1.3.3-10.el9 appstream flatpak.x86_64 1.12.7-2.el9 appstream flatpak-libs.x86_64 1.12.7-2.el9 appstream flatpak-selinux.noarch 1.12.7-2.el9 appstream flatpak-session-helper.x86_64 1.12.7-2.el9 appstream fwupd.x86_64 1.7.9-1.el9.alma.1 baseos fwupd-plugin-flashrom.x86_64 1.7.9-1.el9.alma.1 appstream gcc.x86_64 11.3.1-2.1.el9.alma appstream gcc-c++.x86_64 11.3.1-2.1.el9.alma appstream gcc-plugin-annobin.x86_64 11.3.1-2.1.el9.alma appstream gdb.x86_64 10.2-10.el9 appstream gdb-headless.x86_64 10.2-10.el9 appstream gdm.x86_64 1:40.1-17.el9_1 appstream gjs.x86_64 1.68.6-1.el9 appstream glibc.x86_64 2.34-40.el9 baseos glibc-all-langpacks.x86_64 2.34-40.el9 baseos glibc-common.x86_64 2.34-40.el9 baseos glibc-devel.x86_64 2.34-40.el9 appstream glibc-gconv-extra.x86_64 2.34-40.el9 baseos glibc-headers.x86_64 2.34-40.el9 appstream glibc-langpack-en.x86_64 2.34-40.el9 baseos gnome-classic-session.noarch 40.7-2.el9 appstream gnome-control-center.x86_64 40.0-27.el9 appstream gnome-control-center-filesystem.noarch 40.0-27.el9 appstream gnome-initial-setup.x86_64 40.4-3.el9 appstream gnome-screenshot.x86_64 40.0-4.el9 appstream gnome-settings-daemon.x86_64 40.0.1-8.el9 appstream gnome-shell.x86_64 40.10-3.el9 appstream gnome-shell-extension-apps-menu.noarch 40.7-2.el9 appstream gnome-shell-extension-common.noarch 40.7-2.el9 appstream gnome-shell-extension-launch-new-instance.noarch 40.7-2.el9 appstream gnome-shell-extension-places-menu.noarch 40.7-2.el9 appstream gnome-shell-extension-window-list.noarch 40.7-2.el9 appstream gnome-software.x86_64 41.5-1.el9 appstream gnome-system-monitor.x86_64 40.1-3.el9 appstream gnome-tour.x86_64 40.1-2.el9 appstream google-noto-fonts-common.noarch 20201206-4.el9 appstream google-noto-sans-gurmukhi-fonts.noarch 20201206-4.el9 appstream google-noto-sans-sinhala-vf-fonts.noarch 20201206-4.el9 appstream grafana.x86_64 7.5.15-3.el9 appstream grafana-pcp.x86_64 3.2.0-3.el9 appstream grub2-common.noarch 1:2.06-46.el9.alma baseos grub2-pc.x86_64 1:2.06-46.el9.alma baseos grub2-pc-modules.noarch 1:2.06-46.el9.alma baseos grub2-tools.x86_64 1:2.06-46.el9.alma baseos grub2-tools-efi.x86_64 1:2.06-46.el9.alma baseos grub2-tools-extra.x86_64 1:2.06-46.el9.alma baseos grub2-tools-minimal.x86_64 1:2.06-46.el9.alma baseos grubby.x86_64 8.40-61.el9 baseos gtk4.x86_64 4.4.1-2.el9 appstream gvfs.x86_64 1.48.1-4.el9 appstream gvfs-client.x86_64 1.48.1-4.el9 appstream gvfs-fuse.x86_64 1.48.1-4.el9 appstream gvfs-goa.x86_64 1.48.1-4.el9 appstream gvfs-gphoto2.x86_64 1.48.1-4.el9 appstream gvfs-mtp.x86_64 1.48.1-4.el9 appstream gvfs-smb.x86_64 1.48.1-4.el9 appstream gzip.x86_64 1.12-1.el9 baseos hicolor-icon-theme.noarch 0.17-13.el9 appstream httpd.x86_64 2.4.53-7.el9 appstream httpd-filesystem.noarch 2.4.53-7.el9 appstream httpd-tools.x86_64 2.4.53-7.el9 appstream hwdata.noarch 0.348-9.5.el9 baseos hyperv-daemons.x86_64 0-0.40.20190303git.el9 appstream hyperv-daemons-license.noarch 0-0.40.20190303git.el9 appstream hypervfcopyd.x86_64 0-0.40.20190303git.el9 appstream hypervkvpd.x86_64 0-0.40.20190303git.el9 appstream hypervvssd.x86_64 0-0.40.20190303git.el9 appstream infiniband-diags.x86_64 41.0-3.el9 appstream inih.x86_64 49-6.el9 baseos initscripts.x86_64 10.11.5-1.el9 baseos initscripts-rename-device.x86_64 10.11.5-1.el9 baseos initscripts-service.noarch 10.11.5-1.el9 baseos iotop.noarch 0.6-30.el9 baseos iproute.x86_64 5.18.0-1.el9 baseos iproute-tc.x86_64 5.18.0-1.el9 baseos iptables-libs.x86_64 1.8.8-4.el9 baseos iptables-nft.x86_64 1.8.8-4.el9 baseos irqbalance.x86_64 2:1.9.0-3.el9 baseos iscsi-initiator-utils.x86_64 6.2.1.4-3.git2a8f9d8.el9 baseos iscsi-initiator-utils-iscsiuio.x86_64 6.2.1.4-3.git2a8f9d8.el9 baseos iwl100-firmware.noarch 39.31.5.1-127.el9 baseos iwl1000-firmware.noarch 1:39.31.5.1-127.el9 baseos iwl105-firmware.noarch 18.168.6.1-127.el9 baseos iwl135-firmware.noarch 18.168.6.1-127.el9 baseos iwl2000-firmware.noarch 18.168.6.1-127.el9 baseos iwl2030-firmware.noarch 18.168.6.1-127.el9 baseos iwl3160-firmware.noarch 1:25.30.13.0-127.el9 baseos iwl5000-firmware.noarch 8.83.5.1_1-127.el9 baseos iwl5150-firmware.noarch 8.24.2.2-127.el9 baseos iwl6000g2a-firmware.noarch 18.168.6.1-127.el9 baseos iwl6000g2b-firmware.noarch 18.168.6.1-127.el9 baseos iwl6050-firmware.noarch 41.28.5.1-127.el9 baseos iwl7260-firmware.noarch 1:25.30.13.0-127.el9 baseos kernel.x86_64 5.14.0-162.6.1.el9_1 baseos kernel-core.x86_64 5.14.0-162.6.1.el9_1 baseos kernel-devel.x86_64 5.14.0-162.6.1.el9_1 appstream kernel-headers.x86_64 5.14.0-162.6.1.el9_1 appstream kernel-modules.x86_64 5.14.0-162.6.1.el9_1 baseos kernel-tools.x86_64 5.14.0-162.6.1.el9_1 baseos kernel-tools-libs.x86_64 5.14.0-162.6.1.el9_1 baseos kexec-tools.x86_64 2.0.24-5.el9 baseos kmod-kvdo.x86_64 8.2.0.21-47.el9_1 baseos kpartx.x86_64 0.8.7-12.el9_1.1 baseos kpatch.noarch 0.9.4-3.el9 baseos kpatch-dnf.noarch 0.4-3.el9 baseos krb5-libs.x86_64 1.19.1-24.el9_1 baseos ldns.x86_64 1.7.1-11.el9 appstream ledmon.x86_64 0.96-4.el9 baseos libarchive.x86_64 3.5.3-3.el9 baseos libbabeltrace.x86_64 1.5.8-10.el9 appstream libbasicobjects.x86_64 0.1.1-53.el9 baseos libblockdev.x86_64 2.25-14.el9 appstream libblockdev-crypto.x86_64 2.25-14.el9 appstream libblockdev-fs.x86_64 2.25-14.el9 appstream libblockdev-loop.x86_64 2.25-14.el9 appstream libblockdev-lvm.x86_64 2.25-14.el9 appstream libblockdev-mdraid.x86_64 2.25-14.el9 appstream libblockdev-part.x86_64 2.25-14.el9 appstream libblockdev-swap.x86_64 2.25-14.el9 appstream libblockdev-utils.x86_64 2.25-14.el9 appstream libbpf.x86_64 2:0.6.0-1.el9 baseos libcollection.x86_64 0.7.0-53.el9 baseos libcom_err.x86_64 1.46.5-3.el9 baseos libcurl.x86_64 7.76.1-19.el9 baseos libdhash.x86_64 0.5.0-53.el9 baseos libdnf.x86_64 0.67.0-3.el9.alma baseos libdrm.x86_64 2.4.111-1.el9 appstream libertas-sd8787-firmware.noarch 20220708-127.el9 baseos libestr.x86_64 0.1.11-4.el9 appstream libgcc.x86_64 11.3.1-2.1.el9.alma baseos libgomp.x86_64 11.3.1-2.1.el9.alma baseos libgtop2.x86_64 2.40.0-9.el9 appstream libibumad.x86_64 41.0-3.el9 baseos libibverbs.x86_64 41.0-3.el9 baseos libini_config.x86_64 1.3.1-53.el9 baseos libipa_hbac.x86_64 2.7.3-4.el9_1.1 baseos libldb.x86_64 2.5.2-1.el9 baseos libnftnl.x86_64 1.2.2-1.el9 baseos libnl3.x86_64 3.7.0-1.el9 baseos libnl3-cli.x86_64 3.7.0-1.el9 baseos libnma.x86_64 1.8.40-1.el9 appstream libomp.x86_64 14.0.6-1.el9 appstream libomp-devel.x86_64 14.0.6-1.el9 appstream libpath_utils.x86_64 0.2.1-53.el9 baseos libref_array.x86_64 0.1.5-53.el9 baseos librepo.x86_64 1.14.2-3.el9 baseos libsmbclient.x86_64 4.16.4-101.el9 baseos libsolv.x86_64 0.7.22-1.el9 baseos libss.x86_64 1.46.5-3.el9 baseos libsss_certmap.x86_64 2.7.3-4.el9_1.1 baseos libsss_idmap.x86_64 2.7.3-4.el9_1.1 baseos libsss_nss_idmap.x86_64 2.7.3-4.el9_1.1 baseos libsss_sudo.x86_64 2.7.3-4.el9_1.1 baseos libstdc++.x86_64 11.3.1-2.1.el9.alma baseos libstdc++-devel.x86_64 11.3.1-2.1.el9.alma appstream libtdb.x86_64 1.4.6-1.el9 baseos libteam.x86_64 1.31-14.el9 baseos libtevent.x86_64 0.12.0-0.el9 baseos libtirpc.x86_64 1.3.3-0.el9 baseos libusbx.x86_64 1.0.26-1.el9 baseos libuser.x86_64 0.63-11.el9 baseos libvirt-libs.x86_64 8.5.0-7.el9_1 appstream libwbclient.x86_64 4.16.4-101.el9 baseos libwpe.x86_64 1.10.0-4.el9 appstream linux-firmware.noarch 20220708-127.el9 baseos linux-firmware-whence.noarch 20220708-127.el9 baseos lksctp-tools.x86_64 1.0.19-2.el9 baseos llvm-libs.x86_64 14.0.6-1.el9 appstream logrotate.x86_64 3.18.0-7.el9 baseos lshw.x86_64 B.02.19.2-9.el9 baseos lvm2.x86_64 9:2.03.16-3.el9 baseos lvm2-libs.x86_64 9:2.03.16-3.el9 baseos man-pages.noarch 5.10-5.el9 baseos mcelog.x86_64 3:182-3.el9 baseos mdadm.x86_64 4.2-6.el9 baseos mesa-dri-drivers.x86_64 22.1.5-2.el9 appstream mesa-filesystem.x86_64 22.1.5-2.el9 appstream mesa-libEGL.x86_64 22.1.5-2.el9 appstream mesa-libGL.x86_64 22.1.5-2.el9 appstream mesa-libgbm.x86_64 22.1.5-2.el9 appstream mesa-libglapi.x86_64 22.1.5-2.el9 appstream mesa-libxatracker.x86_64 22.1.5-2.el9 appstream mesa-vulkan-drivers.x86_64 22.1.5-2.el9 appstream microcode_ctl.noarch 4:20220809-1.el9 baseos mod_lua.x86_64 2.4.53-7.el9 appstream mod_ssl.x86_64 1:2.4.53-7.el9 appstream mokutil.x86_64 2:0.4.0-9.el9 baseos mozilla-filesystem.x86_64 1.9-30.el9 appstream mutter.x86_64 40.9-10.el9_1 appstream nautilus.x86_64 40.2-9.el9_1 appstream nautilus-extensions.x86_64 40.2-9.el9_1 appstream netavark.x86_64 2:1.1.0-7.el9_1 appstream netronome-firmware.noarch 20220708-127.el9 baseos nftables.x86_64 1:1.0.4-2.el9 baseos nginx-filesystem.noarch 1:1.20.1-13.el9.alma appstream nm-connection-editor.x86_64 1.26.0-1.el9 appstream nvme-cli.x86_64 2.0-4.el9 baseos open-vm-tools.x86_64 12.0.5-2.el9 appstream open-vm-tools-desktop.x86_64 12.0.5-2.el9 appstream openjpeg2.x86_64 2.4.0-7.el9 appstream openldap.x86_64 2.6.2-3.el9 baseos openldap-clients.x86_64 2.6.2-3.el9 baseos openldap-compat.x86_64 2.6.2-3.el9 baseos openssh.x86_64 8.7p1-24.el9_1 baseos openssh-clients.x86_64 8.7p1-24.el9_1 baseos openssh-server.x86_64 8.7p1-24.el9_1 baseos osinfo-db.noarch 20220727-3.el9 appstream pam.x86_64 1.5.1-12.el9 baseos parted.x86_64 3.5-2.el9 baseos pcp.x86_64 5.3.7-7.el9 appstream pcp-conf.x86_64 5.3.7-7.el9 appstream pcp-devel.x86_64 5.3.7-7.el9 appstream pcp-doc.noarch 5.3.7-7.el9 appstream pcp-export-pcp2elasticsearch.x86_64 5.3.7-7.el9 appstream pcp-export-pcp2graphite.x86_64 5.3.7-7.el9 appstream pcp-export-pcp2influxdb.x86_64 5.3.7-7.el9 appstream pcp-export-pcp2json.x86_64 5.3.7-7.el9 appstream pcp-export-pcp2spark.x86_64 5.3.7-7.el9 appstream pcp-export-pcp2xml.x86_64 5.3.7-7.el9 appstream pcp-export-pcp2zabbix.x86_64 5.3.7-7.el9 appstream pcp-export-zabbix-agent.x86_64 5.3.7-7.el9 appstream pcp-gui.x86_64 5.3.7-7.el9 appstream pcp-import-collectl2pcp.x86_64 5.3.7-7.el9 appstream pcp-import-ganglia2pcp.x86_64 5.3.7-7.el9 appstream pcp-import-iostat2pcp.x86_64 5.3.7-7.el9 appstream pcp-import-mrtg2pcp.x86_64 5.3.7-7.el9 appstream pcp-import-sar2pcp.x86_64 5.3.7-7.el9 appstream pcp-libs.x86_64 5.3.7-7.el9 appstream pcp-libs-devel.x86_64 5.3.7-7.el9 appstream pcp-pmda-activemq.x86_64 5.3.7-7.el9 appstream pcp-pmda-apache.x86_64 5.3.7-7.el9 appstream pcp-pmda-bash.x86_64 5.3.7-7.el9 appstream pcp-pmda-bcc.x86_64 5.3.7-7.el9 appstream pcp-pmda-bind2.x86_64 5.3.7-7.el9 appstream pcp-pmda-bonding.x86_64 5.3.7-7.el9 appstream pcp-pmda-bpf.x86_64 5.3.7-7.el9 appstream pcp-pmda-bpftrace.x86_64 5.3.7-7.el9 appstream pcp-pmda-cifs.x86_64 5.3.7-7.el9 appstream pcp-pmda-cisco.x86_64 5.3.7-7.el9 appstream pcp-pmda-dbping.x86_64 5.3.7-7.el9 appstream pcp-pmda-denki.x86_64 5.3.7-7.el9 appstream pcp-pmda-dm.x86_64 5.3.7-7.el9 appstream pcp-pmda-docker.x86_64 5.3.7-7.el9 appstream pcp-pmda-ds389.x86_64 5.3.7-7.el9 appstream pcp-pmda-ds389log.x86_64 5.3.7-7.el9 appstream pcp-pmda-elasticsearch.x86_64 5.3.7-7.el9 appstream pcp-pmda-gfs2.x86_64 5.3.7-7.el9 appstream pcp-pmda-gluster.x86_64 5.3.7-7.el9 appstream pcp-pmda-gpfs.x86_64 5.3.7-7.el9 appstream pcp-pmda-gpsd.x86_64 5.3.7-7.el9 appstream pcp-pmda-hacluster.x86_64 5.3.7-7.el9 appstream pcp-pmda-haproxy.x86_64 5.3.7-7.el9 appstream pcp-pmda-infiniband.x86_64 5.3.7-7.el9 appstream pcp-pmda-json.x86_64 5.3.7-7.el9 appstream pcp-pmda-libvirt.x86_64 5.3.7-7.el9 appstream pcp-pmda-lio.x86_64 5.3.7-7.el9 appstream pcp-pmda-lmsensors.x86_64 5.3.7-7.el9 appstream pcp-pmda-logger.x86_64 5.3.7-7.el9 appstream pcp-pmda-lustre.x86_64 5.3.7-7.el9 appstream pcp-pmda-lustrecomm.x86_64 5.3.7-7.el9 appstream pcp-pmda-mailq.x86_64 5.3.7-7.el9 appstream pcp-pmda-memcache.x86_64 5.3.7-7.el9 appstream pcp-pmda-mic.x86_64 5.3.7-7.el9 appstream pcp-pmda-mongodb.x86_64 5.3.7-7.el9 appstream pcp-pmda-mounts.x86_64 5.3.7-7.el9 appstream pcp-pmda-mssql.x86_64 5.3.7-7.el9 appstream pcp-pmda-mysql.x86_64 5.3.7-7.el9 appstream pcp-pmda-named.x86_64 5.3.7-7.el9 appstream pcp-pmda-netcheck.x86_64 5.3.7-7.el9 appstream pcp-pmda-netfilter.x86_64 5.3.7-7.el9 appstream pcp-pmda-news.x86_64 5.3.7-7.el9 appstream pcp-pmda-nfsclient.x86_64 5.3.7-7.el9 appstream pcp-pmda-nginx.x86_64 5.3.7-7.el9 appstream pcp-pmda-nvidia-gpu.x86_64 5.3.7-7.el9 appstream pcp-pmda-openmetrics.x86_64 5.3.7-7.el9 appstream pcp-pmda-openvswitch.x86_64 5.3.7-7.el9 appstream pcp-pmda-oracle.x86_64 5.3.7-7.el9 appstream pcp-pmda-pdns.x86_64 5.3.7-7.el9 appstream pcp-pmda-perfevent.x86_64 5.3.7-7.el9 appstream pcp-pmda-podman.x86_64 5.3.7-7.el9 appstream pcp-pmda-postfix.x86_64 5.3.7-7.el9 appstream pcp-pmda-postgresql.x86_64 5.3.7-7.el9 appstream pcp-pmda-rabbitmq.x86_64 5.3.7-7.el9 appstream pcp-pmda-redis.x86_64 5.3.7-7.el9 appstream pcp-pmda-roomtemp.x86_64 5.3.7-7.el9 appstream pcp-pmda-rsyslog.x86_64 5.3.7-7.el9 appstream pcp-pmda-samba.x86_64 5.3.7-7.el9 appstream pcp-pmda-sendmail.x86_64 5.3.7-7.el9 appstream pcp-pmda-shping.x86_64 5.3.7-7.el9 appstream pcp-pmda-slurm.x86_64 5.3.7-7.el9 appstream pcp-pmda-smart.x86_64 5.3.7-7.el9 appstream pcp-pmda-snmp.x86_64 5.3.7-7.el9 appstream pcp-pmda-sockets.x86_64 5.3.7-7.el9 appstream pcp-pmda-statsd.x86_64 5.3.7-7.el9 appstream pcp-pmda-summary.x86_64 5.3.7-7.el9 appstream pcp-pmda-systemd.x86_64 5.3.7-7.el9 appstream pcp-pmda-trace.x86_64 5.3.7-7.el9 appstream pcp-pmda-unbound.x86_64 5.3.7-7.el9 appstream pcp-pmda-weblog.x86_64 5.3.7-7.el9 appstream pcp-pmda-zimbra.x86_64 5.3.7-7.el9 appstream pcp-pmda-zswap.x86_64 5.3.7-7.el9 appstream pcp-selinux.x86_64 5.3.7-7.el9 appstream pcp-system-tools.x86_64 5.3.7-7.el9 appstream pcp-testsuite.x86_64 5.3.7-7.el9 appstream pcp-zeroconf.x86_64 5.3.7-7.el9 appstream perf.x86_64 5.14.0-162.6.1.el9_1 appstream perl-Net-SSLeay.x86_64 1.92-2.el9 appstream perl-PCP-LogImport.x86_64 5.3.7-7.el9 appstream perl-PCP-LogSummary.x86_64 5.3.7-7.el9 appstream perl-PCP-MMV.x86_64 5.3.7-7.el9 appstream perl-PCP-PMDA.x86_64 5.3.7-7.el9 appstream pesign.x86_64 115-4.el9 appstream php.x86_64 8.0.20-3.el9 appstream php-cli.x86_64 8.0.20-3.el9 appstream php-common.x86_64 8.0.20-3.el9 appstream php-fpm.x86_64 8.0.20-3.el9 appstream php-mbstring.x86_64 8.0.20-3.el9 appstream php-mysqlnd.x86_64 8.0.20-3.el9 appstream php-opcache.x86_64 8.0.20-3.el9 appstream php-pdo.x86_64 8.0.20-3.el9 appstream php-xml.x86_64 8.0.20-3.el9 appstream podman.x86_64 2:4.2.0-7.el9_1 appstream podman-catatonit.x86_64 2:4.2.0-7.el9_1 appstream poppler.x86_64 21.01.0-13.el9 appstream poppler-cpp.x86_64 21.01.0-13.el9 appstream poppler-glib.x86_64 21.01.0-13.el9 appstream poppler-utils.x86_64 21.01.0-13.el9 appstream postfix.x86_64 2:3.5.9-19.el9 appstream postfix-perl-scripts.x86_64 2:3.5.9-19.el9 appstream power-profiles-daemon.x86_64 0.11.1-1.el9 appstream procps-ng.x86_64 3.3.17-8.el9 baseos protobuf-lite.x86_64 3.14.0-13.el9 appstream python-unversioned-command.noarch 3.9.14-1.el9_1.1 appstream python3.x86_64 3.9.14-1.el9_1.1 baseos python3-audit.x86_64 3.0.7-103.el9 appstream python3-bcc.noarch 0.24.0-4.el9 appstream python3-cairo.x86_64 1.20.1-1.el9 appstream python3-cryptography.x86_64 36.0.1-2.el9 appstream python3-dnf.noarch 4.12.0-4.el9.alma baseos python3-dnf-plugins-core.noarch 4.1.0-3.el9 baseos python3-firewall.noarch 1.1.1-3.el9 baseos python3-gobject.x86_64 3.40.1-6.el9 appstream python3-gobject-base.x86_64 3.40.1-6.el9 baseos python3-hawkey.x86_64 0.67.0-3.el9.alma baseos python3-koji.noarch 1.31.0-1.el9 epel python3-libdnf.x86_64 0.67.0-3.el9.alma baseos python3-libs.x86_64 3.9.14-1.el9_1.1 baseos python3-libvirt.x86_64 8.5.0-2.el9 appstream python3-lxml.x86_64 4.6.5-3.el9 appstream python3-nftables.x86_64 1:1.0.4-2.el9 baseos python3-pcp.x86_64 5.3.7-7.el9 appstream python3-psycopg2.x86_64 2.9.5-1.rhel9 pgdg-common python3-rpm.x86_64 4.16.1.3-19.el9_1 baseos python3-rtslib.noarch 2.1.75-1.el9 appstream python3-setools.x86_64 4.4.0-5.el9 baseos qemu-guest-agent.x86_64 17:7.0.0-13.el9 appstream qpdf-libs.x86_64 10.3.1-6.el9 appstream qt5-qtbase.x86_64 5.15.3-1.el9 appstream qt5-qtbase-common.noarch 5.15.3-1.el9 appstream qt5-qtbase-gui.x86_64 5.15.3-1.el9 appstream qt5-qtsvg.x86_64 5.15.3-1.el9 appstream qt5-srpm-macros.noarch 5.15.3-1.el9 appstream rasdaemon.x86_64 0.6.7-8.el9 appstream redhat-rpm-config.noarch 196-1.el9.alma appstream rhel-system-roles.noarch 1.20.1-1.el9_1 appstream rpm.x86_64 4.16.1.3-19.el9_1 baseos rpm-build.x86_64 4.16.1.3-19.el9_1 appstream rpm-build-libs.x86_64 4.16.1.3-19.el9_1 baseos rpm-libs.x86_64 4.16.1.3-19.el9_1 baseos rpm-plugin-audit.x86_64 4.16.1.3-19.el9_1 baseos rpm-plugin-selinux.x86_64 4.16.1.3-19.el9_1 baseos rpm-plugin-systemd-inhibit.x86_64 4.16.1.3-19.el9_1 appstream rpm-sign.x86_64 4.16.1.3-19.el9_1 baseos rpm-sign-libs.x86_64 4.16.1.3-19.el9_1 baseos rsync.x86_64 3.2.3-18.el9 baseos rsyslog.x86_64 8.2102.0-105.el9 appstream rsyslog-gnutls.x86_64 8.2102.0-105.el9 appstream rsyslog-gssapi.x86_64 8.2102.0-105.el9 appstream rsyslog-logrotate.x86_64 8.2102.0-105.el9 appstream rsyslog-relp.x86_64 8.2102.0-105.el9 appstream runc.x86_64 4:1.1.4-1.el9_1 appstream rust.x86_64 1.62.1-1.el9 appstream rust-std-static.x86_64 1.62.1-1.el9 appstream samba-client.x86_64 4.16.4-101.el9 appstream samba-client-libs.x86_64 4.16.4-101.el9 baseos samba-common.noarch 4.16.4-101.el9 baseos samba-common-libs.x86_64 4.16.4-101.el9 baseos sane-backends.x86_64 1.0.32-7.el9 appstream sane-backends-drivers-cameras.x86_64 1.0.32-7.el9 appstream sane-backends-drivers-scanners.x86_64 1.0.32-7.el9 appstream sane-backends-libs.x86_64 1.0.32-7.el9 appstream sdl12-compat.x86_64 1.2.52-1.el9 appstream selinux-policy.noarch 34.1.43-1.el9 baseos selinux-policy-devel.noarch 34.1.43-1.el9 appstream selinux-policy-targeted.noarch 34.1.43-1.el9 baseos setools-console.x86_64 4.4.0-5.el9 baseos setroubleshoot-server.x86_64 3.3.28-4.el9 appstream setup.noarch 2.13.7-7.el9 baseos sg3_utils.x86_64 1.47-9.el9 baseos sg3_utils-libs.x86_64 1.47-9.el9 baseos shadow-utils.x86_64 2:4.9-5.el9 baseos shadow-utils-subid.x86_64 2:4.9-5.el9 baseos sos.noarch 4.3-5.el9_1.alma baseos speex.x86_64 1.2.0-11.el9 appstream sssd.x86_64 2.7.3-4.el9_1.1 baseos sssd-ad.x86_64 2.7.3-4.el9_1.1 baseos sssd-client.x86_64 2.7.3-4.el9_1.1 baseos sssd-common.x86_64 2.7.3-4.el9_1.1 baseos sssd-common-pac.x86_64 2.7.3-4.el9_1.1 baseos sssd-ipa.x86_64 2.7.3-4.el9_1.1 baseos sssd-kcm.x86_64 2.7.3-4.el9_1.1 baseos sssd-krb5.x86_64 2.7.3-4.el9_1.1 baseos sssd-krb5-common.x86_64 2.7.3-4.el9_1.1 baseos sssd-ldap.x86_64 2.7.3-4.el9_1.1 baseos sssd-proxy.x86_64 2.7.3-4.el9_1.1 baseos strace.x86_64 5.18-2.el9 baseos sushi.x86_64 3.38.1-2.el9 appstream systemd.x86_64 250-12.el9_1 baseos systemd-libs.x86_64 250-12.el9_1 baseos systemd-pam.x86_64 250-12.el9_1 baseos systemd-rpm-macros.noarch 250-12.el9_1 baseos systemd-udev.x86_64 250-12.el9_1 baseos systemtap.x86_64 4.7-2.el9 appstream systemtap-client.x86_64 4.7-2.el9 appstream systemtap-devel.x86_64 4.7-2.el9 appstream systemtap-runtime.x86_64 4.7-2.el9 appstream tar.x86_64 2:1.34-5.el9 baseos tcl.x86_64 1:8.6.10-7.el9 baseos teamd.x86_64 1.31-14.el9 baseos tigervnc.x86_64 1.12.0-4.el9 appstream tigervnc-icons.noarch 1.12.0-4.el9 appstream tigervnc-license.noarch 1.12.0-4.el9 appstream tpm2-tools.x86_64 5.2-2.el9_1 baseos tpm2-tss.x86_64 3.0.3-8.el9 baseos tzdata.noarch 2022g-1.el9_1 baseos tzdata-java.noarch 2022g-1.el9_1 appstream unbound-libs.x86_64 1.16.2-2.el9 appstream valgrind.x86_64 1:3.19.0-3.el9 appstream valgrind-devel.x86_64 1:3.19.0-3.el9 appstream vdo.x86_64 8.2.0.2-1.el9 baseos virt-what.x86_64 1.25-1.el9 baseos vulkan-loader.x86_64 1.3.224.0-2.el9 appstream wavpack.x86_64 5.4.0-5.el9 appstream which.x86_64 2.21-28.el9 baseos woff2.x86_64 1.0.2-15.el9 appstream wpa_supplicant.x86_64 1:2.10-4.el9 baseos wpebackend-fdo.x86_64 1.10.0-3.el9 appstream xdg-dbus-proxy.x86_64 0.1.3-1.el9 appstream xdg-desktop-portal.x86_64 1.12.4-1.el9 appstream xdg-desktop-portal-gtk.x86_64 1.12.0-3.el9 appstream xorg-x11-server-Xorg.x86_64 1.20.11-11.el9 appstream xorg-x11-server-Xwayland.x86_64 21.1.3-3.el9 appstream xorg-x11-server-common.x86_64 1.20.11-11.el9 appstream yum.noarch 4.12.0-4.el9.alma baseos zenity.x86_64 3.32.0-8.el9 appstream zlib.x86_64 1.2.11-34.el9 baseos zlib-devel.x86_64 1.2.11-34.el9 appstream Obsoleting Packages grub2-tools.x86_64 1:2.06-46.el9.alma baseos grub2-tools.x86_64 1:2.06-27.el9_0.7.alma @baseos grub2-tools-efi.x86_64 1:2.06-46.el9.alma baseos grub2-tools.x86_64 1:2.06-27.el9_0.7.alma @baseos grub2-tools-extra.x86_64 1:2.06-46.el9.alma baseos grub2-tools.x86_64 1:2.06-27.el9_0.7.alma @baseos grub2-tools-minimal.x86_64 1:2.06-46.el9.alma baseos grub2-tools.x86_64 1:2.06-27.el9_0.7.alma @baseos libpq5.x86_64 15.0-42.2PGDG.rhel9 pgdg-common libpq.x86_64 13.5-1.el9 @AppStream libpq5.x86_64 15.1-42PGDG.rhel9 pgdg-common libpq.x86_64 13.5-1.el9 @AppStream |
You can install the VSCode package using dnf dnf, like this as the sudoer user:
sudo dnf install -y code |
The log file for this is:
Display detailed console log →
Visual Studio Code 6.9 MB/s | 31 MB 00:04 Last metadata expiration check: 0:00:09 ago on Mon 19 Dec 2022 10:52:28 PM EST. Dependencies resolved. ================================================================================ Package Architecture Version Repository Size ================================================================================ Installing: code x86_64 1.74.1-1671015385.el7 code 132 M Transaction Summary ================================================================================ Install 1 Package Total download size: 132 M Installed size: 384 M Downloading Packages: code-1.74.1-1671015385.el7.x86_64.rpm 7.6 MB/s | 132 MB 00:17 -------------------------------------------------------------------------------- Total 7.6 MB/s | 132 MB 00:17 Running transaction check Transaction check succeeded. Running transaction test Transaction test succeeded. Running transaction Regex version mismatch, expected: 10.40 2022-04-14 actual: 10.37 2021-05-26 Regex version mismatch, expected: 10.40 2022-04-14 actual: 10.37 2021-05-26 Preparing : 1/1 Installing : code-1.74.1-1671015385.el7.x86_64 1/1 Running scriptlet: code-1.74.1-1671015385.el7.x86_64 1/1 Verifying : code-1.74.1-1671015385.el7.x86_64 1/1 Installed: code-1.74.1-1671015385.el7.x86_64 Complete! |
Click on Activities in the upper left corner and then the clustered nine dots to view applications. Choose the Visual Studio and double click and you should see the following dialog:
Choose a color schema that works for you, then click the less than symbol in the top left hand corner to start working with Visual Studio Code:
As always, I hope this helps those looking for step-by-step instructions and clarity of complete examples.
Wrapping sqlplus
After sorting out the failures of Oracle Database 11g (11.2.0) on AlmaLinux, I grabbed the Enterprise Linux 9 rlwrap library. The rlwrap is a ‘readline wrapper’ that uses the GNU readline library to
allow the editing of keyboard input for any other command. Input history is remembered across invocations, separately for each command; history completion and search work as in bash and completion word
lists can be specified on the command line.
Installed it with the dnf utility:
dnf install -y rlwrap |
It gave me this log file:
Last metadata expiration check: 0:53:30 ago on Fri 02 Dec 2022 01:07:54 AM EST. Dependencies resolved. ================================================================================================================================ Package Architecture Version Repository Size ================================================================================================================================ Installing: rlwrap x86_64 0.45.2-3.el9 epel 132 k Transaction Summary ================================================================================================================================ Install 1 Package Total download size: 132 k Installed size: 323 k Downloading Packages: rlwrap-0.45.2-3.el9.x86_64.rpm 162 kB/s | 132 kB 00:00 -------------------------------------------------------------------------------------------------------------------------------- Total 117 kB/s | 132 kB 00:01 Running transaction check Transaction check succeeded. Running transaction test Transaction test succeeded. Running transaction Regex version mismatch, expected: 10.40 2022-04-14 actual: 10.37 2021-05-26 Regex version mismatch, expected: 10.40 2022-04-14 actual: 10.37 2021-05-26 Preparing : 1/1 Installing : rlwrap-0.45.2-3.el9.x86_64 1/1 Running scriptlet: rlwrap-0.45.2-3.el9.x86_64 1/1 Verifying : rlwrap-0.45.2-3.el9.x86_64 1/1 Installed: rlwrap-0.45.2-3.el9.x86_64 Complete! |
Then, I added this sqlplus function to the student account’s .bashrc file:
sqlplus () { # Discover the fully qualified program name. path=`which rlwrap 2>/dev/null` file='' # Parse the program name from the path. if [ -n ${path} ]; then file=${path##/*/} fi; # Wrap when there is a file and it is rewrap. if [ -n ${file} ] && [[ ${file} = "rlwrap" ]]; then rlwrap sqlplus "${@}" else echo "Command-line history unavailable: Install the rlwrap package." $ORACLE_HOME/bin/sqlplus "${@}" fi } |
Then, I connected to the old, but tiny, footprint of Oracle Database 11g XE for testing, which worked:
Yes, I couldn’t resist. After all Version 11 was the last non-pluggable release and it’s been 11 years since its release. A double lucky 11.
Naturally, you can always use vi (or vim) to edit the command history provided you include the following command in your .bashrc file:
set -o vi |
Next, I’ll build a new VM instance with the current version of Oracle Database XE for student testing.
As always, I hope this helps those working with Oracle’s database products.
Oracle Library Missing
It was always aware of a problem with Oracle 11g XE on various Linux platforms from 10 years ago. I knew it was misleading but never found the time to explain the error that occurred during the cloning of the instance.
While it would occur when you were on an unsupported version of Linux, it was easy to fix. For example, after downloading the old compressed oracle-xe-11.2.0-1.0.x86_64.rpm.zip file, you uncompress it. Then, you run the file with the following command:
rpm -ivh oracle-xe-11.2.0-1.0.x86_64.rpm |
This command will install the packages in verbose syntax and display the following messages:
[sudo] password for mclaughlinm: Preparing packages for installation... oracle-xe-11.2.0-1.0 Executing post-install steps... You must run '/etc/init.d/oracle-xe configure' as the root user to configure the database. |
Connect as the root user to another instance of the terminal and run the following command:
/etc/init.d/oracle-xe configure |
You will see the following control output:
Oracle Database 11g Express Edition Configuration ------------------------------------------------- This will configure on-boot properties of Oracle Database 11g Express Edition. The following questions will determine whether the database should be starting upon system boot, the ports it will use, and the passwords that will be used for database accounts. Press <Enter> to accept the defaults. Ctrl-C will abort. Specify the HTTP port that will be used for Oracle Application Express [8080]: Specify a port that will be used for the database listener [1521]: Specify a password to be used for database accounts. Note that the same password will be used for SYS and SYSTEM. Oracle recommends the use of different passwords for each database account. This can be done after initial configuration: Confirm the password: Do you want Oracle Database 11g Express Edition to be started on boot (y/n) [y]:y Starting Oracle Net Listener...Done Configuring database...grep: /u01/app/oracle/product/11.2.0/xe/config/log/*.log: No such file or directory grep: /u01/app/oracle/product/11.2.0/xe/config/log/*.log: No such file or directory Done /bin/chmod: cannot access '/u01/app/oracle/diag': No such file or directory Starting Oracle Database 11g Express Edition instance...Done Installation completed successfully. |
This looks like an unsolvable problem, and for many it was too hard to solve. Most never knew the next step to take to discover the missing library. The failure actually occurs when the configuration tries to launch SQL*Plus. You can test that by creating the following oracle_env.sh parameter script:
# Oracle Settings TMP=/tmp; export TMP TMPDIR=$TMP; export TMPDIR ORACLE_HOSTNAME=localhost.localdomain; export ORACLE_HOSTNAME ORACLE_UNQNAME=DB11G; export ORACLE_UNQNAME ORACLE_BASE=/u01/app/oracle; export ORACLE_BASE ORACLE_HOME=$ORACLE_BASE/product/11.2.0/xe; export ORACLE_HOME ORACLE_SID=XE; export ORACLE_SID NLS_LANG=`$ORACLE_HOME/bin/nls_lang.sh`; export NLS_LANG ORACLE_TERM=xterm; export ORACLE_TERM PATH=/usr/sbin:$PATH; export PATH PATH=$ORACLE_HOME/bin:$PATH; export PATH LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib; export LD_LIBRARY_PATH CLASSPATH=$ORACLE_HOME/JRE:$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib; export CLASSPATH if [ $USER = "oracle" ]; then if [ $SHELL = "/bin/ksh" ]; then ulimit -p 16384 ulimit -n 65536 else ulimit -u 16384 -n 65536 fi fi |
Then, source the oracle_env.sh file like this:
. ./oracle_env.sh |
As the oracle user, try to connect to the sqlplus executable with this command:
sqlplus / as sysdba |
It’ll raise the following error:
sqlplus: error while loading shared libraries: libnsl.so.1: cannot open shared object file: No such file or directory |
You won’t find the /usr/lib64/libnsl.so.1 because it’s a symbolic link to the /usr/lib64/libnsl-2.29.so shared library file, which you can find on older Fedora installations. AlmaLinux has libnsl2, which you can download from the pgks.org.
After finding the library and installing it in the /usr/lib64 directory, the balance of the fix is to run the cloning manually. This type of error can occur for newer version of the database but it’s easiest to highlight with the Oracle 11g XE installation.
You also can find it in the libnsl2-devel development libraries on the pkgs.org web site:
You may need to build the libnsl.so.1 symbolic link as the root user with the following command:
ln -s libnsl-2.29.so libnsl.so.1 |
Ensure the file permissions for these files are:
-rwxr-xr-x. 1 root root 218488 Dec 2 01:33 libnsl-2.29.so lrwxrwxrwx. 1 root root 14 Dec 2 01:39 libnsl.so.1 -> libnsl-2.29.so |
After you create the database, you can provision a student user and database, like so:
Oracle Database 11g (Pre-containerization)
After you create and provision the Oracle Database 11g XE, you create an instance with the following two step process.
- Create a
student
Oracle user account with the following command:CREATE USER student IDENTIFIED BY student DEFAULT TABLESPACE users QUOTA 200M ON users TEMPORARY TABLESPACE temp;
- Grant necessary privileges to the newly created
student
user:GRANT CREATE CLUSTER, CREATE INDEXTYPE, CREATE OPERATOR , CREATE PROCEDURE, CREATE SEQUENCE, CREATE SESSION , CREATE TABLE, CREATE TRIGGER, CREATE TYPE , CREATE VIEW TO student;
Oracle Database 21c (Post-containerization)
After you create and provision the Oracle Database 21c Express Edition (XE), you can create a c##student container user with the following two step process.
- Create a c##student Oracle user account with the following command:
CREATE USER c##student IDENTIFIED BY student DEFAULT TABLESPACE users QUOTA 200M ON users TEMPORARY TABLESPACE temp;
- Grant necessary privileges to the newly created c##student user:
GRANT CREATE CLUSTER, CREATE INDEXTYPE, CREATE OPERATOR , CREATE PROCEDURE, CREATE SEQUENCE, CREATE SESSION , CREATE TABLE, CREATE TRIGGER, CREATE TYPE , CREATE VIEW TO c##student;
As always, it should help you solve new problems.