What makes GoboLinux unique
GoboLinux has a directory structure different from most other Linux distributions. In GoboLinux, all files for a program, including executables, headers and libraries, are installed below a single directory that belongs to that program.
ping utility might reside in
To be visible to other software, these files are symlinked into standard
locations in the new directory hierarchy under
Traditional Unix paths are also symlinks to the
/bin -> /System/Index/bin /usr/bin -> /System/Index/bin /usr/lib -> /System/Index/lib /etc -> /System/Settings
As a result, most things just work. For example, GoboLinux will correctly
dispatch scripts with shebang lines such as
#!/usr/bin/env perl or
#!/usr/bin/python to the proper interpreter.
This architecture —installing each program under its own directory, and making executables, headers other resources available via symlinks— has significant advantages:
- different versions of libraries can coexist
- it’s trivial to uninstall software
- there’s no need for a database of installed files
The system is administered through a limited set of utility programs. Tracking dependency relations among software is accomplished through the GoboLinux build system and its library of “compile recipes”.