Existe-t-il une variable d'environnement pour définir le répertoire temporaire sur les systèmes basés sur Debian?
J'ai un Java applet utilisant cette variable d'environnement et qu'il est confus lors du lancement de deux instances de la même applet.
Je ne sais pas si le Java Applet examinera réellement les variables d'environnement avant qu'il ne commence, mais ce que vous pouvez le faire édition/etc/profil et ajouter les lignes suivantes:
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
Pour en faire un vrai répertoire TMP (comme dans les fichiers disparaît lorsque la session est terminée, vous souhaitez modifier l'utilisateur .bash_logout ainsi que le squelette .bash_logout (/etc/skel/.bash_logout) pour inclure les éléments suivants. :
if [ -O $TMPDIR && -d $TMPDIR ]; then
rm -rf $TMPDIR/*
fi
La partie de déconnexion est dangereuse est la variable ne se déroule pas et votre connectée en tant que root! Je n'en ajouterais pas cela au compte root ou à quiconque est membre du groupe de roues! Procéder à votre propre prudence.
Le fichier que vous recherchez est:
/etc/environment
Vous devez définir la variable TEMP comme suit:
TEMP=/home/user/tmp
Si tu veux /home/user/tmp
Pour être nettoyé sur Redémarrage, je vous suggère d'ajouter un @reboot
Travail au personnel de l'utilisateur crontab
.
Dans C, j'utiliserais le TMPFile () Appel d'un système POSIX, qui éviterait la collision. Je chercherais donc un exemple similaire Java appel avant d'essayer de le mettre en œuvre moi-même, si vous ne l'avez pas déjà fait.
Java utilise la propriété système Java.io.tmpdir
Pour configurer le répertoire temporaire. Un JRE raisonnable définira cela à une valeur raisonnable basée sur le système s'il n'est pas explicitement spécifié.
Pour moi, cela a fonctionné lorsque j'essayais d'installer un fichier JAR à l'aide de Java.
export _Java_OPTIONS="-Djava.io.tmpdir=/apps/prod/tmp"
J'utilise un rouge chapeau Linux. /apps/prod/tmp
étant le nouveau dossier.
export _Java_OPTIONS="-Djava.io.tmpdir=<local path>"
Par exemple:
export _Java_OPTIONS="-Djava.io.tmpdir=/home/user/tmp"