Issue
I added LLVM Debian/Ubuntu nightly packages in the /etc/apt/sources.list.d
directory as llvm.list
. Then I ran apt-get update
, but got the following error
GPG Error: The LLVM Compiler Infrastructure Project llvm-toolchain-trusty InRelease: no public key,can not qulify the signature: NO_PUBKEY 15CF4D18AF4F7421
I thought if I added the source as a file in the directory, it will be seen as a package source. What else do I need to do?
Solution
The function of the /etc/apt/sources.list.d
directory is as follows:
Using the directory you can easily add new repositories without the need to edit the central /etc/apt/sources.list
file. I.e. you can just put a file with a unique name and the same format as /etc/apt/sources.list
into this folder and it is used by apt.
In order to remove this source again you can just remove that specific file without the need for handling side effects, parsing or mangling with /etc/apt/sources.list
. It's mainly for scripts or other packages to put their repositories there automatically - if you manually add repositories you could add them to /etc/apt/sources.list
manually.
This answers your question, however, it won't solve your problem. APT is complaining about a missing GPG key which you have to manually import before you can use your newly added repository (GPG verifies all data cryptographically and needs the public keys of the owners for this).
This can be done calling sudo apt-key add public-key-file
or wget -qO - http://example.com/archive.key | sudo apt-key add -
where http://example.com/archive.key
is the URL for the public key (which you should verify before using).
In case of llvm, you could issue wget -O - http://llvm.org/apt/llvm-snapshot.gpg.key|sudo apt-key add -
(according to http://llvm.org/apt/)
See https://askubuntu.com/questions/291035/how-to-add-a-gpg-key-to-the-apt-sources-keyring
Answered By - MrTux