Elasticsearch在/tmp
中创建目录。这些目录用于执行jna
和libffi
的本地代码。大多数时候这些目录是空的,名称类似elasticsearch.KNoHBn19
。更多信息here。
当运行Elasticsearch多年,它填补了root(/)
目录,由于目录创建的Elasticsearch在/tmp
.要覆盖这一点,我可以指向Elasticsearch临时目录到另一个磁盘通过设置ES_TMPDIR
.但仍然有成千上万的空目录.
删除Elasticsearch创建的这些旧的空目录安全吗?或者Elasticsearch将使用tmp中创建的所有空目录。
1条答案
按热度按时间z9ju0rcb1#
JNA在启动时将其原生库安装在一个临时目录中,加载后,就不再使用该路径;JNA使用的libffi也是如此。删除这些JNA临时目录/文件是安全的。这些临时目录/文件的位置由JNA和libffi的临时目录环境变量控制,如您问题中的链接所述。
ElasticSearch在执行期间使用自己的临时目录。从the documentation:
服务自动配置专用临时目录,以便Elasticsearch在运行时使用。此专用临时目录配置为运行安装的用户的专用临时目录的子目录。如果服务将在其他用户下运行,通过将环境变量
ES_TMPDIR
设置为首选,可以配置服务应使用的临时目录的位置位置,然后再执行服务安装。所以如果你现在没有运行Elasticsearch,你可以删除所有这些文件,但是如果你正在运行它,这些文件/目录可能正在使用,你不应该删除它们。
我怀疑在这种情况下,可执行文件可能会锁定文件,防止它们被意外删除,但尚未证实这一点。如果没有,则将
ES_TMPDIR
的写入权限限制为Elasticsearch用户将非常有用。