6.18 Tethered Installations
A tethered installation of Racket is a layer (see Layered Installations) that includes a wrapper executable for every executable across the installation’s layers. Each wrapper executable points back to the new layer’s "config.rktd" (see Installation Configuration and Search Paths) without the use of a PLTCONFIGDIR environment variable or --config flag. In other words, a tethered installation provides executables such as racket, raco, and drracket that are tied to the layer. Tethering thus helps to create a layer of installation that behaves in a more self-contained way, but with minimal duplication of the underlying layers.
Tethering works at either a user or installation layer:
A user layer with tethering is represented by a fresh directory ‹addon-dir› and a "‹addon-dir›/etc/config.rktd" file that maps 'addon-tethered-console-bin-dir to ‹tethered-bin-dir› and 'addon-tethered-gui-bin-dir to ‹tethered-gui-bin-dir›. Initialize the tethered layer with
racket -A ‹addon-dir› -l- raco setup --avoid-main
An installation layer with tethering is like a one without tethering (see Layered Installations), but where the layer’s "‹layer-dir›/etc/config.rktd" file that maps 'config-tethered-console-bin-dir to ‹tethered-bin-dir› and 'config-tethered-gui-bin-dir to ‹tethered-gui-bin-dir›. The 'bin-dir and 'gui-bin-dir configurations can point to the same directories, but executables are not specifically created there by raco setup. Initialize the tethered layer with
racket -G ‹layer-dir›/etc -l- raco setup
In either case, initialization creates tethered executables in the directories ‹tethered-bin-dir› and ‹tethered-gui-bin-dir›. Thereafter, tethered executables like ‹tethered-bin-dir›/racket and ‹tethered-bin-dir›/raco can be used to work with the tethered layer.