Varsayılan / tmp / / home / user / tmp olarak nasıl değiştirilir


Yanıtlar:


17

Java uygulamasının başlamadan önce ortam değişkenlerine gerçekten bakıp bakmayacağından emin değilim, ancak ne yapabileceğinizi düzenle / etc / profile ve aşağıdaki satırları ekleyin:

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

Gerçek bir tmp dizini yapmak için (oturum sona erdiğinde dosyalarda olduğu gibi, kullanıcının .bash_logout'u ve .bash_logout (/etc/skel/.bash_logout) iskeletini aşağıdakileri içerecek şekilde düzenlemek istersiniz. :

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

Çıkış kısmı tehlikeli, değişken ayarlanmıyor ve root olarak giriş yaptınız! Bunu root hesabına veya tekerlek grubunun üyesi olan hiç kimseye eklemezdim! Dikkatli olun.


3
Temizlemeyi .bash_logout'a hiç koymam - iki oturum açıp bir oturumdan çıkarlarsa ne olur? Tmpwatch kullanın. :)
— MikeyB

Bu çok daha iyi bir temizleme çözümü, eklediğiniz için teşekkürler. :)
— TrueDuality

Not: tmpwatchtaşınabilirlik için giden herkes için komut unix'in BSD (örn. OSX) sürümünde mevcut değildir. Benim CentOS kutularım var. :)
— Cometsong

8

Aradığınız dosya:

/etc/environment

TEMP değişkenini aşağıdaki gibi ayarlamanız gerekir:

TEMP=/home/user/tmp

2
Ve hattaexport TEMP=/home/user/tmp
— Fedir RYKHTIK

@ Kabuktaki fedir, evet.
— cstamas

2

İsterseniz /home/user/tmpyeniden başlatma üzerinde temizlenecek, sana bir eklemenizi tavsiye @rebootkullanıcının kişisel bir işi crontab.


1

C'de, çarpışmayı önleyecek bir posix sistemi için tmpfile () çağrısını kullanırdım. Bu yüzden, daha önce yapmadıysanız, kendim uygulamaya başlamadan önce benzer bir Java çağrısı ararım.


Bu, uygulamayı geliştiren kişi olduğunu varsayar
— TrueDuality

TrueDuality: Ah, benim hatam
— Kyle Brandt

1
Java vardır java.io.File.createTempFile. Şimdi eklenen güvenli RNG ile.
— Tom Hawtin - tackline

1

Java java.io.tmpdir, geçici dizini yapılandırmak için system özelliğini kullanır . Makul bir JRE, açıkça belirtilmezse, sistemi temel alan makul bir değere ayarlar.


1

Benim için bu java kullanarak bir kavanoz dosyası yüklemeye çalışırken çalıştı.

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

Red Hat Linux kullanıyorum. /apps/prod/tmpyeni klasör olmak.


Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.