How to install 64-bit Google Chrome 28+ on 64-bit RHEL/CentOS 6 or 7

The problem

Google developers seem to think that Red Hat Enterprise Linux 6 - aka RHEL 6 - and its free equivalents (e.g. CentOS 6 and Scientific Linux 6) are no longer worth supporting at all w.r.t. their Google Chrome browser from version 28 onwards. This is mainly because Google are using very recent Linux build systems which produce backwards-incompatible binaries. This really isn't a wise move when you're shipping closed source binaries.

It seems Google missed the fact that RHEL/CentOS 6 are both fully supported by their respective maintainers until November 2020. Sadly, Mozilla Firefox 46+ has gone the same way - it has system requirements that RHEL/CentOS 6 no longer meets. Unfortunately, I've failed find a solution - the switch to GTK+3 with Firefox is just too difficult to workaround.

I've built Chromium from regularly pulled source code in the past for CentOS 5 and it's a tough job on that platform and I didn't want to do it again for CentOS 6. Note that RHEL/CentOS 7 users are also catered for, so please keep reading if you're on that platform. Also please note that 32-bit Google Chrome for Linux is no longer supported by Google and is no longer available for download.

The solution

By using a later libstdc++ library and putting it in a tree exclusively picked up by Google Chrome, you can indeed run the latest 64-bit Google Chrome on 64-bit RHEL/CentOS 6.6 or later. CentOS 6 systems need libstdc++ from a gcc 6.1.0 build (I supply a 339K download of that library from this site - if you are concerned about this, please read this explanation). There is also a small patch to the libgnome-keyring library required to resolve a missing symbol.

The download

It's strongly recommended that you run "yum update" as root (and reboot if this installs a new kernel) before you download and run the script below. This will often fix previously known issues when running Google Chrome. 7.31 (15th May 2016 - wget is now installed/updated early on, added dbus and selinux-policy as new dependencies, out-of-date dependencies are now updated)

It's a bash shell script, so you download and run it as root as follows:

chmod u+x

The script has optional command line arguments - here's the output of "./ -h":

Syntax: ./ [-b] [-d] [-f [-f [-f]]] [-h] [-n] [-q] [-s]
        [-t tmpdir] [-u] [-U]

-b (or --beta) will switch to beta versions (google-chrome-beta).
-d (or --delete) will delete the temporary directory used for downloads
   if an installation was successful.
-f (or --force) forces an automatic "y" for any interactive prompting
   except for OS mismatch/OS upgrade/reboot prompts. Specify -f twice to force
   it for OS mismatches or OS upgrades as well and three times for reboots
   on top of that.
-h (or -? or --help) will display this syntax message.
-n (or --dryrun) will show what actions the script will take,
   but it won't actually perform those actions.
-q (or --quiet) will switch to "quiet mode" where minimal info is displayed.
   Specify -q twice to go completely silent except for errors.
-s (or --stable) will switch to stable versions (google-chrome-stable),
   which is the default if -b or -U haven't previously been specified.
-t tmpdir (or --tmpdir tmpdir) will use tmpdir as the temporary directory
   parent tree rather than $TMPDIR (if set) or /tmp.
-u performs an uninstallation of Google Chrome and chrome-deps rather the
   default action of an installation.
-U (or --unstable) will switch to unstable versions (google-chrome-unstable).

I would recommend you read the comments at the top of the script and inspect the code carefully since you need to run it as root. It will perform a fair number of downloads to obtain what it needs and if it finishes successfully, you should be able to run the "google-chrome" command (or select it from the Internet category in your GNOME main menu) as a non-root user.

The support banner displayed by RHEL/CentOS 6 Google Chrome 48+

Google Chrome 48 onwards now checks the glibc version and will display a beige banner on startup that the environment is not supported if glibc is less than version 2.17 (which it is in RHEL/CentOS 6). Despite the banner, RHEL/CentOS 6 still runs the latest Google Chrome OK, but this may not be the case with future releases.

The dropping of NPAPI support for plug-ins (especially Java)

In a stunningly stupid move, Linux Google Chrome 35 onwards no longer supports the NPAPI plug-in protocol used by almost all browser plug-ins, instead preferring the PPAPI protocol. The biggest impact this has is to disable Java applets inside the browser, so if you need to use Java applets regularly, I'm afraid I'd have to recommend switching browsers (e.g. to Mozilla Firefox) until there's a Linux Java implementation that supports PPAPI.

The changelog

The TODO list

The compatibility note

Please note that RHEL/CentOS 6 and 7 references on this page should hopefully equally cover all RHEL/CentOS 6 and 7 derivatives. I have now moved to CentOS 7 on bare metal, but do CentOS 6 testing in a 64-bit VM. Someone's bound to ask: no, the script won't work with RHEL/CentOS 5 or earlier.

The feedback

Any bugs, fixes, improvements or suggestions should be fed back to me, Richard K. Lloyd, at but please note there is no warranty on this product whatsoever and the script itself is in the public domain. Bemusingly, one ultimate feedback was a tutorial video someone uploaded to YouTube!

The defence (no, it doesn't eat raw orphaned kittens)

Apparently one of the guys on the CentOS mailing list really doesn't like my script, claiming that it "consumes raw orphaned kittens" and "should be classified as a criminal offense". Here's my response:

The ChromeDriver server (Web app developers only)

If you're a Web app developer and have just installed Google Chrome via my script, you may also be trying to run the ChromeDriver server on RHEL/CentOS 6 to automate the testing of your app. Sadly, after downloading and unpacking it (and making sure you got the latest 32-bit or 64-bit version), you'll find it has a familiar library problem very similar to Google Chrome's. However, this is easily fixed by simply using the extra libraries from your Google Chrome installation:

export LD_LIBRARY_PATH=/opt/google/chrome/lib
[Should output: Starting ChromeDriver (v2.9.248304) on port 9515]

The non-solution at Red Hat's Customer Portal

I was bemused to find this on the Red Hat Customer Portal. Basically, it says "Google Chrome doesn't install in RHEL 6", gives a bunch of failed yum install outputs and, er, that's it. Even funnier is that it has a capitalised green "SOLUTION VERIFIED" statement just below the heading :-) Maybe they need to link to this page...

The Chromecast

If you have a Chromecast, you can install the Google Cast extension in Google Chrome by going to the Extensions section of the Chrome Web store and searching for "Google Cast". You can then cast a tab from your RHEL/CentOS Google Chrome, though it can be laggy. More info (from a UK/Linux/Android perspective) about Chromecast can be found on my sister site.