Come modificare l'impostazione predefinita / tmp in / home / utente / tmp


Risposte:


17

Non sono sicuro se l'applet java guarderà effettivamente le variabili di ambiente prima che inizi, ma cosa puoi fare modifica / etc / profile e aggiungi le seguenti righe:

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

Per renderlo una vera directory tmp (come nei file scompare al termine della sessione, ti consigliamo di modificare .bash_logout dell'utente e lo scheletro .bash_logout (/etc/skel/.bash_logout) per includere quanto segue :

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

La parte di logout è pericolosa se la variabile non viene impostata e il tuo login come root! Non lo aggiungerei all'account di root o a chiunque sia membro del gruppo di ruote! Procedere con la propria cautela.


3
Non metterei affatto la pulizia in .bash_logout - cosa succede se aprono due sessioni e si disconnettono da una? Usa tmpwatch. :)
MikeyB,

Questa è una soluzione di pulizia molto migliore, grazie per averla aggiunta. :)
TrueDuality,

NB: il tmpwatchcomando non esiste sulla versione BSD (ad es. OSX) di unix, per chiunque voglia portabilità. Le mie scatole CentOS ce l'hanno però. :)
Cometsong,

8

Il file che stai cercando è:

/etc/environment

Devi impostare la variabile TEMP come:

TEMP=/home/user/tmp

2
E ancheexport TEMP=/home/user/tmp
Fedir RYKHTIK il

@Fedir che è nella shell, sì.
cstamas,

2

Se vuoi /home/user/tmpessere ripulito al riavvio, ti suggerisco di aggiungere un @rebootlavoro al personale dell'utente crontab.



1

Java utilizza la proprietà di sistema java.io.tmpdirper configurare la directory temporanea. Un JRE ragionevole lo imposterà su un valore ragionevole basato sul sistema se non esplicitamente specificato.


1

Per me questo ha funzionato quando stavo cercando di installare un file jar usando Java.

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

Uso un Red Hat Linux. /apps/prod/tmpessendo la nuova cartella.


Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.