Oel 8 Minimal
Overview
Oracle Linux is an enterprise Linux distribution produced by Oracle. It is binary compatible with Red Hat Enterprise Linux 8 and freely redistributable. The binaries, updates and errata are provided at no cost, and a paid Oracle Linux Support subscription is optional, not required.
This SecureAnyCloud image is the Minimal edition of Oracle Linux 8 for Microsoft Azure. It is the same Oracle Linux 8 with the firmware blobs and desktop-era packages that a cloud virtual machine can never use removed. The root filesystem is roughly 1.7 GB instead of 3.5 GB as measured at build time, about half the size, with nothing the platform needs taken away. A running machine reports slightly more than the build-time figure as logs and caches accumulate.
Oracle Linux ships two kernels: the Unbreakable Enterprise Kernel (UEK), which this image boots by default, and the Red Hat Compatible Kernel (RHCK). Both are kept. The trim removes only firmware and superseded kernel versions, never a whole kernel line, so you can choose either.
What you get:
- Oracle Linux 8, binary compatible with RHEL 8, rolled forward to the current 8.x point release at build time
- A trimmed footprint: no
linux-firmwareblobs, no bundled GeoIP dataset, no wireless or sound card firmware - Every available update applied at build time, verified with a zero-pending check
- Unattended updates already armed, so the machine keeps patching itself
- Azure Linux Agent (waagent) and cloud-init for Azure integration
- Chronyd for NTP time synchronisation
- SELinux in enforcing mode, both at runtime and persisted for the next boot
- BaseOS and AppStream repositories enabled, with signature checking on
- Exactly one externally reachable port: SSH on 22
- Gen2 Hyper-V virtual machine support
- 24/7 SecureAnyCloud support
Platform: Microsoft Azure (Gen2 Hyper-V)
Default user: azureuser
What "Minimal" means here, precisely
The largest single item in a stock Oracle Linux 8 cloud image is linux-firmware, at about 1.7 GB. It contains firmware for physical network cards, graphics adapters, wireless radios and storage controllers.
An Azure virtual machine has none of that hardware. Its disk and network use the Hyper-V synthetic drivers hv_storvsc, hv_netvsc and hv_vmbus, which are built into the kernel and load no firmware at all. Nothing on the system requires the package, so the image removes it.
The same reasoning removes the bundled GeoIP city and country datasets and the wireless and sound card firmware. It also removes the boot splash, tuning profile, support collector and web console packages, which a headless server image does not use.
The image deliberately keeps systemd, NetworkManager, the SSH server, cloud-init, the Azure Linux Agent, dnf, sudo, chrony and dnf-automatic. The build fails closed if any of them is missing after the trim. The image is rebooted before capture to prove that it still boots and reaches the network without the firmware package.
Confirm the footprint on your own machine:
df -h / | awk 'NR==2 {print "root filesystem used: " $3}' rpm -qa | wc -lSecurity posture
This image ships with no known credential. It has no default password and no baked-in SSH key:
- The root account password is locked, so no one can log in as root with a password.
PasswordAuthenticationis disabled in the SSH daemon, so every login is by key.KbdInteractiveAuthenticationis also disabled, which closes the other password path.PermitRootLoginis set toprohibit-password, so root cannot be reached with a password even if one is set later.- The only key that works is the public key you supply when you create the virtual machine. Azure injects it into
azureuserat first boot, so no two machines you launch share a secret. - SSH host keys are not baked into the image. cloud-init regenerates them on every machine, so no two customers share a host identity.
Verify the effective SSH configuration on your own machine. This reads the parsed values rather than the file text:
sudo sshd -T | grep -E '^(permitrootlogin|passwordauthentication|kbdinteractiveauthentication|permitemptypasswords) '1. Connect to the machine
Connect to the VM over SSH as the default user. Replace the address with your own virtual machine's public IP:
ssh azureuser@<YOUR-VM-IP>2. Confirm the release and patch level
Print the release file:
cat /etc/oracle-releaseThis is a major-level image, so it reports the current 8.x point release rather than a pinned minor release. Then confirm that no updates are outstanding:
sudo dnf -q check-update >/dev/null 2>&1; echo "check-update rc=$? (100 would mean updates pending)"3. Confirm the trim shipped
Check that the packages a cloud guest cannot use are absent and the platform essentials are present:
for p in linux-firmware tuned cockpit sos plymouth; do rpm -q $p >/dev/null 2>&1 && echo "$p: present" || echo "$p: absent"; donefor p in systemd NetworkManager openssh-server cloud-init WALinuxAgent dnf
sudo chrony; do rpm -q $p >/dev/null 2>&1 && echo "$p: present" || echo "$p: MISSING"; done4. Confirm Azure integration and SELinux
Check that the Azure Linux Agent is active and that SELinux is enforcing:
systemctl is-active waagent.service 2>/dev/null || systemctl is-active walinuxagent.servicegetenforce5. Unattended updates
The image arms dnf-automatic, so the machine keeps patching itself after you deploy it. Confirm the timer is enabled:
systemctl is-enabled dnf-automatic.timerReview when the timer runs next:
systemctl list-timers dnf-automatic.timer --no-pager | head -3Kernel updates on VMs deployed from image version 1.0.20260808 or earlier
These virtual machines have the UEK kernel core package (kernel-uek-core) but not kernel-uek-modules. That package holds the Azure Hyper-V storage and network drivers. Without it, a UEK kernel installed by an update gets an initramfs without those drivers, and the VM cannot find its disk on the next boot.
On such a VM, run these two commands once, before the next reboot. The first installs the drivers for the newest UEK kernel. The second rebuilds that kernel's initramfs so it includes them, which matters if an update has already installed the new kernel:
sudo dnf install -y kernel-uek-modules
sudo dracut -f --kver "$(sudo grubby --default-kernel | sed 's|^/boot/vmlinuz-||')"After that, each kernel update installs the matching modules package as well. Later image versions already include it.
6. Adding software back
The trim does not stop you from installing anything you need. The full Oracle Linux repositories are enabled and signature-checked. If you later run this image on hardware that needs firmware blobs, reinstall the package:
# Only needed on physical hardware; an Azure guest does not use it.
sudo dnf install -y linux-firmware7. Support
SecureAnyCloud provides 24/7 support for this image at sales@secureanycloud.com.
Oracle Linux is free and open source software. It is not covered by a single licence. The distribution is assembled from thousands of independently packaged components, each with its own terms. You can read every package's licence with rpm -qi <package> or under /usr/share/licenses/.
No subscription, licence key or support contract is required to use Oracle Linux itself.
Oracle and Oracle Linux are trademarks of Oracle Corporation. SecureAnyCloud is not affiliated with, endorsed by, or sponsored by Oracle. The name is used only to identify the distribution this image contains.
Deploy on Azure
Launch Oracle Linux 8 Minimal on Azure with 24/7 support from SecureAnyCloud.
View on Marketplace
Need Help?
Our support team is available 24/7.
sales@secureanycloud.com