Installation of cargo and rust dependencies is covered in the following section of the documentation: https://tezos.gitlab.io/introduction/howtoget.html#install-rust.
I believe this is some issue related to the opam sandbox.
/root/.opam/opam-init/hooks/sandbox.sh build ls -a ..
drwxr-xr-x root .
drwxr-xr-x root ..
drwxr-xr-x root tezos
From a regular user:
/home/user/.opam/opam-init/hooks/sandbox.sh build ls -a ..
drwxr-xr-x user .
drwxr-xr-x user ..
drwxr-xr-x user .cargo
drwxr-xr-x user .opam
drwxr-xr-x user .rustup
drwxr-xr-x user .zcash-params
drwxr-xr-x user tezos
The above shows that the sandbox now handles the root directory differently and, because of that, it cannot find the cargo binaries located at
You are probably using
My suggestion is that you create a new user and try again.