67

Ubuntu Doc page says this:

It is advisable that you add the Opera GPG key.

wget -qO - http://deb.opera.com/archive.key | sudo apt-key add -

Where do I add that?

I want to take the advice but I don't know what part of software center to add gpg keys to.

  • 3
    I believe that is a one line command to enter into terminal – Mateo May 5 '13 at 13:55
  • 1
    .msi in Ubuntu is called .deb. – Alvar May 5 '13 at 17:12
  • 4
    As a side note, adding keys you fetch over non-HTTPS breaks any security that signing packages added. Wherever possible, you should download keys over a secure channel (https://). – user304335 Jul 10 '14 at 18:00
86

This a a one line command to enter in terminal. See What is a terminal and how do I open and use it?

To use it, you would paste the entire command in the terminal (remember to use https):

wget -qO - https://deb.opera.com/archive.key | sudo apt-key add -

But of course, it is daunting just copying and pasting commands without knowing what they are doing, and having no instructions on how to undo their actions, so here is a basic breakdown of the commands:

  • wget downloads something from a server. See wget manual for Ubuntu 16.04.
  • | is a pipline, which takes the output of one command and runs it into the input of another
  • apt-key add adds a package key

So it basically downloads the key and then adds it in one command.

I tested the command and it should work.


Now to verify that it worked, run this command (from this answer):

apt-key list

This will list the keys added and the key from Opera should be listed on the bottom like this:

pub   1024D/30C18A2B 2012-10-29 [expires: 2014-10-29]
uid                  Opera Software Archive Automatic Signing Key 2013 <packager@opera.com>
sub   4096g/C528FCA9 2012-10-29 [expires: 2014-10-29]

The linked answer also shows that you can remove the key if needed, using:

sudo apt-key del 30C18A2B

with 30C18A2B being the key-id from the list.


After performing that command, and setting up the sources exactly like in your screen-shot, do:

sudo apt-get update
sudo apt-get install opera

(note there are some random warnings, but nothing that affects the install or software center operations)

And for the removal (just in case): What is the correct way to completely remove an application?


So in summary:

  • Add repository enter image description here
  • Add key with apt-key
  • Install in terminal with apt-get
  • Search in dash enter image description here
  • 4
    "apt-key adv" allows one to download the key from a public keyserver. – jeremiah Mar 31 '16 at 13:27
  • After adding the key with apt-key add, the .key file (in this case, "archive.key") can be deleted without consequence, right? The key (the information, not the file) has already been added to a list somewhere, so the file should no longer be needed. – Cerran Mar 17 '18 at 20:52
  • 2
    @Cerran, correct. APT keeps keys somewhere else (/etc/apt/trusted.gpg.d/ and /var/lib/apt/keyrings/ for example.) – Alexis Wilke Feb 27 at 18:36
  • If you get an SSL error with wget, you can use curl instead: curl -L https://deb.opera.com/archive.key | sudo apt-key add - – rubo77 May 6 at 9:54
23

If you are manually adding a key from a PPA, use

sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 00000000

Replacing the 00000000 with the second part of the key informed in the PPA website that you want to add.

For example, if you find this line:

 4096R/7BF576066

Use only the second part (no matter its size), which in this example is 7BF576066

  • are errors like gpg: keyserver receive failed: No keyserver available and gpg: keyserver receive failed: Connection refused common? – iuridiniz Dec 31 '18 at 13:49
  • No, errors like these aren't common. Maybe you're writing the wrong key. – Paulo Coghi Jan 1 at 14:51
19

Newer versions of apt also support the following:

apt-key adv --fetch-keys http://deb.opera.com/archive.key

This method also provides more detailed feedback as well, e.g.:

gpg: key 7BD9BF62: public key "signing key <username@domain.com>" imported
gpg: Total number processed: 1
gpg:               imported: 1  (RSA: 1)

This also has the added bonus of removing the need for additional dependencies like wget or curl.

  • 1
    apt-key adv does not seem to work for https – danihodovic Jun 14 '17 at 11:24
  • 5
    @dani-h You need gnupg-curl to use HTTPS if you are using GPG 1.x. – Tao Wang Oct 27 '17 at 5:08
  • apt-key adv --fetch-keys will only fetch one key from the URL, and if the URL contains multiple keys, please use wget | apt-key add instead. – Tao Wang Oct 27 '17 at 5:11
  • It seems to work with https already (just tested on Ubuntu 17.10) – user1182474 Dec 9 '18 at 19:25
0

Another way where you just have an .asc key, you download the .asc key and add it to the keyring.

For instance -

curl -L https://packages.riot.im/debian/repo-key.asc | sudo apt-key add -

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.