답변:
Java 애플릿이 실제로 환경 변수를 시작하기 전에 실제로 볼 것인지는 확실하지 않지만 / 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
로그 아웃 부분은 변수가 설정되지 않고 루트로 로그인되어 위험합니다! 루트 계정이나 휠 그룹의 구성원 인 사람에게는 이것을 추가하지 않습니다! 주의해서 진행하십시오.
tmpwatch
BSD (예 : OSX) 버전의 유닉스에는이 명령이 존재하지 않습니다. 내 CentOS 상자에 있습니다. :)
찾고있는 파일은 다음과 같습니다.
/etc/environment
TEMP 변수를 다음과 같이 설정해야합니다.
TEMP=/home/user/tmp
export TEMP=/home/user/tmp
C에서는 충돌을 피하는 posix 시스템에 대해 tmpfile () 호출을 사용합니다 . 따라서 아직 구현하지 않은 경우 직접 구현하기 전에 비슷한 Java 호출을 찾습니다.
java.io.File.createTempFile
. 이제 보안 RNG가 추가되었습니다.
Java는 시스템 특성 java.io.tmpdir
을 사용하여 임시 디렉토리를 구성합니다. 합리적인 JRE는 명시 적으로 지정되지 않은 경우 시스템에 따라 적절한 값으로 설정합니다.
export _JAVA_OPTIONS="-Djava.io.tmpdir=<local path>"
예 :
export _JAVA_OPTIONS="-Djava.io.tmpdir=/home/user/tmp"