This guide walks through installing Google Chrome on Ubuntu using Google’s official APT repository, giving you automatic security updates and access to stable, beta, or developer builds. Whether you need Chrome for web development testing, accessing Google Workspace apps, or browsing sites that work best with Chromium-based browsers, the repository method ensures your installation stays current without manual downloads.
By the end, you’ll have Google Chrome running on Ubuntu with proper repository configuration, GPG key management, and the knowledge to troubleshoot duplicate repository warnings that can occur when switching between Chrome channels.
Prepare Ubuntu Before Installing Google Chrome
Before installing Google Chrome, refresh your package list and install the tools needed for secure repository management. These steps ensure APT can fetch packages over HTTPS and verify the GPG signature on Chrome packages.
This guide is tested on Ubuntu 22.04 LTS and 24.04 LTS. The Google Chrome repository supports all active Ubuntu releases, including interim versions. Commands work identically across supported versions.
Update Package List and Install Prerequisites
Refresh your system’s package index:
sudo apt update
Next, install the packages necessary for adding the Google Chrome repository and downloading the browser securely:
sudo apt install ca-certificates curl gnupg -y
These packages handle HTTPS connections, provide the GPG (GNU Privacy Guard) tooling required for the key import, and include the curl utility to download the repository signing key in the next section. If you prefer sandboxed browser installations, set up Flatpak on Ubuntu first, though Chrome is not available on Flathub.
Select Your Chrome Version
Google offers three development channels. Choose Stable for daily use, Beta to preview upcoming features, or Dev for bleeding-edge testing.
| Chrome Version | Recommended For | Stability |
|---|---|---|
| Stable | General browsing, daily use | High |
| Beta | Previewing upcoming features | Moderate |
| Unstable (Dev) | Development testing | Low (Bleeding edge) |
Add the Official Google Chrome APT Repository
Since Google Chrome isn’t included in Ubuntu’s default repositories, you need to add Google’s official APT (Advanced Package Tool) repository. This allows your Ubuntu system to download and install Google Chrome directly from Google’s servers, ensuring you receive security updates automatically.
Google publishes Chrome for 64-bit (amd64) Ubuntu systems only. If you run a 32-bit installation, use an alternative browser such as Chromium or Firefox.
Import Google’s Repository Signing Key
The GPG key is required to verify the authenticity of the Google Chrome packages. Download Google’s public key and store it in the system keyring directory:
curl -fSsL https://dl.google.com/linux/linux_signing_key.pub | gpg --dearmor | sudo tee /usr/share/keyrings/google-chrome.gpg > /dev/null
This command downloads Google’s public key, converts it to binary format, and stores it in the system keyring directory. Your system can now verify and trust Google Chrome repository packages during installation and updates.
Create the Google Chrome Repository File
Once the GPG key is imported, add the Google Chrome repository to your system using the modern DEB822 format:
cat <<EOF | sudo tee /etc/apt/sources.list.d/google-chrome.sources
Types: deb
URIs: https://dl.google.com/linux/chrome/deb/
Suites: stable
Components: main
Architectures: amd64
Signed-By: /usr/share/keyrings/google-chrome.gpg
EOF
Ubuntu 24.04 LTS defaults to DEB822
.sourcesformat for repository configuration. Ubuntu 22.04 LTS supports both.sourcesand legacy.listformats, but.sourcesis preferred for consistency across both LTS releases.
Refresh the Package Lists
After adding the repository, refresh your system’s package list to include the new Google Chrome repository:
sudo apt update
This command updates the APT package index, ensuring Google Chrome packages are now available for installation from the repository.
Verify the Repository Configuration
Confirm the repository is correctly configured by checking the package source:
apt-cache policy google-chrome-stable
The output should show the Google repository as the package source:
google-chrome-stable:
Installed: (none)
Candidate: 131.0.6778.108-1
Version table:
131.0.6778.108-1 500
500 https://dl.google.com/linux/chrome/deb stable/main amd64 Packages
If you see the https://dl.google.com URL in the output, the repository is working correctly. The version number will vary as Google releases updates.
Install Your Preferred Google Chrome Channel
Now that the repository is configured, choose the Chrome channel that fits your needs. Generally, the stable version is recommended for most users, while beta and unstable (dev) versions provide early access to experimental features.
Install the Stable Channel
Specifically, the stable version receives updates after thorough testing by Google’s quality assurance teams:
sudo apt install google-chrome-stable
Once installation completes, verify the build version:
google-chrome --version
Google Chrome 131.0.6778.108
Install Beta or Dev Builds
For early access to experimental features, install the beta or unstable (developer) versions. However, these channels are less stable for daily use but provide cutting-edge features.
Install the beta version with this command:
sudo apt install google-chrome-beta
Next, verify the beta installation:
google-chrome-beta --version
Google Chrome 132.0.6834.6 beta
Alternatively, for the unstable (developer) version, use:
sudo apt install google-chrome-unstable
Then, verify the unstable installation:
google-chrome-unstable --version
Google Chrome 133.0.6888.2 dev
Consequently, the unstable channel provides the earliest access to new features but may contain bugs and stability issues unsuitable for production environments.
Launch Google Chrome
CLI Methods to Launch Google Chrome
From the terminal, launch Google Chrome using these commands based on the channel you installed:
First, launch the stable version:
google-chrome
Alternatively, for the beta version:
google-chrome-beta
Finally, for the unstable version:
google-chrome-unstable
GUI Method to Launch Google Chrome
Alternatively, to open Google Chrome using the GUI, follow these steps:
- Click on ‘Activities’ located at the top-left corner of your screen.
- Next, click ‘Show Applications,’ typically represented by a grid of dots at the screen’s bottom-left corner.
- Finally, look for ‘Google Chrome’ among the applications. If you have multiple versions installed, they will be listed as ‘Google Chrome (Stable),’ ‘Google Chrome (Beta),’ and ‘Google Chrome (Unstable).’ Click on the one you wish to launch.

