strip: command not found

The strip command is a Linux utility that is used to remove debugging and symbol information from executable files and object files. This results in a smaller file size, as well as an increased level of security since sensitive information, such as function and variable names, are removed.

The strip command works by removing symbols and other information from the binary file. This can be done either during the build process, by passing the -s flag to the linker, or after the file has been built, by running the strip command on the executable or object file.

Some common use cases of strip include:

Reducing file size: By removing symbol and debugging information, the size of an executable or object file can be reduced significantly. This is particularly useful when distributing applications, as smaller file sizes result in faster download times and reduced storage requirements.

Protecting sensitive information: By removing symbols and debugging information, strip can help prevent reverse engineering and other forms of code analysis that could reveal sensitive information, such as function and variable names. This can be particularly important in security-sensitive applications.

Improving performance: Stripped executables and object files load faster than unstripped ones since there is less information that needs to be loaded into memory.

If you encounter the below error while running the command strip:

strip: command not found

you may try installing the below package as per your choice of distribution:

Distribution Command
Debian apt-get install binutils-i586-linux-gnu
Ubuntu apt-get install binutils-2.26
Alpine apk add binutils
Arch Linux pacman -S aarch64-linux-gnu-binutils
Kali Linux apt-get install binutils-mipsisa32r6el-linux-gnu
CentOS yum install binutils
Fedora dnf install binutils-arc-linux-gnu
OS X brew install binutils
Raspbian apt-get install binutils-multiarch

strip Command Examples

1. Replace the input file with its stripped version:

# strip path/to/file

2. Strip symbols from a file, saving the output to a specific file:

# strip path/to/input_file -o path/to/output_file

3. Strip debug symbols only:

# strip --strip-debug path/to/file.o

Summary

It is important to note that strip permanently removes symbol and debugging information from a file. This means that if debugging information is required later, the file will need to be recompiled with the necessary options.

Overall, strip is a useful tool for reducing file size, improving performance, and protecting sensitive information in Linux executables and object files.

Related Post