Skip to content

GUIDES · 02

Install tebako.

The tebako toolchain is four binaries in one directory, with no daemon. Every command on this page runs as the invoking user, nothing needs root, and uninstalling means deleting files.

Note

This guide is part 1 of the Basic payloads tutorial. The blog chapter walks a first run end to end.

The install routes.

All three routes install the same four binaries. Homebrew and the shell installer verify SHA-256 checksums before anything lands; a hand download is verified against the SHA256SUMS file on the release.

Homebrew (macOS, Linux).

brew install tamatebako/tap/tebako

The binaries link into the brew prefix, which is already on PATH.

Shell installer (any Unix).

curl -fsSL https://tebako.org/install.sh | sh

The installer detects the platform, downloads the binaries plus SHA256SUMS, verifies before installing, and never uses sudo.

Direct binaries. The releases page carries one asset per binary per platform, for macos-arm64, macos-x86_64, and the linux-gnu-* / linux-musl-* families:

tebako-<ver>-macos-arm64
tebako-pkg-<ver>-macos-arm64
tfs-<ver>-macos-arm64
tebako-bootstrap-<ver>-macos-arm64

The installer puts the binaries in ~/.local/bin (mode 0755) and prints the PATH line for the user’s shell. The destination directory is changed with TEBAKO_INSTALL_DEST, and a specific release is pinned with TEBAKO_VERSION.

What lands.

The release ships four static binaries: tebako (the packager and store CLI), tebako-pkg (package trailer surgery and signing), tfs (image inspection and creation), and tebako-bootstrap (the loader that tebako press stitches into every package). Everything they keep on the machine lives under ~/.tebako.

The dispatcher tebako-shim is not among the four. Shims are registered later, by tebako install: each shim is a link to a dispatcher binary — by default tebako-shim located next to the tebako binary, overridable with TEBAKO_SHIM_BINARY.

Check the install.

$ tebako --version
Tebako executable packager version 2.1.7

If the shell cannot find tebako after the shell installer, the install destination is not on PATH — the installer printed the exact line to add to the shell startup file.

A first packaged command.

The managed flow is four commands: a registry is added, a payload is installed from it, the shim directory is put on PATH once, and the tool runs by name.

$ tebako add-registry tfs:github:tamatebako/hello
$ tebako install hello
installed hello 0.1.0 -> ~/.tebako/payloads/hello/0.1.0.tfs
shim ~/.tebako/shims/hello
$ tebako-shim install-shell    # once per machine — puts ~/.tebako/shims on PATH
$ hello

The first run of hello downloads the ruby runtime once, verifies its SHA-256, and caches it; every later run starts from the cache. Open a new shell after install-shell so the PATH change takes effect. Output versions shown are representative.

Platform notes.

  • musl is the universal Linux artifact. The linux-musl-* builds are fully static and run on any distribution. The installer selects them automatically on musl systems such as Alpine.

  • Windows. The .exe assets are downloaded from the releases page. The store lives at %LOCALAPPDATA%\tebako.

  • Moving the store. TEBAKO_HOME relocates ~/.tebako, which is useful for shared caches and continuous integration (CI) sandboxes.

Uninstall.

Uninstallation deletes the binaries and the store; there is nothing else. The shim PATH block is removed first when install-shell was run.

tebako-shim uninstall-shell   # if you ran install-shell
brew uninstall tebako           # if you used brew
rm ~/.local/bin/tebako ~/.local/bin/tebako-pkg ~/.local/bin/tfs ~/.local/bin/tebako-bootstrap
                                # ^ if you used install.sh
rm -rf ~/.tebako

Runtimes and payloads re-download on demand, but the store also holds the operator’s config, signing keys (keys/), and pinned publisher keys (trust/) — those do not come back.