如何将default / tmp更改为/ home / user / tmp

有没有一个环境variables来设置基于debian的系统上的临时目录?

我有一个使用该环境variables的Java小应用程序,当启动同一个小应用程序的两个实例时,它变得困惑。

我不确定java applet是否会在启动之前真正查看环境variables,但是您可以编辑/ etc / profile并添加以下行:

if [[ -O /home/$USER/tmp && -d /home/$USER/tmp ]]; then TMPDIR=/home/$USER/tmp else # You may wish to remove this line, it is there in case # a user has put a file 'tmp' in there directory or a rm -rf /home/$USER/tmp 2> /dev/null mkdir -p /home/$USER/tmp TMPDIR=$(mktemp -d /home/$USER/tmp/XXXX) fi TMP=$TMPDIR TEMP=$TMPDIR export TMPDIR TMP TEMP 

为了使它成为一个真正的tmp目录(如文件在会话结束时消失,您将需要编辑用户的.bash_logout以及骨架.bash_logout(/etc/skel/.bash_logout)以包含以下内容:

 if [ -O $TMPDIR && -d $TMPDIR ]; then rm -rf $TMPDIR/* fi 

注销部分是危险的variables没有得到设置,并以root身份login! 我不会将此添加到根帐户或轮组的成员的任何人! 谨慎行事。

您正在寻找的文件是:

 /etc/environment 

您必须设置TEMPvariables,如:

 TEMP=/home/user/tmp 

如果你想在重新启动时清理/home/user/tmp ,我build议你在用户的个人crontab添加@reboot作业。

在C中,我将使用tmpfile()调用posix系统,这将避免碰撞。 所以我会在尝试自己实现之前寻找类似的Java调用,如果还没有的话。

Java使用系统属性java.io.tmpdir来configuration临时目录。 如果没有明确规定,合理的JRE将根据系统将其设置为合理的值。

对于我这个工作,当我试图安装使用Java的jar文件。

 export _JAVA_OPTIONS="-Djava.io.tmpdir=/apps/prod/tmp" 

我使用Red Hat Linux。 /apps/prod/tmp是新的文件夹。