How to list dependencies of a rpm package via dnf

The other day while writing up the blog post How to install Oracle Database 18c XE on Linux 8 I stumbled across the question of how to list all the dependencies of a rpm package on Linux 8. The solution was easier than I thought but required some googling, so here is it for easy reference:

The dnf command provides a nice little sub command called repoquery which is equivalent to rpm -q and to the repoquery command provided by yum-utils on Linux 7. It’s quite a powerful little command which is reflected by the long list of parameters it takes. You can check for yourself by just typing dnf repoquery --help. One of these parameters is --requires which allows you to, as the documentation puts it “Display capabilities that the package depends on.

Continue reading “How to list dependencies of a rpm package via dnf”

How to install Oracle Database 18c XE on Linux 8

It has been more than two and a half years since Oracle 18c XE has been released for Linux. Since then things have changed and one of these changes was the release of Linux 8 about nine months later. Unfortunately, installing Oracle 18c XE on Linux 8 is no longer quite as straightforward as it was with Linux 7 – a simple yum command. That is because the oracle-database-preinstall-18c is not provided for Linux 8. However, installing Oracle 18c XE on Linux 8 is still possible, it just requires a few more keystrokes.

tl;dr

Execute all commands as root user:

  1. curl -OL https://download.oracle.com/otn-pub/otn_software/db-express/oracle-database-xe-18c-1.0-1.x86_64.rpm
  2. dnf install -y /bin/bash /bin/sh /etc/redhat-release bc bind-utils binutils ethtool glibc glibc-devel initscripts ksh libaio libaio-devel libgcc libstdc++ libstdc++-devel make module-init-tools net-tools nfs-utils openssh-clients pam procps psmisc smartmontools sysstat unzip util-linux-ng xorg-x11-utils xorg-x11-xauth libnsl
  3. rpm -i --nodeps oracle-database-xe-18c-1.0-1.x86_64.rpm
Continue reading “How to install Oracle Database 18c XE on Linux 8”

How to build your own Thanksgiving shopping list app with JavaScript

Thanksgiving is about to arrive in the US and, as every year, millions of people and I are preparing our shopping lists for Thanksgiving dinner. I thought this is a good opportunity to flex my coding muscles again and see how quickly I can build an online shopping list using JavaScript. To my surprise, it was easier and quicker than I originally thought and perhaps you like a little challenge yourself. Here is how it went…

Continue reading “How to build your own Thanksgiving shopping list app with JavaScript”

25 years of Java – Happy Birthday!

Birthday cakeToday 25 years ago Java made its first public appearance. Back then, Java promised to be a general-purpose programming language that you “write once, run anywhere“. It came with a new and unique way to compile Java source code down to bytecode, an intermediate representation that could be understood, compiled at runtime and run by the Java Virtual Machine (JVM). It was the combination of Java bytecode and the JVM that made it possible for Java to keep that “write once, run anywhere” promise. The Java Virtual Machine was for Java programs exactly what the name suggests, a (virtual) machine. Regardless of which computer you had, which OS you were running, if you had a JVM installed, you could run your compiled Java program on it without the need for porting or recompiling the program first.

Continue reading “25 years of Java – Happy Birthday!”

Oracle Database client libraries for Java now on Maven Central

Oracle has published its Oracle Database JDBC client libraries on Maven Central. From Apache Mavennow on you can find Oracle Database related jar files under the com.oracle.database group id. You will find all libraries from version 11.2.0.4 (e.g. ojdbc6) to 19.3.0 (e.g. ojdbc10).

Going forward, Oracle will use Maven Central as one of the primary distribution mechanisms for Oracle Database Java client libraries, meaning that you will also be able to find new versions of these libraries on Maven Central in the future.

To get the latest Oracle Database JDBC driver, use the following dependency GAV in your Maven POM file:

<dependency>
    <groupId>com.oracle.database.jdbc</groupId>
    <artifactId>ojdbc10</artifactId>
    <version>19.3.0.0</version>
</dependency>

Continue reading “Oracle Database client libraries for Java now on Maven Central”