Oel 8 arm64 LVM
Overview
Oracle Linux 8 is Oracle's free, freely redistributable enterprise Linux distribution, binary compatible with Red Hat Enterprise Linux 8. This SecureAnyCloud image from the Azure Marketplace is a preconfigured virtual machine image of Oracle Linux 8 on 64-bit Arm (AArch64/arm64). This guide covers deploying and operating it on Microsoft Azure.
This is the native Arm build, running the Unbreakable Enterprise Kernel (UEK). It runs on Azure's Arm virtual machine sizes, which are powered by the Azure Cobalt 100 processor (the Dpsv6, Dplsv6 and Epsv6 families). Many workloads deliver the same performance on these sizes at a lower cost than on x86.
No application is preinstalled, because the operating system itself is the product. Like every Oracle Linux image on Azure, its root filesystem lives on an LVM logical volume. With standard LVM tools, you can grow the root volume onto a larger disk, add volumes and reshape storage on a running machine. Oracle publishes its Arm builds only in this layout, so the LVM root is simply how Oracle Linux on Arm ships. This guide shows you how to use it.
What you get:
- Oracle Linux 8, native 64-bit Arm (arm64 / AArch64), binary compatible with RHEL 8
- The Unbreakable Enterprise Kernel, Oracle's supported kernel for Oracle Linux 8 on Arm, with a 4 KB page size
- An LVM disk layout: volume group
rootvgwith the root filesystem onrootlvand a dedicatedcrashlvfor kernel crash dumps - Every available update applied at build time, and again immediately before capture
- Automatic updates installed and armed to apply all available updates, never rebooting on their own
- Azure Linux Agent (waagent) and cloud-init for Azure integration, and Chronyd synchronised against the Azure host clock
- SELinux in enforcing mode and firewalld active, as Oracle ships it
- SSH as the only network listener, with no swap on the operating system disk
- Gen2 Hyper-V virtual machine support
- 24/7 SecureAnyCloud support
Platform: Microsoft Azure (Gen2 Hyper-V, Arm64, Azure Cobalt 100)
Default user: azureuser
This is the Oracle Linux 8 major release, on Arm
This listing tracks the Oracle Linux 8 major release, not a frozen point release. The image is built from whichever Oracle Linux 8 point release is current at build time and brought fully up to date. Its update repositories are Oracle's rolling Oracle Linux 8 channels, so your own dnf update keeps rolling the machine forward within Oracle Linux 8. Oracle Linux 8 is in Premier Support until July 2029, with Extended Support until July 2032.
Oracle Linux 8's final point release is 8.10, and Oracle continues to publish maintenance and security updates into that stream. A fully patched Oracle Linux 8 machine therefore reports 8.10 and still has nothing pending. This is the expected steady state, not a stale image.
This Arm build is a separate product from the x86 Oracle Linux 8 images. It carries aarch64 packages and an aarch64 kernel, and it runs only on Arm virtual machine sizes.
Security posture
This image ships with no known credential. There is 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.
- No account on the image has a usable password at all.
PasswordAuthenticationand keyboard-interactive authentication are disabled in the SSH daemon, so every login is by key.- Root cannot log in with a password over SSH, and no key is installed for root. Use
sudofrom your administrator account instead. - SSH host keys are removed before capture and regenerated on each machine at first boot, so no two machines that you launch share a host identity.
/etc/machine-idand the NetworkManager secret key are cleared before capture and regenerated per machine.- The only key that works is the public key that you supply when you create the virtual machine. Azure injects it into the administrator account that you name at first boot.
- SELinux is left in enforcing mode and firewalld is active, which are the Oracle Linux defaults.
The stock Oracle Linux 8 Arm image allows root to log in over SSH with a key (PermitRootLogin yes). This image tightens that setting to prohibit-password and removes every key, so root has no login path at all.
Prerequisites
Before you deploy this image, make sure that you have:
- An active Microsoft Azure subscription
- Access to the Azure Portal or Azure CLI
- An SSH key pair for Linux VM access
- Familiarity with Azure VM management
Recommended VM size: Standard_D2ps_v6 (2 vCPU, 8 GB RAM, Azure Cobalt 100) or larger.
This is an Arm64 image, so you must launch it on an Arm virtual machine size, such as the Dpsv6, Dplsv6 or Epsv6 families. An x86 size such as Standard_B2s does not accept this image.
Deploy the Virtual Machine
Option A: Azure Portal
- Go to the Azure Marketplace and search for "Oracle Linux 8 Arm64 LVM SecureAnyCloud".
- Select the image and choose Create.
- Configure the basics:
- Subscription: select your Azure subscription.
- Resource Group: create a new group or select an existing one.
- Virtual Machine Name: enter a name for your VM.
- Region: select a region that offers Arm sizes.
- Size:
Standard_D2ps_v6is recommended (an Arm64 size). - Under Administrator Account, select SSH public key and enter your key.
- Under Inbound Port Rules, allow SSH (port 22).
- Select Review + Create, then select Create.
Option B: Azure CLI
Run this on your own workstation, substituting your resource group, VM name and preferred region. Accept the Marketplace terms once per subscription, then create the machine:
az vm image terms accept --urn sac1647283583153:oel-8-arm64-lvm:default:latest
az vm create \
--resource-group myResourceGroup \
--name my-oel8-arm64-lvm-vm \
--image sac1647283583153:oel-8-arm64-lvm:default:latest \
--size Standard_D2ps_v6 \
--admin-username azureuser \
--generate-ssh-keys \
--public-ip-sku StandardThe --size must be an Arm64 family (Standard_D2ps_v6 above). Azure rejects an x86 size for an Arm image at create time. To start with a larger operating system disk, add --os-disk-size-gb 128 and follow Growing the root filesystem in Step 6 once the machine is up.
Connect via SSH
Run these on your own workstation, not on the VM. Find the public IP, then connect:
az vm show --resource-group myResourceGroup --name my-oel8-arm64-lvm-vm --show-details --query publicIps -o tsv ssh azureuser@<vm-ip>There is no password to enter. If SSH asks you for one, the key you supplied at create time is not the key your client is offering.
Confirm the release and the architecture
Check that the machine is Oracle Linux 8:
cat /etc/oracle-releaseOracle Linux Server release 8.10The os-release fields carry the same information in a machine-readable form, which is what configuration management tools read:
grep -E '^(NAME|VERSION|ID|VERSION_ID|PLATFORM_ID)=' /etc/os-releaseNAME="Oracle Linux Server" VERSION="8.10" ID="ol" VERSION_ID="8.10" PLATFORM_ID="platform:el8"The kernel and the page size are where the architecture shows up. aarch64 confirms this is the native 64-bit Arm build, and the el8uek suffix identifies the Unbreakable Enterprise Kernel:
uname -srm getconf PAGESIZELinux 5.15.0-324.217.5.2.el8uek.aarch64 aarch64 4096The page size is 4096 bytes, and that is worth knowing. Red Hat's own EL8 Arm kernel is built with 64 KB pages, and images that boot it report 65536 here. This image boots Oracle's Unbreakable Enterprise Kernel, which is a 4 KB page build, the same as EL9 and EL10 on Arm. The page size affects transparent huge pages, JVM and database memory tuning, and anything that reads getconf PAGESIZE at startup, so check it rather than assuming an EL8 Arm value. The default huge page size here is 2 MB:
grep -i hugepagesize /proc/meminfoHugepagesize: 2048 kBAnd the processor itself, which on Azure's Arm sizes is the Azure Cobalt 100. The vendor identification comes from the firmware, so this command needs sudo:
sudo lscpu | grep -E 'Architecture|Vendor ID|BIOS Model name'Architecture: aarch64 Vendor ID: ARM BIOS Vendor ID: MICROSOFT CORPORATION BIOS Model name: Cobalt 100The version reported is the current Oracle Linux 8 point release the image was patched to. Your kernel will be the same or newer.
The kernel
On Arm, Oracle Linux 8 runs the Unbreakable Enterprise Kernel (UEK). Exactly one kernel is installed, the one the machine is running; superseded kernels are removed before capture:
rpm -q kernel-uek-core
sudo grubby --default-kernelkernel-uek-core-5.15.0-324.217.5.2.el8uek.aarch64 /boot/vmlinuz-5.15.0-324.217.5.2.el8uek.aarch64New UEK releases arrive through the enabled ol8_UEKR7 repository, so a normal dnf update keeps the kernel current. On x86, Oracle Linux 8 also offers the Red Hat Compatible Kernel; Oracle's Arm repositories carry the UEK line, which is what this image boots. If you need the Red Hat Compatible Kernel for a specific workload, it is one sudo dnf install kernel away, but note it changes the page size to 64 KB.
Check the patch level and automatic updates
Every available update was applied when this image was built. dnf check-update exits 100 when updates are pending and 0 when none are:
dnf -q check-update >/dev/null 2>&1; echo "exit=$?"exit=0Nothing is waiting on a reboot either:
dnf needs-restarting -rNo core libraries or services have been updated since boot-up. Reboot should not be necessary.Your update path is Oracle's rolling Oracle Linux 8 channels: BaseOS Latest, AppStream, UEK Release 7 and Addons. None of the frozen per-point-release repositories is enabled, so the machine always resolves the current Oracle Linux 8 packages:
dnf repolist --enabledrepo id repo name ol8_UEKR7 Latest Unbreakable Enterprise Kernel Release 7 for Oracle Linux 8 (aarch64) ol8_addons Oracle Linux 8 Addons (aarch64) ol8_appstream Oracle Linux 8 Application Stream (aarch64) ol8_baseos_latest Oracle Linux 8 BaseOS Latest (aarch64)Automatic updates
The stock Oracle Linux 8 Arm image does not install dnf-automatic at all, so nothing applies updates on its own. This image installs it and enables its timer:
systemctl is-enabled dnf-automatic.timer
systemctl cat dnf-automatic.timer | grep -E 'OnCalendar|RandomizedDelaySec'enabled OnCalendar=*-*-* 6:00 RandomizedDelaySec=60mThe policy applies all available updates, not only those tagged as security errata, and never reboots automatically, so a kernel update waits for a window you choose rather than restarting a production machine without warning:
grep -E '^(upgrade_type|download_updates|apply_updates|reboot) ' /etc/dnf/automatic.confreboot = never upgrade_type = default download_updates = yes apply_updates = yesupgrade_type is deliberately default rather than security, because a security-only policy depends on errata metadata being attached to every update, and where it is not, that update is silently skipped. Because reboot = never, check periodically whether a restart is owed after a kernel update, using the needs-restarting -r command above. To review Oracle's security advisories yourself, run sudo dnf updateinfo list --security. To opt out of automatic updates entirely, run sudo systemctl disable --now dnf-automatic.timer.
The LVM disk layout
The root filesystem sits on an LVM logical volume inside a volume group, not on a fixed partition. That is how Oracle publishes Oracle Linux on Azure, and on Arm it is the only layout Oracle publishes. The /boot and EFI partitions stay as plain partitions, which is what the firmware and boot loader need:
df -hT / /var/crash /boot /boot/efiFilesystem Type Size Used Avail Use% Mounted on /dev/mapper/rootvg-rootlv xfs 37G 5.8G 32G 16% / /dev/mapper/rootvg-crashlv xfs 10G 103M 9.9G 2% /var/crash /dev/sda2 xfs 2.0G 221M 1.7G 12% /boot /dev/sda1 vfat 100M 7.2M 93M 8% /boot/efiThe sizes are fixed by the image; the used and available figures drift as the machine writes logs and package metadata, so expect your own numbers to differ by a few hundred megabytes.
One physical volume, the third partition of the operating system disk, backs the volume group rootvg:
sudo pvs
sudo vgsPV VG Fmt Attr PSize PFree /dev/sda3 rootvg lvm2 a-- <46.90g 0 VG #PV #LV #SN Attr VSize VFree rootvg 1 2 0 wz--n- <46.90g 0The volume group holds two logical volumes: rootlv for the root filesystem and crashlv, mounted at /var/crash, where kdump writes a kernel crash dump if the machine ever panics:
sudo lvs -o lv_name,lv_size,lv_path,devices rootvgLV LSize Path Devices crashlv 10.00g /dev/rootvg/crashlv /dev/sda3(0) rootlv <36.90g /dev/rootvg/rootlv /dev/sda3(2560)The kernel command line tells the early boot environment which volume group and logical volume hold the root filesystem, and lvm2 is installed so every LVM tool is available:
grep -o 'rd.lvm[^ ]*' /proc/cmdline rpm -q lvm2 cloud-utils-growpart xfsprogsrd.lvm.vg=rootvg rd.lvm.lv=rootvg/rootlv lvm2-2.03.14-15.0.4.el8_10.3.aarch64 cloud-utils-growpart-0.33-0.el8.noarch xfsprogs-5.15.0-1.0.6.el8.aarch64Growing the root filesystem
The volume group ships with no free space, and enlarging the Azure disk does not grow the root volume on its own: cloud-init's automatic partition growth deliberately skips a root filesystem on a logical volume, so the extra capacity stays unallocated until you claim it. After you create the machine with a larger disk (--os-disk-size-gb), or resize the disk in Azure (stop and deallocate the VM, raise the size, start it again), run these three commands. All of them work online, with no reboot:
sudo growpart /dev/sda 3
sudo pvresize /dev/sda3
sudo lvextend -r -l +100%FREE rootvg/rootlv df -h /growpart extends partition 3 to the end of the disk, pvresize makes LVM see the larger physical volume, and lvextend -r hands all the free space to rootlv and grows its XFS filesystem in the same step. This is the real output from a machine created with --os-disk-size-gb 96, which takes / from 37 GB to 84 GB with no reboot and no downtime:
CHANGED: partition=3 start=4401152 old: size=98357248 end=102758399 new: size=196925407 end=201326558 Physical volume "/dev/sda3" changed 1 physical volume(s) resized or updated / 0 physical volume(s) not resized Size of logical volume rootvg/rootlv changed from <36.90 GiB (9446 extents) to <83.90 GiB (21478 extents). Logical volume rootvg/rootlv successfully resized. data blocks changed from 9672704 to 21993472 Filesystem Size Used Avail Use% Mounted on /dev/mapper/rootvg-rootlv 84G 4.6G 80G 6% /Note the starting point: the machine booted with a 96 GB disk but only a 46.9 GB physical volume, because cloud-init leaves an LVM root alone. After the three commands, sudo vgs reports <93.90g with no free extents and sudo lvs rootvg shows rootlv at <83.90g alongside the untouched 10 GB crashlv.
The sequence is safe to re-run: a second growpart /dev/sda 3 prints NOCHANGE: partition 3 is size 196925407. it cannot be grown and changes nothing. If you see NOCHANGE on the first run, the partition already fills the disk. Confirm the physical volume name with sudo pvs first; it is /dev/sda3 on this image. Note that partition number: it is specific to this layout, where sda1 is the EFI system partition, sda2 is /boot, and sda3 is the LVM physical volume.
Adding a data volume
Attach a new managed data disk in Azure. The portal and CLI show its LUN; the matching device is /dev/disk/azure/scsi1/lun<N>. Then either give it its own volume group, which keeps application data separate from the operating system, or add it to rootvg:
sudo pvcreate /dev/disk/azure/scsi1/lun0
sudo vgcreate datavg /dev/disk/azure/scsi1/lun0
sudo lvcreate -n datalv -l 100%FREE datavg
sudo mkfs.xfs /dev/datavg/datalv
sudo mkdir -p /data echo '/dev/datavg/datalv /data xfs defaults,nofail 0 0' | sudo tee -a /etc/fstab
sudo mount /dataThe nofail option lets the machine still boot if the data disk is ever detached.
Verify the security posture
Confirm SELinux is enforcing:
getenforceEnforcingConfirm the root account is locked. The LK in the second field means locked:
sudo passwd -S rootroot LK 2009-12-22 -1 -1 -1 -1 (Alternate authentication scheme in use.)Confirm no account on the machine has a usable password. This prints nothing on a clean image:
sudo awk -F: '($2 !~ /^[!*]/) && ($2 != "") {print $1}' /etc/shadowRead the SSH daemon's effective policy rather than the config file, since the running daemon is what a client actually meets. without-password is OpenSSH's name for prohibit-password: root may never log in with a password, and has no key installed:
sudo sshd -T | grep -E '^(permitrootlogin|passwordauthentication|pubkeyauthentication|kbdinteractiveauthentication|challengeresponseauthentication) 'permitrootlogin without-password pubkeyauthentication yes passwordauthentication no kbdinteractiveauthentication no challengeresponseauthentication noOn Oracle Linux 8 that policy lives in the main SSH configuration file. Oracle Linux 8 ships OpenSSH 8.0, which predates the Include /etc/ssh/sshd_config.d/*.conf directive that EL9 and EL10 use, so there is no drop-in directory on this release and a drop-in file placed there would be ignored:
sudo grep -E '^(PermitRootLogin|PasswordAuthentication|ChallengeResponseAuthentication|PermitEmptyPasswords) ' /etc/ssh/sshd_configPermitRootLogin prohibit-password PasswordAuthentication no ChallengeResponseAuthentication no PermitEmptyPasswords noIf you edit that file yourself, re-check sudo sshd -T afterwards; the effective output is the only thing that proves what the daemon is enforcing.
There is no swap on the operating system disk. A swap file baked into a Marketplace image is not permitted, so this prints nothing:
swapon --showConfirm what is listening. SSH on port 22 is the only service reachable from the network. The only other socket is chronyd, bound to the loopback address for time synchronisation:
ss -tln
ss -ulnState Recv-Q Send-Q Local Address:Port Peer Address:Port LISTEN 0 128 0.0.0.0:22 0.0.0.0:* LISTEN 0 128 [::]:22 [::]:* State Recv-Q Send-Q Local Address:Port Peer Address:Port UNCONN 0 0 127.0.0.1:323 0.0.0.0:* UNCONN 0 0 [::1]:323 [::]:*The stock Oracle image enables rpcbind, which listens on port 111 for NFS version 3 on all four of TCP and UDP over IPv4 and IPv6. NFS version 4 client mounts do not need it, so this image ships it disabled with nfs-utils still installed:
systemctl is-enabled rpcbind.socket rpcbind.service || truedisabled disabledIf you need NFS version 3, enable it with sudo systemctl enable --now rpcbind.socket.
Verify Azure integration
The Azure Linux Agent handles extensions and the portal's recovery features, and cloud-init provisions the machine:
systemctl is-active waagent rpm -q WALinuxAgent cloud-init chrony cloud-init statusactive WALinuxAgent-2.7.0.6-8.0.1.el8_8.noarch cloud-init-23.4-7.0.4.el8_10.12.noarch chrony-4.5-2.0.2.el8_10.aarch64 status: doneThe kernel puts a console on ttyAMA0, the Arm PL011 serial port, which is what makes boot diagnostics and the portal's serial console work when you cannot reach the machine over SSH. On x86 images this is ttyS0; on Arm it is ttyAMA0:
grep -o 'console=ttyAMA0' /proc/cmdline | head -1console=ttyAMA0Time synchronisation runs through chronyd against the Azure host clock, exposed as the PHC0 reference clock (your offsets will differ). The clock and timezone are UTC:
chronyc -n sources | head -4 timedatectl | grep -E 'Time zone|synchronized|RTC in local TZ'MS Name/IP address Stratum Poll Reach LastRx Last sample =============================================================================== #* PHC0 0 3 377 8 -8839ns[ -13us] +/- 9213ns ^- 23.143.196.202 2 6 77 12 +2523us[+2519us] +/- 38ms Time zone: UTC (UTC, +0000) System clock synchronized: yes RTC in local TZ: noThe stock Oracle image uses the America/New_York timezone with the hardware clock read as local time. Azure's host clock is UTC, so that setting shifts the clock by several hours early in every boot until chronyd corrects it. This image sets both to UTC. To display local time instead, run sudo timedatectl set-timezone Europe/London (or your zone); leave the hardware clock in UTC.
Azure Arm sizes use Accelerated Networking, which gives the machine a second, hardware network interface that is bonded to eth0 and carries the same address. NetworkManager leaves that interface alone, which is correct, and the system reaches a fully running state with nothing failed:
nmcli -f DEVICE,TYPE,STATE device systemctl is-system-runningDEVICE TYPE STATE eth0 ethernet connected enP2062s1 ethernet unmanaged lo loopback unmanaged runningThe name of the accelerated interface differs per machine. Oracle Linux 8 ships a legacy udev rule (60-net.rules, part of the core initscripts package) that looks up a MAC address in the /etc/sysconfig/network-scripts files and renames the matching interface. Because the accelerated interface shares eth0's MAC, that rule tries to rename it to eth0 on every reboot after the first and logs an error when the name is already taken. The rule cannot be uninstalled on Oracle Linux 8 without removing a core package, so this image masks it with an empty override at /etc/udev/rules.d/60-net.rules. Interface names are unchanged, and there is no rename error in the journal. If you ever need the legacy behaviour back, delete that empty file.
Standard_D2ps_v6 has no local temporary disk, so there is no scratch disk at /mnt on that size, and the Azure temporary disk warning service is skipped rather than failing, which is what keeps systemctl is-system-running reporting running instead of degraded. Arm sizes with a d in the name, such as Standard_D2pds_v6, add a local temporary disk, and on those the service writes its data loss warning file as usual. Treat anything on a temporary disk as disposable.
Networking and the firewall
The Azure Network Security Group is the control plane for inbound and outbound traffic. Oracle Linux also runs firewalld as a host firewall, and this image leaves it active, as Oracle ships it:
systemctl is-active firewalld
sudo firewall-cmd --get-default-zone sudo firewall-cmd --list-servicesactive public cockpit dhcpv6-client sshThe cockpit entry is part of Oracle's default zone; Cockpit itself is not running and nothing listens on its port. Because firewalld is running, a port must be open in both the Azure NSG and firewalld before traffic reaches your service. For example, to serve HTTPS:
sudo firewall-cmd --permanent --add-service=https sudo firewall-cmd --reloadTo remove the unused Cockpit rule, run sudo firewall-cmd --permanent --remove-service=cockpit followed by sudo firewall-cmd --reload.
Install software
AppStream carries the application packages. Everything in the repositories is built for Arm, so dnf resolves aarch64 packages automatically with nothing extra to configure:
dnf -q repoquery --arch aarch64 --latest-limit 1 nginxnginx-1:1.14.1-9.0.1.module+el8.0.0+5347+9282027e.aarch64Oracle Linux 8 uses AppStream modules, so several versions of the same component ship side by side. List them with dnf module list nginx and select one with sudo dnf module enable nginx:1.22 before installing. Install a package and enable it in the usual way, for example sudo dnf install -y nginx followed by sudo systemctl enable --now nginx, then open the port in your Network Security Group and in firewalld.
To add another administrator, create the account with sudo adduser <name>, add it to the wheel group with sudo usermod -aG wheel <name>, then copy your public key into /home/<name>/.ssh/authorized_keys with mode 600 and the .ssh directory mode 700, owned by that user. The image ships with no human accounts at all, so the administrator you named at create time is the only login until you add one.
Common Use Cases
- RHEL 8-compatible application hosting on cost-efficient Azure Cobalt 100 Arm virtual machines
- Migrating an existing Oracle Linux 8 x86 estate onto Arm without changing distribution or tooling
- Workloads whose root or data volumes need to grow over time without rebuilding the machine
- Container hosts and cloud-native workloads on Arm with a flexible LVM storage layout
Troubleshooting
Cannot connect via SSH
Check the Network Security Group allows inbound TCP 22 from your address, confirm the machine is running, and make sure your client is offering the private key that matches the public key you supplied at create time. Password authentication is disabled, so a password prompt means key negotiation already failed. Connect as the administrator you named at create time, not as root.
az vm show --resource-group myResourceGroup --name my-oel8-arm64-lvm-vm --show-details --query powerState -o tsvThe VM will not create or will not boot
This is an Arm64 image. It only runs on Arm virtual machine sizes (the Dpsv6, Dplsv6 and Epsv6 Azure Cobalt 100 families and other p sizes). If Azure rejects the size at create time, confirm you selected an Arm size and not an x86 one such as Standard_B2s or Standard_D2s_v5. If the machine never becomes reachable, open Boot diagnostics and the Serial console in the portal, which read from ttyAMA0.
The disk is bigger but the root filesystem is not
That is expected on an LVM root. Follow Growing the root filesystem in Step 6: growpart /dev/sda 3, pvresize /dev/sda3, then lvextend -r -l +100%FREE rootvg/rootlv.
An application expects 64 KB pages
Oracle's Arm kernel uses 4 KB pages, so software tuned for Red Hat's 64 KB EL8 Arm kernel may need its huge page or buffer settings revisited. Read the live value with getconf PAGESIZE rather than assuming one from the distribution major version.
A service is unreachable even though the NSG allows it
firewalld is active on this image. Open the port in firewalld too, as shown in Step 9, and check with sudo firewall-cmd --list-all.
Azure agent not running
Check whether the agent is running and read its recent log:
systemctl is-active waagent
sudo journalctl -u waagent -n 5 --no-pagerIf it reports anything other than active, start it:
sudo systemctl enable --now waagentPackage manager issues
Clear the metadata cache and rebuild it:
sudo dnf clean all
sudo dnf makecacheIf a repository is unreachable, confirm the machine has outbound HTTPS and that DNS resolves yum.oracle.com.
A service is blocked and the logs mention SELinux
SELinux is enforcing, which is the secure default and should stay that way. Look at the denial rather than disabling SELinux:
sudo ausearch -m AVC -ts recent </dev/null 2>/dev/null || echo "no recent AVC denials"Most denials on a fresh machine come from software installed into a non-standard path. Relabel with sudo restorecon -Rv /path before considering any policy change.
Important Notes
Oracle Linux is free to download, use, patch and redistribute. A paid Oracle Linux Support subscription is optional and is not required to run or update this image. Oracle Linux is not covered by a single licence: the distribution is a collection of free and open source licences across its package set, predominantly GPL and LGPL, with MIT, BSD, Apache and others. This image is not Oracle Database and carries no database licensing.
Oracle and Oracle Linux are trademarks of Oracle Corporation. SecureAnyCloud is not affiliated with or endorsed by Oracle, and uses the name only to identify the distribution this image contains.
Oracle Linux 8 was released in July 2019 and follows Oracle's lifetime support policy: Premier Support until July 2029 and Extended Support until July 2032. Check Oracle's Linux lifetime support documentation for the dates that apply to your deployment.
Support
For assistance with this image, contact SecureAnyCloud support:
- Website: secureanycloud.com
- Product Catalogue: secureanycloud.com/products
- User Guides: secureanycloud.com/guides
- SLA: 24 hour response guaranteed
Deploy on Azure
Launch Oracle Linux 8 Arm64 LVM on Azure with 24/7 support from SecureAnyCloud.
View this image
Need Help?
Our support team is available 24/7.
sales@secureanycloud.com