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, 'addon-tethered-gui-bin-dir to tethered-gui-bin-dir, and (optionally) 'addon-tethered-apps-dir to tethered-apps-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 maps 'config-tethered-console-bin-dir to tethered-bin-dir, 'config-tethered-gui-bin-dir to tethered-gui-bin-dir, and (optionally) 'config-tethered-apps-dir to tethered-apps-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, writing ".desktop" files (for Unix) in tethered-apps-dir (if specified). Thereafter, tethered executables like tethered-bin-dir/racket and tethered-bin-dir/raco can be used to work with the tethered layer.