How to Install Opera on Debian 13, 12 and 11

Install Opera on Debian 13, 12 and 11 via official APT repo. Covers stable, beta, developer, updates and removal.

Last updatedAuthorJoshua JamesRead time7 minGuide typeDebianDiscussion4 comments

Opera’s Debian packages come from Opera’s own APT repository rather than Debian’s default archive, so the repository setup controls both the first install and future browser updates. The cleanest way to install Opera Browser on Debian Linux is to add Opera’s signed repository as a DEB822 source, confirm the package candidate, and then install the Opera channel you actually want.

The commands target Debian 13 (Trixie), Debian 12 (Bookworm), and Debian 11 (Bullseye). On amd64, Opera currently publishes stable, GX, beta, and developer packages. On arm64, current repository metadata publishes stable and developer packages, so check package availability before choosing GX or beta on ARM systems.

Install Opera Browser on Debian Linux

Refresh Debian’s package index and apply pending package upgrades before adding the Opera repository. Starting from a current package state avoids dependency surprises when APT resolves the browser package.

sudo apt update && sudo apt upgrade

These commands use sudo for tasks that need root privileges. If your account is not configured for sudo yet, switch to root or review how to add a user to sudoers on Debian before continuing.

Use Opera’s Manual DEB822 Repository

For a new Debian install, use Opera’s APT repository with a DEB822 source file. This adapts Opera’s official repository instructions to Debian’s current source-file format, keeps the signing key in a dedicated keyring, and lets Opera update through normal APT upgrades.

Do not add direct Opera .deb downloads or existing extrepo configurations beside this source. They matter only when cleaning up older setups, because package-created .list files or extrepo source files can duplicate the same Opera repository and trigger apt update warnings.

Check Opera Package Availability by Architecture

Check your Debian architecture before choosing a package channel:

dpkg --print-architecture
amd64

Use the package table as the decision surface. The availability reflects Opera’s current repository metadata, not Debian’s default package archive.

PackageChannelamd64arm64Launch Command
opera-stableStable releaseAvailableAvailableopera
opera-gx-stableGX desktop buildAvailableNo current package in metadataopera-gx
opera-betaBeta previewAvailableNo current package in metadataopera-beta
opera-developerDeveloper previewAvailableAvailableopera-developer

On arm64, confirm a candidate with apt-cache policy before installing a non-stable channel. Opera’s repository metadata can change, and APT package policy is the source that matters on your system.

Prepare Debian for Opera’s Manual Repository

Install the small tools needed to download the repository key and save it in APT’s keyring format. ca-certificates keeps HTTPS repository access reliable on minimal Debian installations.

sudo apt install curl gpg ca-certificates

The curl command fetches Opera’s key over HTTPS, while gpg --dearmor converts the ASCII-armored key into the binary keyring format used by the Signed-By field.

Import Opera’s APT Signing Key

Download Opera’s current repository signing key and save it under /usr/share/keyrings/:

curl -fsSL https://deb.opera.com/archive.key | sudo gpg --dearmor --yes -o /usr/share/keyrings/opera-browser.gpg

Verify the saved key before trusting it in the source file:

gpg --show-keys --with-fingerprint /usr/share/keyrings/opera-browser.gpg

The current Opera archive key is the 2025 key with this fingerprint:

pub   rsa3072 2025-05-19 [SC] [expires: 2027-05-19]
      6C86 BE21 4648 3766 80CA  957B 11EE 8C00 B693 A745
uid                      Opera Software Archive Automatic Signing Key 2025 <packager@opera.com>

Add Opera’s DEB822 Source File

Create a DEB822 source file that limits APT to the architecture reported by your Debian system. This avoids asking APT to fetch empty or unsupported architecture indexes.

arch=$(dpkg --print-architecture)

