---
name: "tmperamental"
section: "1"
platform: "linux"
package: "tmperamental"
version: "1.4"
release: "Debian 12 (Bookworm)"
platforms: ["linux"]
url: "https://new.carta.tech/tmperamental"
---

# tmperamental(1)

avoid writing to /tmp

## NAME

tmperamental - avoid writing to /tmp

## SYNOPSIS

**tmperamental cmd arg1 arg2 ...**

## DESCRIPTION

**tmperamental** uses a preloaded library that intercepts filesystem writes, and causes loud failures when writes are attempted on **/tmp/\***

The idea here is by setting TMPDIR and friends, it catches programs in the act of not respecting such env-vars.

## USAGE

Prefix the command you want to run with **tmperamental** and it should cause it to abort if it ever tries to write anywhere within **/tmp**. This is pretty brutal, so you probably only want to use it for testing.

## ENVIRONMENT

If **TMPDIR** is unset, **tmperamental** will set it automatically to **$HOME/tmp**.

**tmperamental** uses **LD\_PRELOAD** to load a custom library **libtmperamental.so** that intercepts library calls.

## LIMITATIONS

**tmperamental** only catches writes to **/tmp** at shared object library calls using the standard libc interface.  A statically-compiled program that makes system calls directly will be able to write to **/tmp** without being intercepted.
