The download button is not the interesting part of installing Chrome. The interesting part arrives a month later, when you need to know whether Ubuntu can still find a trusted update. Let’s leave the machine with an answer to that question—not merely a colorful browser icon.

Google distributes Chrome for Debian and Ubuntu as official 64-bit DEB packages. Installing that package also adds Chrome to the package manager, so ordinary APT updates can carry browser security fixes. Chromium is a related open-source project, but it is a different package and product; this page is specifically about Google Chrome.

Read the machine before choosing a download

Terminalbash
lsb_release -ds
dpkg --print-architecture
uname -m

Three labels, one package decision

  • dpkg --print-architecture is the label that matters to the DEB package manager: normally amd64 for x86-64 or arm64 for 64-bit ARM.

  • uname -m commonly reports the same hardware families as x86_64 or aarch64. Different vocabulary is not an architecture mismatch.

  • Google’s current Chrome requirements list 64-bit Ubuntu 18.04 or later, with an SSE3-capable x86-64 processor or an ARM64 processor. Google currently offers both x86-64 and arm64 DEBs.

  • That minimum does not revive an Ubuntu release whose own support has ended. For a browser that handles passwords, sessions, and untrusted web content, use an Ubuntu release still receiving security updates.

Let Google’s page choose the current package

Open the official Chrome download page, choose the DEB for Debian/Ubuntu, select the architecture that matches the earlier result, and save it in Downloads. This deliberate browser step avoids a third-party mirror and avoids freezing a generated download URL into a tutorial long after it changes.

Terminalbash
cd ~/Downloads
ls -lh google-chrome-stable_current_*.deb
dpkg-deb --info ./google-chrome-stable_current_*.deb | sed -n "1,30p"

Metadata is useful, but it is not a magic trust stamp

  • If the glob matches more than one file, replace it with the exact filename. An old amd64 download beside a new arm64 download is an easy way to inspect or install the wrong artifact.

  • dpkg-deb --info only reads the archive; it does not install it or prove who supplied it. Confirm Package: google-chrome-stable and the expected architecture.

  • A locally calculated SHA-256 digest is valuable as a receipt or for comparing two copies, but it does not authenticate a package unless Google provides a trusted expected digest to compare against.

  • The provenance boundary is the official HTTPS download page. Do not substitute a forum attachment, repackaged DEB, or curl | sh shortcut.

Ask APT to install the local DEB

Terminalbash
cd ~/Downloads
sudo apt install ./google-chrome-stable_current_ARCH.deb

Risk level: caution. Review the command before running it.

The small ./ carries real meaning

  • ./ tells APT to install a local file rather than search configured repositories for a package literally named like the filename.

  • ARCH is a placeholder. Replace it with the exact suffix from your download, or type the filename prefix and press Tab to complete it.

  • APT installs the DEB and resolves its declared dependencies through Ubuntu’s configured repositories. This is cleaner than the older dpkg -i followed by a separate repair command.

  • Installing software with sudo changes the system. Read APT’s package summary before confirming; do not approve unexpected removals or a package name other than google-chrome-stable.

Keep the receipt: binary, package, source, candidate

Terminalbash
google-chrome-stable --version
dpkg-query -W -f="${Package} ${Version} ${Architecture}\n" google-chrome-stable
apt-cache policy google-chrome-stable
grep -Rhs "^[[:space:]]*deb .*dl.google.com/linux/chrome/deb" /etc/apt/sources.list /etc/apt/sources.list.d 2>/dev/null

Four checks that answer four different questions

  • The first command proves the stable Chrome executable can start far enough to report its version. The conventional binary is google-chrome-stable.

  • dpkg-query reads the local package database. Its result should agree with the architecture selected at download time.

  • apt-cache policy separates the installed version from APT’s current candidate and shows which configured source supplies it.

  • The final search exposes the repository line. Modern source configuration should use a dedicated signed-by keyring; do not “fix” signature failures with deprecated apt-key, unauthenticated repositories, or [trusted=yes].

Launch it without making the first session mysterious

Terminalbash
google-chrome-stable
xdg-settings get default-web-browser

A successful launch does not silently change every preference

  • You can normally launch Chrome from Ubuntu’s application grid. Starting it in a terminal is useful when the graphical launcher appears to do nothing.

  • xdg-settings get is read-only. Chrome may invite you to make it the default, but that should remain an explicit desktop preference—not an assumption in an install command.

  • Chrome’s sign-in and Sync choices affect account data. Read the prompt rather than treating browser installation, Google account sign-in, and Sync as one inseparable action.

  • Wayland or X11 selection, GPU acceleration, enterprise policy, and desktop portals can affect a session after the package itself is healthy. Diagnose the observed layer before reinstalling.

Let APT prove it can see future updates

Terminalbash
sudo apt update
apt list --upgradable 2>/dev/null | grep -F google-chrome-stable || true
sudo apt install --only-upgrade google-chrome-stable

Risk level: caution. Review the command before running it.

The absence of an upgrade can be good news

  • apt update downloads package indexes and verifies repository signatures; a signature error should stop the investigation, not inspire a trust bypass.

  • grep ... || true allows an empty result when Chrome is already current. It does not suppress errors from the preceding apt update.

  • --only-upgrade refuses to install Chrome if it is absent, which keeps this verification step from unexpectedly becoming a fresh installation.

  • A browser is a high-exposure application. Avoid pinning an old Chrome version merely to silence a compatibility problem; resolve the application or policy conflict and restore security updates.

When installation succeeds but Chrome does not

  • Wrong architecture: compare dpkg --print-architecture with the package metadata. Download the matching official DEB; do not force an incompatible archive.

  • Dependency failure: run sudo apt update, read the exact unsatisfied dependency, and confirm the Ubuntu release is supported. Do not reach for random DEBs from another distribution.

  • Repository signature failure: inspect the source and its signed-by keyring. Never add [trusted=yes], disable authentication, or use an unknown key copied from a comment.

  • Profile will not open: first close every Chrome process and preserve the error text. A stale lock after a crash is different from a damaged profile or a home-directory ownership problem.

  • Sandbox error: do not apply a blanket chmod 4755 from an old answer. Reinstall the official package and verify package-managed files rather than inventing privileged permissions.

  • Blank or unstable window: compare a temporary clean profile and software-rendering test only as diagnosis. GPU flags and alternate display backends are experiments, not permanent universal fixes.

Uninstalling the browser is not deleting the person who used it

Terminalbash
sudo apt remove google-chrome-stable
ls -ld ~/.config/google-chrome ~/.cache/google-chrome 2>/dev/null

Risk level: caution. Review the command before running it.

Package state and personal state part company here

  • apt remove removes the installed browser package. It does not promise to erase every system configuration file, repository entry, browser profile, cache, synchronized server-side record, or active Google session.

  • The ls command is deliberately observational. ~/.config/google-chrome may hold history, cookies, extensions, and local preferences; ~/.cache/google-chrome is disposable cache but can still reveal browsing activity.

  • If you truly intend to erase local profile data, close Chrome, back up anything needed, verify the exact paths, and remove them as your normal user—not with sudo. That destructive choice does not delete data already synchronized to a Google account.

  • On a shared or managed machine, account sign-out, device/session revocation, organizational policy, and local file deletion are separate administrative actions.

Stay with the Ubuntu desktop trail

Primary sources reviewed