Bu da nerden çıktı şimdi, tüm kullanıcılar paşa paşa tek bir TEMP klasörünü kullansınlar, ne gereği var ? diyebilirsiniz.
Yanıtı : Eğer bir programı farklı kullanıcılarda aynı anda çalıştırmak isterseniz, aynı TEMP klasörünü kullandığı için ikinci çalıştıracağınız program ” program zaten çalışıyor ” diyerek hata verecektir. Bunu çözmenin yolu da her kullanıcıya farklı TEMP klasörü tanımlamaktan geçiyor. Ben size Linux ta bunun nasıl yapılacağını aşağıda anlatacağım.
Anlatacağım işlemi Centos 6 , centos 7, Ubuntu 14, Ubuntu 16 işletim sistemlerinde denedim. Muhtemelen diğer işletim sistemlerinde de sorunsuz çalışacaktır. Böyle bir işleme ihtiyacınız varsa denemenizi tavsiye ederim.
TEMP klasörünü her kullanıcıya ayrı tanımlamak için yapacağımız işlem kısa ve basittir. İşleme başlamadan önce nano editör sisteminizde yüklü değilse işletim sisteminize göre aşağıdaki komutu terminal ekranına girerek nano editör ü yükleyin. Ben başka editör kullanacağım derseniz bu adımı atlayabilirsiniz
# CENTOS 5 , CENTOS 6 CENTOS 7
yum -y install nano
# UBUNTU 10, 12, 14, 16 – DEBIAN
sudo apt-get -y install nano
Aşağıdaki komut satırını terminal ekranına yazarak /etc/profile dosyasını nano editör ile açın.
sudo nano /etc/profile
Aşağıdaki kodu ilk satırdan itibaren kopyala yapıştır yapın. Yapıştırdıktan sonra CTRL + O ya basın, ENTER ‘ a basarak kaydedin ve CTRL + X ‘ e basarak nano editörden çıkın.
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
Sisteminizi REBOOT ettikten sonra artık her kullanıcının kendine ait bir TEMP klasörü olacaktır. TMP klasörünün yolu /home/kullanıcı_adı/tmp altında olacaktır. Artık aynı TMP klasörünü kullandığı için birden fazla kullanıcıda çalışmayan scriptleriniz, programlarınız sorunsuz ve sınırsız kullanıcıda çalışacaktır.
BONUS :
Her kullanıcıya ayrı TMP kLasörü oluşturduğumuz için artık ” her tmp klasörünü tek tek temizleme zahmeti bonusu” kazandık 🙂
İşin kolayı varken, her TMP klasörünü elle temizlemeyeceğimiz için aşağıdaki işlemi yapıyoruz veee kullanıcı logout yaptığında tmp klasörü otomatik olarak temizleniyor. Bu zahmetten de kurtulmuş oluyoruz.
Aşağıda yolu belirtilen doSyayı nano editörle, komutu terminal ekranına girerek açıyoruz.
sudo nano /etc/skel/.bash_logout
Aşağıdaki satırı açtığımız dosyanın içine kopyala yapıştır yapıyoruz. CTRL + O ya basıyoruz ENTER ‘a basarak kaydediyoruz ve CTRL + X e basarak nano editörden çıkıyoruz. Sistemi Reboot ettiğimizde işlem devreye girmiş oluyor.
if [ -O $TMPDIR && -d $TMPDIR ]; then
rm -rf $TMPDIR/*
fi
Linux’ un ihtiyaçları nızı düşünüp karşılayan, esnek bir işletim sistemi olduğunu , bu konu itibariyle bir kez daha görmüş olduk. Bol güneşli günler dilerim, sağlıcakla kalın.