If you want Opera’s built-in VPN, ad blocker, and sidebar tools without managing random download files, install Opera Browser on Debian Linux from Opera’s official APT repository. This keeps updates in your normal apt workflow and makes version checks straightforward.
These steps apply to Debian 13, 12, and 11 using either Debian’s extrepo method or a manual DEB822 repository file. After setup, you can install opera-stable, opera-gx-stable, opera-beta, or opera-developer depending on how quickly you want new features.
Instructions cover Debian 13 (Trixie), Debian 12 (Bookworm), and Debian 11 (Bullseye). Opera’s APT repository uses a universal
stablesuite, so the repository setup stays the same across supported releases.
Install Opera Browser on Debian Linux
Start with a full package index refresh before enabling the Opera repository.
sudo apt update && sudo apt upgrade
This guide uses
sudofor commands that need root privileges. If your account is not in the sudoers file yet, switch to root or review how to add a user to sudoers on Debian.
Choose one repository setup method below, then continue to package installation.
| Method | Channel | Updates | GPG Key Management | Best For |
|---|---|---|---|---|
| extrepo (Recommended) | Opera APT Repository | Automatic via APT | Automatic | Most users; quick setup with minimal configuration |
| Manual Repository | Opera APT Repository | Automatic via APT | Manual download | Scripted deployments, custom configurations, or learning APT internals |
Use only one installation method. Do not configure both extrepo and the manual DEB822 repository on the same machine. Both methods target the same Opera source with different
Signed-Bypaths, which can breakapt updatewith a hard conflict error.
For most systems, pick extrepo. It manages repository metadata and signing keys automatically. Use the manual method when you need explicit control over source files and key locations.
Method 1: Install Opera on Debian with extrepo
The extrepo tool is Debian’s official utility for managing external repositories. It handles GPG key downloads, repository configuration, and version detection automatically, which makes it the simplest way to install Opera on Debian.
Install extrepo on Debian
Install the extrepo package from Debian’s repositories:
sudo apt install extrepo
Enable the extrepo Non-Free Policy
Since Opera is proprietary software, extrepo requires enabling the non-free policy before you can add Opera’s repository. You can do this with a single command:
sudo sed -i 's/# - non-free/- non-free/' /etc/extrepo/config.yaml
The command removes the comment marker from - non-free in /etc/extrepo/config.yaml, which allows extrepo to use non-free repository definitions such as Opera.
If you prefer to edit the file manually, open
/etc/extrepo/config.yamlin a text editor and remove the#character from the- non-freeline underenabled_policies.
Verify Opera Repository Availability
Before enabling the repository, confirm that extrepo can find Opera’s repository definition:
extrepo search opera
You should see output similar to the following:
Found opera_stable: --- description: The Opera Browser (final releases) policy: non-free source: Architectures: amd64 i386 Components: non-free Suites: stable Types: deb URIs: https://deb.opera.com/opera-stable
This output confirms that extrepo recognizes the Opera repository and has the correct metadata to configure it.
Enable the Opera Repository with extrepo
With the non-free policy enabled, add Opera’s official repository:
sudo extrepo enable opera_stable
Despite the name
opera_stable, this single repository providesopera-stable,opera-gx-stable,opera-beta, andopera-developer.
Update the package index so APT can read packages from the newly added repository:
sudo apt update
Verify that APT recognizes the Opera repository and lists available packages:
apt search opera
You should see Opera packages for stable, GX, beta, and developer channels:
opera-beta/stable 126.0.x amd64 Fast and free alternative web browser (beta stream) opera-developer/stable 130.0.x amd64 Fast and free alternative web browser (developer stream) opera-gx-stable/stable 127.0.x amd64 Fast and free alternative web browser (gaming stream) opera-stable/stable 128.0.x amd64 Fast and free alternative web browser
Confirm the repository source by checking package policy:
apt-cache policy opera-stable
opera-stable:
Installed: (none)
Candidate: 128.0.x
Version table:
128.0.x 500
500 https://deb.opera.com/opera-stable stable/non-free amd64 Packages
The version numbers in your output will reflect the current Opera releases at the time of installation. The key indicator of success is seeing the
https://deb.opera.comURL in the version table.
Once verified, continue to the Install Opera Packages on Debian section below.
Method 2: Install Opera on Debian with Manual DEB822 Repository
Alternatively, if you prefer explicit control over repository configuration or need to script the installation, you can set up Opera’s repository manually using the modern DEB822 format. This approach gives you full visibility into the GPG key and repository configuration being added to your system.
Install Manual Method Prerequisites
Before proceeding, install the required tools for downloading and verifying the GPG key:
sudo apt install curl gpg -y
The curl command handles the download, while gpg converts the key from ASCII-armored format to the binary format APT requires.
Import the Opera Repository GPG Key
Download and install Opera’s GPG signing key to verify package authenticity:
curl -fsSL https://deb.opera.com/archive.key | sudo gpg --dearmor -o /usr/share/keyrings/opera.gpg
This pipeline uses curl to fetch the ASCII-armored key, converts it with gpg --dearmor, and writes the binary key file to /usr/share/keyrings/opera.gpg. The -fsSL flags fail fast on HTTP errors and keep output clean.
Add the Opera DEB822 Repository File
Now, create the repository configuration file using the modern DEB822 format:
sudo tee /etc/apt/sources.list.d/opera.sources > /dev/null <<EOF
Types: deb
URIs: https://deb.opera.com/opera-stable/
Suites: stable
Components: non-free
Architectures: amd64
Signed-By: /usr/share/keyrings/opera.gpg
EOF
This configuration specifies the repository type, location, suite, component, architecture, and GPG key path for package verification. The DEB822 format uses explicit field names, making the configuration more readable and less error-prone than the older one-line format.
The DEB822
.sourcesformat is the modern standard for APT repository configuration. All supported Debian versions (11, 12, 13, and newer) fully support this format, which offers clearer syntax and better error messages than legacy.listfiles.
Verify Manual Repository Configuration
Update the package index to include the new repository:
sudo apt update
Look for output confirming the Opera repository was fetched:
Get:4 https://deb.opera.com/opera-stable stable InRelease [2416 B] Get:5 https://deb.opera.com/opera-stable stable/non-free amd64 Packages [1161 B]
Confirm that APT recognizes the Opera repository:
apt-cache policy opera-stable
opera-stable:
Installed: (none)
Candidate: 128.0.x
Version table:
128.0.x 500
500 https://deb.opera.com/opera-stable stable/non-free amd64 Packages
This output shows Opera available from the official repository with a 500 priority, which confirms successful setup.
Install Opera Packages on Debian
After repository setup, install one or more Opera packages. Stable is the default for daily use, GX adds Opera’s gaming-focused UI, beta previews near-future features, and developer is the earliest testing channel.
Install Opera Stable Build
Install the stable version of Opera for everyday browsing:
sudo apt install opera-stable
During installation, you may be prompted to configure Opera for version upgrades. Select NO and press Enter. However, Opera’s installer creates a duplicate .list file regardless of your selection, so you need to remove it after installation to prevent APT warnings.

