setarch
Change reported architecture for program execution
TLDR
Run a command as if the machine architecture is i686
SYNOPSIS
setarch [arch] [options] [program [arguments]]
DESCRIPTION
setarch changes the reported architecture for a program's execution environment. It modifies what uname -m reports and can affect how programs behave based on architecture detection.
The command is useful for running 32-bit applications on 64-bit systems, compatibility testing, and debugging programs that behave differently based on architecture. The linux32 and linux64 symlinks are shortcuts for common uses.
PARAMETERS
arch
Target architecture (i686, x86_64, linux32, linux64, etc.)-R, --addr-no-randomize
Disable address space layout randomization (ASLR)-S, --short-inode
Use legacy 32-bit inode values-L, --uname-2.6
Set uname to report 2.6 kernel-B, --32bit
Limit address space to 32 bits--list
List supported architectures-v, --verbose
Verbose output
CAVEATS
Does not enable actual architecture emulation; the underlying CPU must support the requested mode. Disabling ASLR (-R) reduces security and should only be used for debugging. Part of the util-linux package.
SEE ALSO
linux32(8), linux64(8), uname(1), personality(2)
