Linux Tutorials

Install Google Chrome on RHEL 10 / 9, Rocky and AlmaLinux

Google publishes an official dnf repository for Chrome, and the same two paths work identically across the whole family: add the repo and install with dnf, or download the standalone RPM and let it wire up the repo for you. Red Hat does not carry Chrome in BaseOS or AppStream, so to install Google Chrome on RHEL, Rocky Linux, AlmaLinux or CentOS Stream you take one of these two routes.

Original content from computingforgeeks.com - post 18004

This guide covers both methods, launching the browser on GNOME, running Chrome headless on a server with no desktop, the Beta, Unstable and Canary release channels, and how updates flow through dnf afterwards. Everything below was run on Rocky Linux 10.1 and Rocky Linux 9.7 with SELinux enforcing in August 2026, with Chrome 151 as the current stable release. If you are on Fedora instead, the Fedora install steps use the same repo with a Fedora-specific shortcut.

Install Google Chrome from the dnf Repository

The repo method is the one to use on any machine you plan to keep. Create the repo definition:

sudo vim /etc/yum.repos.d/google-chrome.repo

Add the following content:

[google-chrome]
name=google-chrome
baseurl=https://dl.google.com/linux/chrome/rpm/stable/x86_64
enabled=1
gpgcheck=1
gpgkey=https://dl.google.com/linux/linux_signing_key.pub

Then install the stable channel. dnf will ask to import Google’s signing key from the gpgkey URL on this first transaction; accept it:

sudo dnf install google-chrome-stable

On a minimal install the dependency pull is bigger than the browser itself. Chrome is a 137 M download, but dnf resolves the full desktop font and portal stack behind it, 162 packages and about 260 M on our test system:

Installing:
 google-chrome-stable        x86_64  151.0.7922.137-1   google-chrome  137 M
Installing dependencies:
 liberation-fonts            noarch  1:2.1.5-11.el10    appstream      7.6 k
 vulkan-loader               x86_64  1.4.328.1-1.el10   appstream      161 k
 xdg-desktop-portal          x86_64  1.20.0-2.el10      appstream      532 k
 xdg-utils                   noarch  1.2.0-4.el10       appstream       84 k
...
Install  162 Packages
Total download size: 260 M
Installed size: 922 M

Confirm the installed version:

google-chrome-stable --version

The binary reports the release it shipped with:

Google Chrome 151.0.7922.137

The whole sequence on the test box, from install to the repo showing up in dnf:

Terminal showing Google Chrome installed from the dnf repository on Rocky Linux

Install Chrome from the RPM Package

The second path downloads a standalone RPM from the official Chrome download page. The URL uses current in the filename, so it always fetches the latest stable build with no version to look up. One catch on minimal installs: wget is not there by default, and curl is, so use curl:

curl -LO https://dl.google.com/linux/direct/google-chrome-stable_current_x86_64.rpm

Install it with dnf, which resolves the same dependency set from AppStream:

sudo dnf install ./google-chrome-stable_current_x86_64.rpm

A signing detail that catches people out: dnf does not GPG-verify a local RPM file by default (localpkg_gpgcheck is off on the RHEL family), so this install completes without a key prompt. Google’s signing key is imported the first time a transaction runs through the google-chrome repo, which the package sets up for you (next section). After that first repo transaction, the key sits in the rpm keyring:

rpm -q gpg-pubkey --qf "%{NAME}-%{VERSION}  %{SUMMARY}\n" | grep -i google

The key that signs every Chrome build shows up as:

gpg-pubkey-d38b4796  Google Inc. (Linux Packages Signing Authority) <[email protected]> public key

Here is the part most guides miss: the RPM route does not leave you with an orphaned package. The package ships a script in /etc/cron.daily/google-chrome that creates /etc/yum.repos.d/google-chrome.repo on its first run, because the rpm database is locked during the install itself. The behavior is controlled by repo_add_once="true" in /etc/default/google-chrome. The generated repo file is byte-identical to the manual one above, so either way the browser updates through dnf from then on. This matters on Debian-family systems too, where the .deb does the same trick with an apt source; the Debian install, Ubuntu install and Linux Mint install guides cover that side.