After installation completes, remove the duplicate repository file that Opera’s installer created:
sudo rm -f /etc/apt/sources.list.d/opera-stable.list
This cleanup step applies to both extrepo and manual repository methods. Opera’s postinst script always creates this
.listfile, which duplicates your existing.sourcesconfiguration and triggers APT warnings during updates.
Verify the installation by checking the version:
opera --version
128.0.x
Install Opera GX Build (Optional)
Install Opera GX if you want the GX interface and defaults:
sudo apt install opera-gx-stable
After installation, remove the duplicate repository file created by the installer:
sudo rm -f /etc/apt/sources.list.d/opera-gx-stable.list
Verify Opera GX:
opera-gx --version
127.0.x
Install Opera Beta Build (Optional)
The beta channel provides early access to features planned for the next stable release. You can install it alongside or instead of stable:
sudo apt install opera-beta
As before, select NO when prompted. After installation, remove the duplicate repository file:
sudo rm -f /etc/apt/sources.list.d/opera-beta.list
Then verify the installation:
opera-beta --version
126.0.x
Install Opera Developer Build (Optional)
The developer channel provides early access to experimental features for testing purposes. This version may contain bugs, so avoid using it for daily browsing:
sudo apt install opera-developer
Again, select NO when prompted. After installation, remove the duplicate repository file:
sudo rm -f /etc/apt/sources.list.d/opera-developer.list
Then verify the installation:
opera-developer --version
130.0.x
Launch Opera Browser on Debian
Launch Opera from Terminal
Start Opera directly from the terminal using the command for your installed version. To start the stable version:
opera
Alternatively, launch GX, beta, or developer builds with their package commands:
opera-gx
opera-beta
opera-developer
Launch Opera from the Applications Menu
You can also launch Opera from your desktop environment:
- Click on Activities in the top-left corner of your screen (or press the Super key).
- Type “Opera” in the search bar.
- Click the Opera icon for the version you want to launch (Stable, GX, Beta, or Developer).


