That isn't directly the fault of apt-key. It uses gpg which in its >=
2.0 versions has split its operations into a multitude of daemons for
security reasons. The daemons should be terminating themselves a few
seconds after the directory they operate in disappears. That is at least
the case for gpg-agent, but "a few seconds" is obviously too slow if you
are in a hurry, so apt-key tries to kill it via gpgconf --kill gpg-agent
(which isn't supported in all gpg version, but at least in the one in
ubuntu I hope). The manpage tells me that this isn't supported for
dirmngr through, which is the daemon left in your case, so solving that
from the apt-key side isn't exactly easy (short of implementing a sub-
subprocess supervisor in shell script…) so I would feel tempted to
declare that the problem of gpg and invalid for apt-key.
That said, your apt-key command is bad and should be replaced. Getting
keys from a keyserver is hopelessly insecure (it is better with recent
gpg versions) but still: Your use of a short-keyid screams security
problem due to easy collisions and hkp is a cleartext protocol so just
asking for MITM (and at least older gpg versions do no checks at all on
the received key(s)).
I guess the simplest & best solution is to ship the key in your preseed
script and drop it with an appropriate name (ending in .gpg) in
/etc/apt/trusted.gpg.d/ – as a bonus, your system will not need gnupg
installed (at least in terms of apt), gpgv will be enough.
You received this bug notification because you are a member of Ubuntu
Touch seeded packages, which is subscribed to apt in Ubuntu.
apt-key leaves files in /dev open after exit
Status in apt package in Ubuntu:
In Ubuntu 16.10, but not in 16.04, apt-key leaves /dev/null and
/dev/urandom open after exiting. Here's a procedure to replicate the
1. Install Ubuntu 16.10. (I used MAAS for this task.)
2. Install the "lsof" package (which is not installed by default).
3. Type "lsof | grep dev" to see open files.
4. Type "sudo apt-key adv --recv-keys --keyserver
5. Type "lsof | grep dev" again.
6. Compare the output of the two "lsof" commands.
I'm attaching two files, before.txt and after.txt, that show the
before and after results from "lsof | grep dev" in this scenario. Note
that the /dev/null and /dev/urandom files are both open after apt-key
is run, but not before. This problem does NOT occur with Ubuntu 16.04.
This problem is preventing us (the server certification team) from
importing keys in a custom MAAS preseed script; after installing
successfully, umounting the installed image fails because of the open
files on /dev.
To manage notifications about this bug go to:
Mailing list: https://launchpad.net/~touch-packages
Post to : email@example.com
Unsubscribe : https://launchpad.net/~touch-packages
More help : https://help.launchpad.net/ListHelp