How to install Google Chrome 28+ on CentOS 6
Sadly, the Google folks apparently think that the world’s most popular commercial Linux (Red Hat Enterprise Linux aka RHEL) and its free equivalents (e.g. CentOS and Scientific Linux) are no longer worth supporting at all w.r.t. their Google Chrome browser.
Yes, they’ve dropped support for version 6.X of the above RHEL-based platforms from Google Chrome 28 onwards, despite the OSes being the latest release and fully supported by their respective maintainers until November 2020! It’s equally bad that the latest Mozilla Firefox and Opera browsers run happily on the platforms, providing short shrift for any excuses the Google folks have come up with to justify their somewhat blinkered support stance.
Luckily, there is a solution to this and it’s not rocket science or that original either. You need to grab libraries from a more recent Linux distro, put them in a tree (/opt/google/chrome/lib) exclusively picked up by Google Chrome and then you can indeed run Google Chrome on CentOS 6.4 or later.
I’ve picked Fedora 15 RPMs to extract the libraries from because they’re the closest to CentOS 6’s libraries and the oldest ones to actually work with the latest Google Chrome release. Before you ask, I’ve tried the Fedora 16 libraries and the Google Chrome binary crashes using those. Without further ado, I present to you…
install_chrome.sh 4.20 (22nd August 2013 – use yum check-update ahead of OmahaProxy if possible, don’t rely on exact OmahaProxy versions [any newer version will do] when installing, removed terminal warning because of Google Chrome 29 fix)
It’s a bash sell script, so you run it as root as follows:
chmod u+x install_chrome.sh ./install_chrome.sh
In order for nacl_helper to start correctly, the current release requires you to disable SELinux e.g. temporarily with “echo 0 >/selinux/enforce” as root or permanently by editing /etc/selinux/config to set SELINUX=permissive and then rebooting. A future release will hopefully set some SELinux policies to avoid this requirement.
The script has optional command line arguments – here’s the output of “./install_chrome.sh -h”:
Syntax: ./install_chrome.sh [-b] [-d] [-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. -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 do a fair amount of downloads to get what it needs and if it finishes successfully, you should be able to run the “google-chrome” command as a non-root user.