Customize Google Chrome During First Launch
When you open Google Chrome for the first time on Ubuntu, several prompts help configure the browser for your preferences. These initial setup steps are optional but personalize your browsing experience.
Respond to the Keychain Password Prompt
During the initial launch, Google Chrome may prompt you to set up a keychain password. This step is optional but recommended to secure your saved passwords for websites and applications.
- Enter your desired password or the system password when prompted.
- Dismiss the prompt by clicking “Cancel” if you don’t need keychain protection.
Set Chrome as Default Browser (Optional)
Chrome will ask whether you’d like to make it the default browser. To streamline your browsing experience, you can enable this option:
- Click “Set as Default” to replace your current default browser (usually Firefox on Ubuntu).
- Skip this step by closing the prompt if you prefer to keep your current default.
Control Chrome Usage Data Sharing
Chrome will display an option to send usage statistics and crash reports to Google. This data helps improve Chrome. Participation is optional; select or deselect the checkbox based on your privacy preferences.
Sign In to Sync Chrome Data (Optional)
Finally, Chrome allows you to sign in with your Google account to sync bookmarks, history, and settings across devices. This is optional, and you can skip it by clicking the “X” in the sign-in tab.
Once you’ve completed these initial setup steps, Chrome is ready for use. You can start exploring its features, install extensions, and customize the interface to fit your workflow.
Manage Google Chrome
Keep Google Chrome Updated
Keeping Google Chrome updated ensures access to the latest features, security improvements, and bug fixes. The APT repository you configured earlier handles Chrome updates automatically alongside your system packages.
Refresh Package Lists for Available Updates
First, refresh your system’s package list by running the following command:
sudo apt update
Then, update all upgradable packages, including Google Chrome:
sudo apt upgrade
Upgrade Only Google Chrome (Optional)
Alternatively, if you only want to update Google Chrome without upgrading other packages, use the following command for the channel installed on your system:
Run this command to update the stable channel only:
sudo apt install --only-upgrade google-chrome-stable
Use the following command for the beta channel:
sudo apt install --only-upgrade google-chrome-beta
When working with the unstable (dev) build, run:
sudo apt install --only-upgrade google-chrome-unstable
This targeted approach upgrades only Chrome, leaving other system packages at their current versions until you choose to update them.
Uninstall Google Chrome and Clean Up Its Repository
If you no longer need Google Chrome, you can completely remove it from your Ubuntu system along with its repository configuration.
Remove the Chrome Packages
Use the appropriate command based on the version you installed. For the stable version:
sudo apt purge google-chrome-stable
For the beta version:
sudo apt purge google-chrome-beta
For the unstable version:
sudo apt purge google-chrome-unstable
Then, remove unused dependencies:
sudo apt autoremove --purge
Delete the Repository Files
After uninstalling Chrome, clean up your package manager by removing the repository files. The installer may have created both .sources and .list files, so remove both:
sudo rm -f /etc/apt/sources.list.d/google-chrome.sources /etc/apt/sources.list.d/google-chrome.list
sudo rm -f /usr/share/keyrings/google-chrome.gpg
Refresh your package lists after removing the repository:
sudo apt update
Verify the repository is no longer active:
apt-cache policy google-chrome-stable
If removal succeeded, this command produces no output since the package is no longer available from any repository.
Remove User Data (Optional)
Warning: The following commands permanently delete your Chrome profile data, including bookmarks, saved passwords, extensions, and browsing history. If you want to preserve this data for a future Chrome reinstallation, skip this step or back up the directories first.
To completely remove all Chrome data from your home directory:
rm -rf ~/.config/google-chrome*
rm -rf ~/.cache/google-chrome*
rm -rf ~/.local/share/applications/google-chrome*.desktop
After running these commands, Google Chrome is fully removed from your system with no residual configuration or cache files.
Fix Duplicate Google Chrome Repository Entries
Over time, managing multiple versions of Google Chrome, such as stable, beta, and unstable, can create conflicts in your package manager. This issue arises when each version generates its own source list file in the /etc/apt/sources.list.d/ directory, leading to duplicate entries during an apt update. As a result, these duplicates can cause errors and prevent successful updates.
Detect Duplicate Repository Files
First, check if you have duplicate Chrome repository entries. Run this command to list all Chrome-related repository files:
ls -la /etc/apt/sources.list.d/google-chrome* 2>/dev/null || echo "No Chrome repository files found"
If you see multiple files (such as google-chrome.list, google-chrome-beta.list, google-chrome.sources), you have duplicate entries. A single file is normal. If you see “No Chrome repository files found,” Chrome’s repository was never configured or was already removed.
When running sudo apt update with duplicates present, you’ll see warnings like this:
W: Target Packages (main/binary-amd64/Packages) is configured multiple times in /etc/apt/sources.list.d/google-chrome.list:1 and /etc/apt/sources.list.d/google-chrome.sources:1 W: Target Packages (main/binary-all/Packages) is configured multiple times in /etc/apt/sources.list.d/google-chrome.list:1 and /etc/apt/sources.list.d/google-chrome.sources:1
Therefore, these warnings indicate the same repository is defined in multiple files, causing APT to process duplicate entries unnecessarily.
Remove Repository Files for Unused Channels
Next, remove the repository files for Chrome versions you don’t use. Chrome installers automatically create these files, and each version (stable, beta, unstable) creates its own entry. If you only use the stable version, remove the others.
Remove beta version repository:
sudo rm /etc/apt/sources.list.d/google-chrome-beta.list
Remove unstable version repository:
sudo rm /etc/apt/sources.list.d/google-chrome-unstable.list
After removing unwanted repository files, verify the warnings are gone:
sudo apt update
If you still see duplicate warnings, you likely have both .list and .sources formats pointing to the same repository. In that case, move on to the clean-slate approach.
Remove All Chrome Repository Files
If the previous cleanup didn’t resolve the warnings, or if you’re unsure which files are causing conflicts, remove all Chrome repository files and start fresh. This approach works when you have mixed .list and .sources formats or leftover files from previous installations.
sudo rm /etc/apt/sources.list.d/google-chrome*
This command removes all Chrome repository files regardless of format. Chrome remains installed, and only the repository configuration is deleted. Recreate the repository in the following subsection.
Recreate a Single Repository Entry
After cleaning up duplicate files, recreate the Chrome repository using one format only. Choose based on your Ubuntu version and avoid mixing formats.
Recreate the Chrome repository using the modern DEB822 format, which works on all current Ubuntu versions:
cat <<EOF | sudo tee /etc/apt/sources.list.d/google-chrome.sources
Types: deb
URIs: https://dl.google.com/linux/chrome/deb/
Suites: stable
Components: main
Architectures: amd64
Signed-By: /usr/share/keyrings/google-chrome.gpg
EOF
Update your package list and verify no warnings appear:
sudo apt update
If the update completes without duplicate repository warnings, the issue is resolved. Chrome will continue receiving updates through this single, properly configured repository file.
Prevent Duplicate Warnings After Installation
Chrome’s installer creates a google-chrome.list file during installation, even when you use the DEB822 .sources format. Remove the redundant file:
sudo rm /etc/apt/sources.list.d/google-chrome.list
Verify the fix resolved the warnings:
sudo apt update
Regular package upgrades (
apt upgrade) do not regenerate this file. Only a fresh install or reinstall would recreate it, so this is a one-time fix.
Helpful Resources for Google Chrome on Ubuntu
Enhance your Google Chrome experience on Ubuntu Linux with these helpful resources:
- Google Chrome Release Blog: Find updates on the latest stable, beta, and developer Chrome versions to stay current with new features.
- Chrome Developer Release Notes: Learn about the latest changes, fixes, and developer-focused updates in each release.
- Google Chrome Help Center: Get answers to common questions, troubleshoot issues, and explore official guides to optimize your browser.
- Chrome Web Store: Customize your browsing experience with extensions, apps, and themes designed for Google Chrome.
These links provide everything you need, from updates to customization, ensuring a smooth and productive experience with Google Chrome on Ubuntu Linux.
Key Takeaways for Google Chrome on Ubuntu
You now have Google Chrome configured with Google’s official APT repository, receiving automatic security updates alongside your system packages. The DEB822 repository format ensures clean integration with modern Ubuntu releases, and the troubleshooting section covers the duplicate repository warnings that commonly affect users who switch between Chrome channels.
To build on this setup, consider installing Chromium on Ubuntu as an open-source alternative for testing, or explore Brave Browser on Ubuntu for privacy-focused browsing with the same Chromium engine. For additional browser options, Vivaldi on Ubuntu offers extensive customization, while Firefox on Ubuntu provides a completely independent rendering engine.
I did this installation and everything worked without any error messages until the last command to get Google Chrome. Ubuntu looks great and will replace Windows. But I absolutely need the JW app from Google Chrome. I downloaded the APK from jw.org, but Ubuntu didn’t accept it and told me to get the DEB file. Please have some patience with me — I’m 79 years old and technology has always been my life. Years ago, I helped many friends switch from Windows 7 to 10. Now I’m thinking about moving many PCs to Linux. There are many people on this Earth with older PCs who can’t always afford the latest, so Linux would be better — and this can also be promoted. I look forward to the day when this works! Thank you for your understanding,
Michel
Thanks! I was getting this error when doing “sudo apt update”:
“The following signatures could not be verified because the public key is not available: NO_PUBKEY 32EE5355A6BC6E42
Failed to fetch http://dl.google.com/linux/chrome/deb/dists/stable/InRelease The following signatures could not be verified because the public key is not available: NO_PUBKEY 32EE5355A6BC6E42″
I had to do this before I was able to install Chrome again using the apt method outlined above.
sudo rm /etc/apt/sources.list.d/google.list*
Before that I had also deleted the chrome keys.
Thanks for sharing this, Ben. The
NO_PUBKEYerror indicates APT cannot verify the repository signature because the GPG key is missing or incorrectly configured. Your solution of removing the old repository files and keys, then re-importing fresh copies, is exactly the right approach.For others encountering this issue, follow the Import Google Chrome APT Repository section from the beginning. First, import the GPG key:
Then add the repository with the correct keyring reference:
This ensures APT can verify Google’s repository signatures and prevents the
NO_PUBKEYerror from recurring.Trying to install Chrome on a fresh Ubuntu-Unity 24.04.1 machine and while following the instructions for apt I keep getting this response, and I’m unable to install chrome.
$ sudo apt update
Hit:1 http://security.ubuntu.com/ubuntu noble-security InRelease
Ign:2 http://dl.google.com/linux/chrome/dev stable InRelease
Hit:3 http://archive.ubuntu.com/ubuntu noble InRelease
Hit:4 http://archive.ubuntu.com/ubuntu noble-updates InRelease
Hit:5 http://archive.ubuntu.com/ubuntu noble-backports InRelease
Err:6 http://dl.google.com/linux/chrome/dev stable Release
404 Not Found [IP: 172.217.169.46 80]
Reading package lists… Done
E: The repository ‘http://dl.google.com/linux/chrome/dev stable Release’ does not have a Release file.
N: Updating from such a repository can’t be done securely, and is therefore disabled by default.
N: See apt-secure(8) manpage for repository creation and user configuration details.
The IP address changes occasionally, which I assume is just different mirrors.
Any suggestions or obvious fixes?
Thanks for reporting this. The 404 error shows your repository configuration points to
http://dl.google.com/linux/chrome/devinstead of the correct pathhttp://dl.google.com/linux/chrome/deb/. Notice the difference:chrome/dev(incorrect) versuschrome/deb/(correct).Remove the incorrect repository file:
Then re-add the repository using the correct URL from the Import Google Chrome APT Repository section:
Update your package lists and Chrome should install successfully:
OK thx – still not working but will investigate further.
Hi Arnfinn,
Actually, maybe just run the ping command like:
ping dl.google.com
Also, you did install the initially required packages?
sudo apt install curl software-properties-common apt-transport-https ca-certificates -y
Re-tested using a VPN connection, works fine, it will be something minor i suspect.
Hope it works out.
Trying now and get:
curl -fSsL https://dl.google.com/linux/linux_signing_key.pub | gpg –dearmor | sudo tee /usr/share/keyrings/google-chrome.gpg > /dev/null
curl: (6) Could not resolve host: dl.google.com
gpg: no valid OpenPGP data found.
Thanks for reporting this. The
curl: (6) Could not resolve hosterror indicates your system cannot resolve dl.google.com through DNS. The GPG error follows because curl received no data to process.First, verify your network connection works and test DNS resolution with nslookup:
If nslookup fails, your DNS configuration needs attention. Check
/etc/resolv.conffor valid nameservers or temporarily switch to Google’s DNS (8.8.8.8) in your network settings. If you’re behind a corporate firewall or proxy, configure curl to use your proxy with the-xflag or set thehttp_proxyenvironment variable.Once DNS resolution works, retry the curl command from the guide. Let me know the nslookup output if the issue persists.