Enable Opera Built-in Features
After launching Opera for the first time, you can enable its built-in privacy features:
- VPN: Click the VPN badge in the address bar or go to Settings → Privacy and Security → VPN to enable the free built-in VPN.
- Ad Blocker: Go to Settings → Privacy and Security → Block ads and surf the web up to three times faster.
- Sidebar Workspaces: Click the three-line menu in the sidebar to access social apps like Messenger, WhatsApp, and Telegram without leaving the browser.
Update Opera Browser on Debian
Opera receives updates through your regular system upgrade cycle. To update all packages including Opera:
sudo apt update && sudo apt upgrade
Alternatively, to update only Opera without upgrading other packages, use the --only-upgrade flag:
sudo apt update && sudo apt install --only-upgrade opera-stable
For GX, beta, or developer builds, substitute the package name:
sudo apt install --only-upgrade opera-gx-stable
sudo apt install --only-upgrade opera-beta
sudo apt install --only-upgrade opera-developer
Afterwards, verify the update completed by checking the version:
opera --version
128.0.x
Troubleshoot Opera Installation on Debian
Fix Duplicate Opera Repository Sources Warning
If you see a warning during apt update about duplicate repository sources, Opera’s installer created its own .list files that conflict with your existing configuration. This typically looks like:
W: Target Packages (non-free/binary-amd64/Packages) is configured multiple times in /etc/apt/sources.list.d/extrepo_opera_stable.sources:1 and /etc/apt/sources.list.d/opera-stable.list:4
To resolve this, remove the duplicate .list files created by Opera’s installer:
sudo rm -f /etc/apt/sources.list.d/opera-*.list
Then verify the warning is resolved:
sudo apt update
Hit:1 http://deb.debian.org/debian trixie InRelease Hit:2 http://security.debian.org/debian-security trixie-security InRelease Hit:3 https://deb.opera.com/opera-stable stable InRelease Reading package lists... Done
Regular apt upgrade operations do not regenerate these duplicate files. Only a fresh install or reinstall of Opera triggers the installer’s postinst script, so deleting the files once is sufficient.
Fix Opera Signed-By Conflicts Between Methods
If you configured both extrepo and a manual opera.sources file, apt update can fail with a hard conflict:
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.gpg E: The list of sources could not be read.
Keep one method and remove the other configuration.
Keep extrepo, remove manual files:
sudo rm -f /etc/apt/sources.list.d/opera.sources
sudo rm -f /usr/share/keyrings/opera.gpg
sudo apt update
Keep manual method, remove extrepo files:
sudo extrepo disable opera_stable
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
Fix extrepo Non-Free Policy for Opera Repository
If you see “repository ‘opera_stable’ is disabled by policies” when trying to enable the Opera repository, the non-free policy is not active. Check the current configuration:
grep -A5 "enabled_policies" /etc/extrepo/config.yaml
The output should show - non-free without a leading #:
enabled_policies: - main # - contrib - non-free
If the line is still commented, run the sed command to enable it:
sudo sed -i 's/# - non-free/- non-free/' /etc/extrepo/config.yaml
Then retry enabling the repository:
sudo extrepo enable opera_stable
Fix Opera GPG Key Import Failures
If the manual GPG key import fails with an error like “gpg: no valid OpenPGP data found,” verify that the key URL is accessible:
curl -fsSL https://deb.opera.com/archive.key | head -5
You should see the beginning of a PGP key block:
-----BEGIN PGP PUBLIC KEY BLOCK----- mQGNBGgrEnABDAC3S++y9OPF79pFJApWv5Ke0czoirWLN7a0rzScY2v+9LYWYVfU XrZkDoVLJrxI6U/WvNbLqyrsyg9D9jZNksp0x5K9Fe9Phr6xAdRrpdmXu5xYGpBP
If you see HTML content or an error message instead, check your network connection or try again later. If the issue persists, consider using the extrepo method instead, which handles key management automatically.
Fix Opera Package Not Found After Repository Setup
If apt-cache policy opera-stable shows no candidate version after adding the repository, verify the repository file was created correctly:
cat /etc/apt/sources.list.d/opera.sources
The output should match the configuration shown in the manual installation section. If the file is empty or incorrect, recreate it using the tee command from Method 2. Then run:
sudo apt update
apt-cache policy opera-stable
Remove Opera Browser from Debian
Uninstall Opera Packages
To uninstall Opera Browser, remove the package for your installed version:
sudo apt remove --purge opera-stable
For GX, beta, or developer versions, run the corresponding commands:
sudo apt remove --purge opera-gx-stable
sudo apt remove --purge opera-beta
sudo apt remove --purge opera-developer
Remove orphaned dependencies that were installed alongside Opera:
sudo apt autoremove
Remove Opera Repository
If you no longer plan to use Opera, you should also remove the repository configuration and GPG key to keep your system clean.
If you used extrepo (Method 1):
sudo extrepo disable opera_stable
sudo rm -f /etc/apt/sources.list.d/extrepo_opera_stable.sources
sudo rm -f /var/lib/extrepo/keys/opera_stable.asc
The extrepo disable command sets Enabled: no but keeps source and key files. Remove both files if you want a full cleanup.
If you configured the repository manually (Method 2):
sudo rm -f /etc/apt/sources.list.d/opera.sources
sudo rm -f /usr/share/keyrings/opera.gpg
sudo rm -f /etc/apt/sources.list.d/opera-*.list
Refresh the package cache and verify the repository is removed:
sudo apt update
apt-cache policy opera-stable
You should see the following output, confirming removal (no repository URL appears):
opera-stable: Installed: (none) Candidate: (none) Version table:
Remove Opera User Data
The following command permanently deletes your Opera browsing data, including bookmarks, history, saved passwords, and extensions. Back up your profile first if you want to preserve anything:
cp -r ~/.config/opera ~/.config/opera-backup.
To completely remove Opera user data:
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
Restore Repository Configuration
If you accidentally remove the wrong file and need to restore the Opera repository, use the appropriate method based on how you originally configured it.
For extrepo:
sudo extrepo enable opera_stable
sudo apt update
For manual configuration:
curl -fsSL https://deb.opera.com/archive.key | sudo gpg --dearmor -o /usr/share/keyrings/opera.gpg
sudo tee /etc/apt/sources.list.d/opera.sources > /dev/null <<EOF
Types: deb
URIs: https://deb.opera.com/opera-stable/
Suites: stable
Components: non-free
Architectures: amd64
Signed-By: /usr/share/keyrings/opera.gpg
EOF
sudo apt update
Frequently Asked Questions
Yes. Opera’s repository currently provides the opera-gx-stable package on Debian 13, 12, and 11 when the repository is configured correctly.
Usually no. Opera’s repository setup and package commands are the same on Debian 13, 12, and 11. Differences are mostly package version numbers in command output.
opera.sources on the same system?
No. Both methods point to the same Opera source but use different Signed-By key paths, which can break apt update with a conflict error. Use one method only.
Opera package installers can create legacy .list files such as opera-stable.list, opera-gx-stable.list, opera-beta.list, or opera-developer.list. Remove duplicate files in /etc/apt/sources.list.d/ and run apt update again.
The repository metadata and current package policy output for this guide show amd64 packages for Opera desktop builds. If you need arm64 browser support, use a browser with native arm64 Debian packages.
Conclusion
Install Opera Browser on Debian Linux with either extrepo or manual DEB822 setup, then keep one repository method to avoid APT conflicts. For other browser options, review guides to install Brave on Debian, install Vivaldi on Debian, install Google Chrome on Debian, or install Firefox on Debian.
thank you was very helpful, especially the new DEB822 format
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?
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.listfile alongside theopera.sourcesfile configured in the guide.Simply delete the duplicate file:
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 updateand the warnings should be gone.