# /opt **/opt** holds self-contained optional software packages that install outside the normal distribution package manager. Each package gets its own subdirectory, and inside it the layout mirrors the root hierarchy: `bin/`, `lib/`, `share/`, `etc/`. Nothing in `/opt` is shared with other packages; a package brings its own private copies of whatever libraries it needs. ``` /opt/cuda/ NVIDIA CUDA toolkit /opt/cuda/bin/nvcc CUDA compiler /opt/cuda/lib64/ CUDA shared libraries /opt/google/chrome/ Google Chrome browser /opt/android-studio/ Android Studio IDE /opt/company/product/ proprietary in-house software ``` The rationale is isolation. Software installed by a distribution package manager is allowed to scatter files across `/usr/bin`, `/usr/lib`, `/usr/share`, and `/etc`. A package installed in `/opt` is entirely contained in one directory, making it trivial to install, upgrade, and remove by copying or deleting that directory. Adding `/opt/package/bin` to `$PATH` is usually all that is required to make it usable. `/opt` is the standard location for commercial and proprietary software that ships as a tarball or installer rather than a distribution package. It is also common for software that has strict version requirements and ships its own runtime to avoid conflicts with system libraries.