Hi,
i’m playing arround with kea - bind9 and stumbling across the problem that some tools like tsig-keygen
or rndc
are missing.
Is there a way to get them? Package search suggests to use dig
- but the tools are missing anyhow…
suggestions? ask the maintainer?
thanks - Johannes
dig
is an alias for bind.dnsutils
apparently with dnsutils
being a package output. Search suggests dig.out
which is bind.dnsutils.out
and effectively the out
output of the bind
derivation.
In other words, bind
is the package you’re looking for:
❯ ~/Projects/nixpkgs-hack master → ls -lah $(nix-build -A bind)/bin/
Permissions Size User Date Modified Name
.r-xr-xr-x 16k root 1 Jan 1970 arpaname
.r-xr-xr-x 30k root 1 Jan 1970 ddns-confgen
.r-xr-xr-x 62k root 1 Jan 1970 dnssec-cds
.r-xr-xr-x 42k root 1 Jan 1970 dnssec-dsfromkey
.r-xr-xr-x 42k root 1 Jan 1970 dnssec-importkey
.r-xr-xr-x 49k root 1 Jan 1970 dnssec-keyfromlabel
.r-xr-xr-x 54k root 1 Jan 1970 dnssec-keygen
.r-xr-xr-x 40k root 1 Jan 1970 dnssec-revoke
.r-xr-xr-x 49k root 1 Jan 1970 dnssec-settime
.r-xr-xr-x 113k root 1 Jan 1970 dnssec-signzone
.r-xr-xr-x 41k root 1 Jan 1970 dnssec-verify
.r-xr-xr-x 60k root 1 Jan 1970 mdig
.r-xr-xr-x 603k root 1 Jan 1970 named
.r-xr-xr-x 45k root 1 Jan 1970 named-checkconf
.r-xr-xr-x 41k root 1 Jan 1970 named-checkzone
.r-xr-xr-x 41k root 1 Jan 1970 named-compilezone
.r-xr-xr-x 17k root 1 Jan 1970 named-journalprint
.r-xr-xr-x 22k root 1 Jan 1970 named-rrchecker
.r-xr-xr-x 17k root 1 Jan 1970 nsec3hash
.r-xr-xr-x 46k root 1 Jan 1970 rndc
.r-xr-xr-x 26k root 1 Jan 1970 rndc-confgen
.r-xr-xr-x 30k root 1 Jan 1970 tsig-keygen
That’s an interesting bug you’ve found there. Do you want to file a bugreport for the package search?
Confusingly even nix-locate
reports dig.out
as the location for rndc
Yes, that’s what I meant above with bug.
dig
is technically the bind
derivation, but the pkgs.dig
points to a different output of pkgs.bind
.
sure - doesn’t filed any yet. github and then create an issue? but i’m rather unsure as howto describe the problem besides the missing binarys.
@Johannes which package search are we talking about specifically?
I.e. I used nix-index
/nix-locate
, but depending on what you used, it might be specific to this package or a larger problem.
Hi,
my problem is easy reproduced:
nix-shell -p bind
Then the described tools are missing:
some tools like
tsig-keygen
orrndc
are missing
As i have half-hearted understood - the issue at hand may be bigger as this. Because it looks like a recursion option in the nix-interpreter may be the issue (but correct me if understand the explanation wrongly)
Confusingly even
nix-locate
reportsdig.out
as the location forrndc
nix-locate miss reports the location of eg tsig-keygen.
➜ nix-locate tsig-keygen
dig.out 30,104 x /nix/store/9pzyhirm46wckr2d6pxfd337qjsxv3jg-bind-9.18.28/bin/tsig-keygen
dig.man 988 r /nix/store/pycnp82jf2cm3pbkj1ld88s93qcwlnkq-bind-9.18.28-man/share/man/man8/tsig-keygen.8.gz
nix-locate miss reports the location of eg tsig-keygen.
Yes, this was brought up above already. I even have a theory on what exactly is wrong here.
Then the described tools are missing:
I think there’s a misunderstanding: nix-shell -p bind
does deliver the tools in question.
@Johannes Which package search did you use? I can file a bug there then.
ah. ok - The binaries are just not executable and as such not in the “Path”… I didn’t come to the idea to find the binaries. My historical linux knowledge with locate
wasn’t working… I’ve used bind
.
❯ ~ → nix-shell -p bind
[nix-shell:~]$ which tsig-keygen
/nix/store/5nsk85gf2bvj87kf3frg1h7ipcgqynli-bind-9.18.28/bin/tsig-keygen
[nix-shell:~]$ tsig-keygen
key "tsig-key" {
algorithm hmac-sha256;
secret "pVf6vt7McqtHuUasMTZXsvHAYoJc2lI+BfmPic7Tl40=";
};
what nixpkgs rev are you on?
Also, which package search did you use? Would still be interested in reporting that bug.
well… see this way it works today (yesterday not btw) … but when i try to put it in my systempackages:
environment.systemPackages = with pkgs; [
… dig …
];
Then this happens
➜ ~ tsig-keygen
The program ‘tsig-keygen’ is not in your PATH. You can make it available in an
ephemeral shell by typing:
nix-shell -p dig
➜ ~ which tsig-keygen
tsig-keygen not found
awkward… also i thought by
services.bind.enable = true;
this package should be installed. But maybe i’m just blind guessing.
As was said like 4 times above, the package you need to use is bind, not dig.
yep - thats it… thanks. did not read that properly.