Есть ли переменная среды для установки временного каталога в системах на основе Debian?
У меня есть Java-апплет, который использует эту переменную environement, и он запутывается при запуске двух экземпляров одного и того же апплета.
Я не уверен, действительно ли 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
Часть выхода из системы опасна, потому что переменная не установлена и вы вошли в систему как root! Я бы не стал добавлять это к учетной записи root или кому-либо, кто является членом группы wheel! Соблюдайте осторожность.
Файл, который вы ищете:
/etc/environment
Вы должны установить переменную TEMP как:
TEMP=/home/user/tmp
Если вы хотите /home/user/tmp
для очистки при перезагрузке я предлагаю вам добавить @reboot
работа в личное пользование crontab
.
В C я бы использовал tmpfile () вызовите систему posix, которая позволила бы избежать столкновения. Поэтому я бы поискал аналогичный вызов Java, прежде чем пытаться реализовать его сам, если вы еще этого не сделали.
Java использует системное свойство java.io.tmpdir
для настройки временного каталога. Разумная JRE установит это на разумное значение в зависимости от системы, если это не указано явно.
Для меня это сработало, когда я пытался установить файл jar с помощью java.
export _JAVA_OPTIONS="-Djava.io.tmpdir=/apps/prod/tmp"
Я использую Red Hat Linux. /apps/prod/tmp
новая папка.
export _JAVA_OPTIONS="-Djava.io.tmpdir=<local path>"
Например:
export _JAVA_OPTIONS="-Djava.io.tmpdir=/home/user/tmp"