case "$arch" in
  amd64|arm64)
    printf '%s\n' \
      'Types: deb' \
      'URIs: https://deb.opera.com/opera-stable/' \
      'Suites: stable' \
      'Components: non-free' \
      "Architectures: $arch" \
      'Signed-By: /usr/share/keyrings/opera-browser.gpg' | sudo tee /etc/apt/sources.list.d/opera-browser.sources > /dev/null
    ;;
  *)
    printf 'Opera packages are not available for architecture: %s\n' "$arch"
    false
    ;;
esac

The source uses Opera’s codename-neutral stable suite. Debian release codenames such as trixie, bookworm, and bullseye do not appear in this vendor repository file.

Refresh APT and Confirm Opera Packages

Refresh APT so Debian reads the new source:

sudo apt update

Confirm the package candidates and source URL before installing:

apt-cache policy opera-stable opera-gx-stable opera-beta opera-developer

On amd64, current output includes all four Opera channels from https://deb.opera.com/opera-stable:

opera-stable:
  Candidate: 131.0.5877.55
        500 https://deb.opera.com/opera-stable stable/non-free amd64 Packages
opera-gx-stable:
  Candidate: 131.0.5877.57
        500 https://deb.opera.com/opera-stable stable/non-free amd64 Packages
opera-beta:
  Candidate: 126.0.5750.30
        500 https://deb.opera.com/opera-stable stable/non-free amd64 Packages
opera-developer:
  Candidate: 132.0.5903.0
        500 https://deb.opera.com/opera-stable stable/non-free amd64 Packages

Opera version numbers change frequently. The important success signal is a non-(none) candidate from https://deb.opera.com/opera-stable for the package you plan to install.

Install Opera Stable

Install the stable build for daily browsing:

sudo apt install opera-stable

If the installer asks whether Opera should add its own repository file, choose No. The DEB822 source already handles updates, and letting the package add a legacy .list file can create duplicate-source warnings.

Verify the installed stable browser command:

opera --version

Install Opera GX

Install Opera GX when you want the gaming-focused interface and GX-specific defaults. Confirm a candidate first on non-amd64 systems.

sudo apt install opera-gx-stable

Verify the GX command:

opera-gx --version

Install Opera Beta

Install the beta channel when you want near-future Opera features before they reach stable. Beta packages can change behavior sooner than stable releases, so use stable for normal daily browsing.

sudo apt install opera-beta

Verify the beta command:

opera-beta --version

Install Opera Developer

Install the developer channel only for testing early browser changes. It is the least conservative Opera package in the repository.

sudo apt install opera-developer

Verify the developer command:

opera-developer --version

Launch Opera Browser on Debian

Launch Opera from Terminal

Start the installed channel from a terminal with its launcher command:

opera

Use the matching command for other channels:

opera-gx
opera-beta
opera-developer

Launch Opera from the Applications Menu

Desktop installations also add menu entries. In GNOME, open Activities, search for Opera, and choose the channel you installed.

Configure Opera After First Launch

Use Opera’s first-run screen or Settings page to configure the features that made you choose Opera in the first place:

  • Built-in VPN: Open Settings > Privacy and security > VPN, or use the VPN badge in the address bar after the feature is enabled.
  • Ad blocker: Open Settings > Privacy and security and enable Opera’s ad blocking option for the current profile.
  • Sidebar tools: Use the sidebar setup controls to add workspaces, messaging shortcuts, or media tools without installing separate desktop clients.

Update Opera Browser on Debian

Opera updates through APT after the repository is enabled. A normal package upgrade updates Opera alongside the rest of the system:

sudo apt update && sudo apt upgrade

To upgrade only one installed Opera package, refresh package metadata and use --only-upgrade with the package name:

sudo apt update
sudo apt install --only-upgrade opera-stable

Replace opera-stable with opera-gx-stable, opera-beta, or opera-developer when that is the installed channel.

Troubleshoot Opera Browser on Debian

Fix Duplicate Opera Repository Source Warnings

Duplicate-source warnings usually mean Opera’s package script, an older direct .deb install, an older article flow, or an existing extrepo setup left another Opera source beside your DEB822 file. APT can then warn that the same package target is configured more than once.

