I needed Chrome 136.0.7103.92 for testing a CVE, but Google's repo only keeps the latest stable. Here's how I got it running alongside my regular Chrome install. Writing this down for next time, but maybe it'll help someone else too.
Warning: Old browsers have security vulnerabilities. Only use for testing, never for normal browsing.
Google stores old builds at https://dl.google.com/linux/chrome/deb/pool/main/g/google-chrome-stable/
. You can grab version numbers from the Chrome releases blog and build the URL:
https://dl.google.com/linux/chrome/deb/pool/main/g/google-chrome-stable/google-chrome-stable_136.0.7103.92-1_amd64.deb
Don't use dpkg -i
- that'll downgrade your system Chrome. Instead, just extract the files:
export CHROME_DIR="$HOME/opt/chrome-136"
mkdir -p "$CHROME_DIR"
wget -O /tmp/chrome.deb \
https://dl.google.com/linux/chrome/deb/pool/main/g/google-chrome-stable/google-chrome-stable_136.0.7103.92-1_amd64.deb
sudo dpkg -x /tmp/chrome.deb "$CHROME_DIR"
Chrome's sandbox needs root ownership and setuid bit, or it won't start:
sudo chown root:root "$CHROME_DIR/opt/google/chrome/chrome-sandbox"
sudo chmod 4755 "$CHROME_DIR/opt/google/chrome/chrome-sandbox"
If your home is mounted with nosuid
, you'll need to move this somewhere else like /opt
.
"$CHROME_DIR/opt/google/chrome/google-chrome" \
--user-data-dir="$HOME/.config/chrome-136" \
--disable-component-update
The separate user data directory keeps your profiles from getting mixed up. The component update flag stops Chrome from trying to update itself.
If the sandbox setup doesn't work, add --no-sandbox
but understand you're disabling security features.
When you're done testing:
rm -rf "$CHROME_DIR" "$HOME/.config/chrome-136"
That's it. Works fine for reproducing bugs or testing against specific Chrome versions without messing up your main install.