Launch Google Chrome

On a GNOME desktop, press the Super key, type chrome and hit Enter. This is Chrome running on our Rocky Linux test desktop:

Google Chrome browser window open on a Rocky Linux GNOME desktop

From a terminal, either of these works:

google-chrome-stable

The shorter google-chrome command is an alternatives symlink pointing at the stable binary with priority 200, which you can confirm:

alternatives --display google-chrome

The symlink chain resolves to the stable channel:

google-chrome - status is auto.
 link currently points to /usr/bin/google-chrome-stable
/usr/bin/google-chrome-stable - priority 200
Current `best' version is /usr/bin/google-chrome-stable.

Chrome also runs on servers with no desktop at all. Headless mode is what powers PDF generation, screenshot services and scraping jobs, and it works under SELinux enforcing with no policy changes:

google-chrome-stable --headless --disable-gpu --dump-dom https://example.com

We checked ausearch -m avc after the run. Zero denials, so no setsebool or custom policy work is needed for headless use.

Install Chrome Beta, Unstable or Canary

The same repo now serves all four release channels, including Canary, which for years was Windows and macOS only. These are the builds it offered on our test date:

ChannelPackageVersion offered (August 2026)Install path
Stablegoogle-chrome-stable151.0.7922.137/opt/google/chrome
Betagoogle-chrome-beta152.0.7977.42/opt/google/chrome-beta
Unstable (Dev)google-chrome-unstable153.0.8003.0/opt/google/chrome-unstable
Canarygoogle-chrome-canary153.0.8009.0/opt/google/chrome-canary

The channels are separate packages with separate profiles, so they install side by side without touching your stable browser:

sudo dnf install google-chrome-beta

We verified the coexistence on the test system. Query both binaries:

google-chrome-beta --version && google-chrome-stable --version

Each channel answers with its own release:

Google Chrome 152.0.7977.42 beta
Google Chrome 151.0.7922.137

Track what each channel currently ships on the Chrome Releases blog. Beta is fine as a daily driver. Unstable and Canary are for testing upcoming rendering or extension changes, not for anything you rely on. If you are weighing Chromium-family options more broadly, the Edge vs Chrome comparison breaks down where they differ on Linux.

Keep Chrome Updated

Because both install methods end with the google-chrome repo enabled, Chrome upgrades ride along with normal system updates. Nothing extra to configure:

sudo dnf upgrade google-chrome-stable

A plain sudo dnf upgrade picks it up too. To remove the browser, uninstall the package and drop the repo file so dnf stops checking it:

sudo dnf remove google-chrome-stable
sudo rm -f /etc/yum.repos.d/google-chrome.repo /etc/default/google-chrome

That covers the full lifecycle on the RHEL family: repo or RPM to install, dnf for updates, one package per channel if you want the preview builds. The repo method plus dnf upgrade is the setup that needs zero attention afterwards.

Keep reading

Things to Do After Installing CachyOS Arch Linux Things to Do After Installing CachyOS How to Install CachyOS: Step-by-Step Guide Arch Linux How to Install CachyOS: Step-by-Step Guide Install Arch Linux the Easy Way with archinstall Arch Linux Install Arch Linux the Easy Way with archinstall 10 Best Desktop Linux Distributions to Try in 2026-2027 Desktop 10 Best Desktop Linux Distributions to Try in 2026-2027 Install Ultramarine Linux 44 Step by Step (With Screenshots) Desktop Install Ultramarine Linux 44 Step by Step (With Screenshots) Install Apache, MariaDB, PHP (LAMP) on Rocky Linux 9 Rocky Linux Install Apache, MariaDB, PHP (LAMP) on Rocky Linux 9

Leave a Comment

Press ESC to close