Brief: Today you will learn what Termux is and its features and limitations. And how to install, uninstall and manage your packages in Termux. Then learn how to enable storage access on Termux and Enable Other Repositories on Termux.
Android system is capable of many things, but at its core, it is just a UNIX-based operating system. By default, many things can be done on the Android system. However, more features can be added by rooting the device.
Rooting is not the recommended method and might break your Android system and remove the warranty. Although there are still many rich, full-featured apps available for Android devices that can run without root. One of them is Termux.
Table of Contents
What is Termux?
Termux is an open-source Android terminal emulator that takes advantage of Android’s hidden Linux infrastructure without rooting.
It can be installed on any Android device. Initially, a minimal version will be used, but additional packages are available using the APT or PKG command.
You can easily install and set up SSH or VNC and operate it remotely using the command-line or GUI method. Python developers can install Python on it and start creating Python scripts on their Android device.
Penetration testing can be performed on your Android system using tools like Metasploit, Routersploit, Phonesploit, Hydra, Nmap, etc.
Termux Features
Below are the known features available in Termux.
- Secure: Access remote servers using the ssh client from OpenSSH. Termux combines standard packages with accurate terminal emulation in a beautiful open-source solution.
- Feature-packed: Take your pick between Bash, fish, or Zsh, and nano, Emacs, or Vim. Grep through your SMS inbox. Access API endpoints with curl and use Rsync to store backups of your contact list on a remote server.
- Customizable: Install what you want through the APT package management system, which is known for Debian and Ubuntu GNU/Linux.
- Explorable: Have you ever sat on a bus and wondered exactly which arguments the tar accepts? Packages available in Termux are the same as those on Mac and Linux – install man pages on your phone and read them in one session while experimenting with them in another.
- With batteries included: Can you imagine a more powerful yet elegant pocket calculator than a readline-powered Python console? Up-to-date versions of Perl, Python, Ruby, and Node.js is available.
- Ready to scale up: Connect a Bluetooth keyboard and hook up your device to an external display if you need to – Termux supports keyboard shortcuts and has full mouse support.
- Tinkerable: Develop by compiling Go, Rust, Swift, or C files with Clang and build your own projects with CMake and pkg-config. Both lldb/GDB and strace are available if you get stuck and need to debug.
Termux Limitations
Termux does not directly support the use of packages from Debian, Ubuntu, or other Linux distribution repositories. All packages are ported to Termux first. For this reason, do not attempt to put the desktop repositories into your Termux source.list
or install .deb
files from the Termux terminal.
Additional restrictions:
- You can only have one architecture, 32-bit or 64-bit, installed at the same time.
- Apt usage under root is restricted to prevent messing up ownership and SELinux labels on the Android
/data
partition. - Downgrading is not supported. In order to reclaim disk space, Termux does not keep a history of package versions.
How to Install Termux on Android
You can download and install Termux from the Playstore (older version). However, it is not recommended and the developer is planning to unlist it from the Playstore.
Also Read: How to Solve Termux Package Management Issue
The recommended ways to download and install Termux are from Github and F-droid. After you install it, open Termux from the launcher and you will see the following screen.
Enabling Storage Access on Termux
You need to provide storage permission to access Android files or save files from the Termux app. To do so, simply execute the below command to allow storage access to Termux when prompted.
$ termux-setup-storage
Below is the output of the above command.
Now all the files will be saved in the shared folder within your Android system. If the folder does not exist, then create a new folder at the /storage/emulated/0/shared
path.
Installing and Managing Termux Packages
Termux supports multiple package managers: pkg
and apt
. It is strongly recommended to use the pkg
utility instead of apt
, which is a wrapper of the PKG command that can perform a variety of tasks.
- Use
pkg in
instead ofpkg install
orapt install
. - It will automatically run the
apt update
command before installing a package. - Performs client-side repository load-balancing by automatically switching mirrors on a regular basis.
Update and Upgrade Repositories on Termux
Once the Termux application is open, you can execute the below command to update and upgrade repositories.
$ pkg upgrade
It is highly recommended to update and upgrade your existing repositories before installing the new package.
Installing Packages on Termux
You can easily install a new package on Termux by using the pkg in [PACKAGE-NAME]
command. Replace the [PACKAGE-NAME]
with your desired package.
For example, to install Python in Termux, specify Python in place of [PACKAGE-NAME]
, as shown below.
$ pkg in python
Below is the output of the above command.
Now, if you run the python
command on the terminal, you will get the Python interpreter, as shown below.
$ python
Below is the output of the above command.
Uninstalling Packages on Termux
Specify the package name with the pkg uninstall
command to remove it from your Android device.
$ pkg uninstall python
Below is the output of the above command.
It will only remove the package, but modified configuration files will be left intact. If you want to remove them, use apt purge
instead.
Termux Commands Cheatsheet
Below are the common commands used in Termux.
Commands | Descriptions |
pkg autoclean | Remove outdated .deb files from the cache. |
pkg clean | Remove all .deb files from the cache. |
pkg files [PACKAGE-NAME] | List files installed by the specified package. |
pkg list-all | List all available packages. |
pkg list-installed | List currently installed packages. |
pkg reinstall | Re-install specified package. |
pkg search [QUERY] | Search package by the query. |
pkg show | Show information about the specific package. |
Enable Other Repositories on Termux
Official Termux repositories contain all the required packages. However, some optional repositories provide content on a specific topic that can be enabled using the following commands.
Repository | Command to subscribe to the repository |
game-packages | pkg install game-repo |
science-packages | pkg install science-repo |
termux-root-packages | pkg install root-repo |
x11-packages (Android 7+ only) | pkg install x11-repo |
Or you can pick a mirror by using the termux-change-repo
command.
Wrap Up
Termux is a very useful application but lacks some features. For example, you can easily create a Python script in Termux, but GUI applications or libraries such as TensorFlow will not work on it.
Even for penetration testing, it will lack the speed while brute-forcing and cannot perform WIFI attacks.
It is good for beginners to use to get their hands on the Linux command and programming language without purchasing a big metal box.
At some point, it will be less useful for you if you require a PC to work on real-world applications. Let us know your thoughts in the comment section.

Innovative tech mind with 12 years of experience working as a computer programmer, web developer, and security researcher. Capable of working with a variety of technology and software solutions, and managing databases.