How are people accessing extra tools in TrueNAS Scale?

Hi

I strongly support keeping TrueNAS lean and mean, using docker, lxc, kvm etc to add features that are not essential e.g. SMART → Scrutiny. Personally I would be happy pulling more out of TN into docker.

But sometimes you need a tool like ddrescue, HDDSuperClone, or whatever. Software that is not included with TrueNAS but ideally has as little between it and the hardware as possible.

What are people doing in that situation? Are you,

  • Mapping a /dev/??? into a container or VM?
  • Installing the package within TrueNAS?
  • Something else?

Thanks,

MC

Some people are using a Dataset in their main Data pool, as a location for local tools. This survives an update. It may be needed to re-enable execution on the dataset like;

zfs set exec=on MY_POOL/MY_BIN_DS

Now this does not solve all the potential software people want to install. Linux is very BAD at library versions. Some tools MUST have either a specific library version and without it, the tool won’t run. See the output of ldd against the binary.

One way around that specific library requirement, is to manually supply it. Like from a Linux desktop where the tool works. Then use something like this for the local tools datasets:

MY_POOL/MY_TOOLS
MY_POOL/MY_TOOLS/BIN
MY_POOL/MY_TOOLS/LIB

Then use LD_LIBRARY_PATH in a run script for the tool.

All very annoying, but TrueNAS is not a Linux distribution.

1 Like

Using a bootable .iso that contains those tools.

2 Likes

That is useful @Arwen and @dan - thank you

…was this really the biggest issue with Truenas? OS “bloat” that needs to be fixed with docker and vms?

It’s so all clear to me now! How could I have not seen it? Can’t wait for scrubs or resilvers moving over to a community app.