Cara mengubah default / tmp ke / home / user / tmp


Jawaban:


17

Saya tidak yakin apakah java applet akan benar-benar melihat variabel lingkungan sebelum dimulai, tetapi apa yang dapat Anda lakukan mengedit / etc / profile dan menambahkan baris berikut:

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

Untuk menjadikannya direktori tmp yang benar (seperti pada file yang hilang saat sesi berakhir, Anda harus mengedit .bash_logout pengguna serta kerangka .bash_logout (/etc/skel/.bash_logout) untuk menyertakan yang berikut ini :

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

Bagian logout berbahaya adalah variabel tidak disetel dan Anda masuk sebagai root! Saya tidak akan menambahkan ini ke akun root atau siapa pun yang merupakan anggota grup wheel! Lanjutkan dengan hati-hati.


3
Saya tidak akan memasukkan pembersihan ke .bash_logout sama sekali - apa yang terjadi jika mereka membuka dua sesi dan keluar dari satu? Gunakan tmpwatch. :)
MikeyB

Itu adalah solusi pembersihan yang jauh lebih baik, terima kasih telah menambahkan itu. :)
TrueDuality

NB: tmpwatchperintah tidak ada pada BSD (misalnya OSX) versi unix, untuk siapa saja yang ingin portabilitas. Kotak CentOS saya memilikinya. :)
Cometsong

8

File yang Anda cari adalah:

/etc/environment

Anda harus mengatur variabel TEMP seperti:

TEMP=/home/user/tmp

2
Dan bahkanexport TEMP=/home/user/tmp
Fedir RYKHTIK

@ Fedir yang ada di shell, ya.
cstamas

2

Jika Anda ingin /home/user/tmpdibersihkan saat reboot, saya sarankan Anda menambahkan @rebootpekerjaan ke pribadi pengguna crontab.


1

Dalam C, saya akan menggunakan panggilan tmpfile () untuk sistem posix, yang akan menghindari tabrakan. Jadi saya akan mencari panggilan Java yang sama sebelum mencoba mengimplementasikannya sendiri, jika Anda belum melakukannya.


Ini mengasumsikan dia adalah orang yang mengembangkan aplikasi
TrueDuality

TrueDuality: Ah, saya kesalahan
Kyle Brandt

1
Jawa memiliki java.io.File.createTempFile. Sekarang dengan menambahkan RNG aman.
Tom Hawtin - tackline

1

Java menggunakan properti sistem java.io.tmpdiruntuk mengkonfigurasi direktori sementara. JRE yang masuk akal akan menetapkan nilai yang masuk akal berdasarkan sistem jika tidak ditentukan secara eksplisit.


1

Bagi saya ini berfungsi ketika saya mencoba menginstal file jar menggunakan java.

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

Saya menggunakan Red Hat Linux. /apps/prod/tmpmenjadi folder baru.


Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.