---
title: Minimize installed software
description: Reduce the attack surface by removing unnecessary applications and commands, keeping only the minimal dependencies PingDirectory and support tools need.
component: pingdirectory
version: 10.2
page_id: pingdirectory:pingdirectory_security_guide:pd_sec_minimize_installed_software
canonical_url: https://docs.pingidentity.com/pingdirectory/11.1/pingdirectory_security_guide/pd_sec_secure_host_system.html
llms_txt: https://docs.pingidentity.com/pingdirectory/llms.txt
docs_for_agents: https://developer.pingidentity.com/build-with-ai/docs-for-agents.md
revdate: 2023-09-13T00:00:00Z
---

# Minimize installed software

Each application or command on a system is potentially a security hole that could provide unauthorized users a way to get into the system.

The PingDirectory software has a minimal set of dependencies. As a pure Java application, its primary dependency is the Java Virtual Machine (JVM). However, troubleshooting and support data collection tools might rely on other operating system utilities to obtain information about the state of the underlying system. On Linux, these tools include:

* `cat`

* `crontab`

* `df`

* `dmesg`

* `dstat`

* `ethtool`

* `gstack`

* `ifconfig`

* `iostat`

* `ip`

* `jinfo`

* `jmap`

* `journalctl`

* `jps`

* `jstack`

* `ls`

* `mpstat`

* `netstat`

* `pidstat`

* `pmap`

* `ps`

* `pstack`

* `sar`

* `sh`

* `ss`

* `sysctl`

* `systemctl`

* `tail`

* `top`

* `tuned-adm`

* `udevadm`

* `uname`

* `uptime`

* `vmstat`

Consider removing software that is not a critical part of the operating system, such as not needed to run the JVM, and that is not needed to run the previous troubleshooting and data collection tools.
