The user equivalent of the global /opt directory

fhshomexdgxdg-user-dirs

I'm wondering if anybody has agreed on a user equivalent of the global /opt directory, for third-party packages that are distributed as a tarball to be unpacked as a single directory. Examples include Firefox Beta, Tor Browser, and innumerable others.

In the past I've left them wherever I unpacked them, either in my home, in ~/Downloads, or in other random places, but now I'd like to sort the mess.

I'm thinking either ~/.local/opt or ~/.opt, but I'm wondering if there is any standard place that I'm overlooking.

Best Answer

There is no standard location for software installed by a non-root user.

A common location include using $HOME/local or $HOME/opt (with bin, lib etc. subdirectories). Some software seems to use $HOME/.local by default (the Python pip tool and others), which may mean that using that hidden directory might be a less good choice as installing into it may overwrite existing files not managed directly by you.

Another alternative (especially if you compile from sources) is to use GNU Stow and install with e.g. $HOME/local/stow/package_dir-version as the installation prefix (rather than $HOME/local). GNU Stow would then populate the hierarchy above the stow directory with symbolic links pointing into the various directories under the stow directory.

See the question "How to correctly deal with locally built binaries?" for more information.

Related Question