W: Target Packages (non-free/binary-amd64/Packages) is configured multiple times in /etc/apt/sources.list.d/opera-browser.sources:1 and /etc/apt/sources.list.d/opera-stable.list:4

List Opera-related source files first so you can see what exists:

ls /etc/apt/sources.list.d/*opera* 2>/dev/null

If you are keeping the manual DEB822 source, remove only the package-created legacy files:

sudo rm -f /etc/apt/sources.list.d/opera-*.list
sudo apt update

If the system already uses extrepo for Opera, keep extrepo_opera_stable.sources and remove only the extra opera-*.list files, or migrate fully to the manual DEB822 source before removing extrepo’s Opera files.

Fix Signed-By Conflicts Between Opera Sources

A hard Signed-By conflict means the same Opera source is configured with different key paths. Keep either the manual source or the existing extrepo source, then remove the other set of files.

E: Conflicting values set for option Signed-By regarding source https://deb.opera.com/opera-stable/ stable: /var/lib/extrepo/keys/opera_stable.asc != /usr/share/keyrings/opera-browser.gpg
E: The list of sources could not be read.

To keep the manual DEB822 source and remove extrepo’s Opera files:

if command -v extrepo >/dev/null 2>&1; then
  sudo extrepo disable opera_stable
fi
sudo rm -f /etc/apt/sources.list.d/extrepo_opera_stable.sources
sudo rm -f /var/lib/extrepo/keys/opera_stable.asc
sudo apt update

To keep extrepo and remove the manual source:

sudo rm -f /etc/apt/sources.list.d/opera-browser.sources
sudo rm -f /usr/share/keyrings/opera-browser.gpg
sudo apt update

For broader extrepo source management, review how to manage third-party APT repositories on Debian with extrepo.

Fix Opera Package Not Found

If apt-cache policy shows Candidate: (none), confirm the source file exists, the architecture matches your system, and APT can read Opera’s repository.

dpkg --print-architecture
cat /etc/apt/sources.list.d/opera-browser.sources
sudo apt update
apt-cache policy opera-stable

On arm64, opera-gx-stable and opera-beta may show no candidate even when opera-stable works, because those package names are not present in the current arm64 package index.

Fix Opera Key Import Failures

If gpg reports no valid OpenPGP data found, check whether the key URL returns the expected PGP block:

curl -fsSL https://deb.opera.com/archive.key | head -5
-----BEGIN PGP PUBLIC KEY BLOCK-----

mQGNBGgrEnABDAC3S++y9OPF79pFJApWv5Ke0czoirWLN7a0rzScY2v+9LYWYVfU

If the command returns HTML, a proxy error, or no output, retry from a working network and make sure ca-certificates is installed. If the key URL is temporarily unavailable, wait rather than adding an unsigned source.

Remove Opera Browser from Debian

Uninstall Opera Packages

Remove the installed Opera package. Use the package name that matches your channel:

sudo apt remove --purge opera-stable

For other channels, remove the matching package:

sudo apt remove --purge opera-gx-stable
sudo apt remove --purge opera-beta
sudo apt remove --purge opera-developer

Then remove dependencies that APT no longer needs:

sudo apt autoremove

Remove Opera Repository Files

Remove the repository files only when no Opera channel should remain installed or updated on the system.

For the manual DEB822 method:

sudo rm -f /etc/apt/sources.list.d/opera-browser.sources
sudo rm -f /usr/share/keyrings/opera-browser.gpg

If the system previously used extrepo for Opera:

if command -v extrepo >/dev/null 2>&1; then
  sudo extrepo disable opera_stable
fi
sudo rm -f /etc/apt/sources.list.d/extrepo_opera_stable.sources
sudo rm -f /var/lib/extrepo/keys/opera_stable.asc

Remove package-created legacy source files and Opera’s package-created trusted keys after all Opera sources are gone:

sudo rm -f /etc/apt/sources.list.d/opera-*.list
sudo rm -f /etc/apt/trusted.gpg.d/opera.archive.key.2023.gpg
sudo rm -f /etc/apt/trusted.gpg.d/opera.archive.key.2025.gpg

Refresh APT and confirm Opera no longer has a repository candidate:

sudo apt update
apt-cache policy opera-stable | grep -F 'deb.opera.com' || true

If the command prints no deb.opera.com line, the Opera repository is no longer contributing a package candidate.

Remove Opera User Data

The next command permanently deletes local Opera profiles, including bookmarks, history, saved passwords, extensions, and cache files. Back up profile directories first if you want to keep any browser data.

Create a timestamped backup of any Opera profile directories before deleting them:

backup_dir="$HOME/opera-profile-backups-$(date +%Y%m%d%H%M%S)"

for profile in opera opera-gx opera-beta opera-developer; do
  if [ -d "$HOME/.config/$profile" ]; then
    mkdir -p "$backup_dir"
    cp -a "$HOME/.config/$profile" "$backup_dir/"
  fi
done

Remove Opera profile and cache directories for all channels:

rm -rf ~/.config/opera ~/.config/opera-gx ~/.config/opera-beta ~/.config/opera-developer
rm -rf ~/.cache/opera ~/.cache/opera-gx ~/.cache/opera-beta ~/.cache/opera-developer

For Chromium-based alternatives, compare Google Chrome on Debian, Brave on Debian, Vivaldi on Debian, and Chromium on Debian. For a browser from Debian’s default archive, review Firefox on Debian.

Conclusion

Opera is installed from a signed APT repository with a verified package candidate, a clear channel choice, and a cleanup path for both repository files and browser profiles. Keep one Opera source path active, choose stable for normal browsing, and use GX, beta, or developer only when those channel trade-offs match the workstation.

Share this guide

Help another Linux user troubleshoot faster

Share this guide with someone troubleshooting Linux systems or saving it for later.

Follow LinuxCapable

Want more LinuxCapable guides in Google?

Add LinuxCapable as a preferred source so Google can show more of our fresh Linux tutorials in Top Stories and From your sources when relevant.

Add LinuxCapable as a preferred source on Google
Search LinuxCapable

Need another guide?

Search LinuxCapable for package installs, commands, troubleshooting, and follow-up guides related to what you just read.

Found this guide useful?

Support LinuxCapable to keep tutorials free and up to date.

Buy me a coffeeBuy me a coffee

4 thoughts on “How to Install Opera on Debian 13, 12 and 11”

  1. An Excellent guide. Very clear and every instruction worked exactly as stated,
    I installed Opera and then uninstalled it and removed repositories.
    I just did not like opera – too much unnecessary bloat
    I have added linuxcapable to my favourites
    Mike

    Reply
  2. I had Opera 119 installed (I can’t remember how I did it), but, it wasn’t upgrading. Following your instructions I got Opera 123.

    There was one little hitch. “apt update” complained about stuff configured multiple times. I was able to get rid of the complaints by renaming /etc/apt/sources.list.d/opera-stable.list (I assume that was created when I initially installed Opera 119 (your instructions create opera.list)), but, something recreated it as an empty file. How do I clean that up?

    Reply
    • Thanks for reporting this, Christopher, and glad you’re on Opera 123 now. The duplicate entries warning happens because Opera’s installer creates its own opera-stable.list file alongside the opera.sources file configured in the guide.

      Simply delete the duplicate file:

      sudo rm /etc/apt/sources.list.d/opera-stable.list

      This is a one-time fix. The file is only created during initial installation and will not be recreated during future updates. After removing it, run sudo apt update and the warnings should be gone.

      Reply
Before commenting, please review our Comments Policy.
Formatting tips for your comment

You can use basic HTML to format your comment. Useful tags currently allowed in published comments:

You type Result
<code>command</code> command
<strong>bold</strong> bold
<em>italic</em> italic
<blockquote>quote</blockquote> quote block

Got a Question or Feedback?

We read and reply to every comment - let us know how we can help or improve this guide.

Verify before posting: