কীভাবে ডিফল্ট / tmp কে / home / user / tmp এ পরিবর্তন করবেন


14

ডেবিয়ান ভিত্তিক সিস্টেমে অস্থায়ী ডিরেক্টরি সেট করার জন্য কি পরিবেশের পরিবর্তনশীল রয়েছে?

আমার কাছে একটি জাভা অ্যাপলেট রয়েছে যা সেই পরিবেশগত পরিবর্তনশীলটি ব্যবহার করে এবং একই অ্যাপলেটটির দুটি উদাহরণ চালু করার সময় এটি বিভ্রান্ত হয়ে পড়ে।


উত্তর:


17

আমি নিশ্চিত নই যে জাভা অ্যাপলেটটি শুরু হওয়ার আগেই পরিবেশের ভেরিয়েবলগুলি দেখে কিনা তবে আপনি এটি / etc / প্রোফাইল সম্পাদনা করতে এবং নিম্নলিখিত লাইনগুলি যুক্ত করতে পারেন কি না:

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

এটিকে সত্যিকারের টিএমপি ডিরেক্টরি করতে (অধিবেশনটি শেষ হওয়ার পরে ফাইলগুলি যেমন মুছে যায়, ততক্ষণ আপনি ব্যবহারকারীর .bash_logout পাশাপাশি কঙ্কাল .বাশ_লগআউট (/etc/skel/.bash_logout) সম্পাদনা করতে চান নিম্নলিখিতগুলি অন্তর্ভুক্ত করতে :

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

লগআউট অংশটি বিপজ্জনক হ'ল ভেরিয়েবলটি সেট হয় না এবং আপনার রুট হিসাবে লগ ইন হয়! আমি এটিকে রুট অ্যাকাউন্টে বা হুইল গ্রুপের সদস্য এমন কাউকে যুক্ত করব না! আপনার নিজের সাবধানতা অবলম্বন করুন।


3
আমি ক্লিনআপটি মোটেই .বাশ_লগআউটে রাখব না - যদি তারা দুটি সেশন খোলায় এবং একটিতে লগ আউট করে তবে কী হবে? Tmpwatch ব্যবহার করুন। :)
মাইকিবি

এটি একটি আরও পরিষ্কার পরিচ্ছন্নতার সমাধান, যোগ করার জন্য ধন্যবাদ। :)
ট্রুডুয়ালিটি

এনবি: যে tmpwatchকোনও লোক বহনযোগ্যতার জন্য যাচ্ছেন তার জন্য ইউনিক্সের বিএসডি (যেমন ওএসএক্স) সংস্করণে কমান্ডটি বিদ্যমান নেই। আমার CentOS বাক্সগুলিতে এটি রয়েছে। :)
কমেটসং

8

আপনি যে ফাইলটি সন্ধান করছেন তা হ'ল:

/etc/environment

আপনাকে টিএমপি ভেরিয়েবলটি সেট করতে হবে যেমন:

TEMP=/home/user/tmp

2
এবং এমনকিexport TEMP=/home/user/tmp
ফেদির আরওয়াইকিটিক

@ ফেডির যা শেলের মধ্যে রয়েছে, হ্যাঁ।
সিস্তামাস

2

আপনি যদি /home/user/tmpপুনরায় বুট থেকে পরিষ্কার হতে চান তবে আমি আপনাকে @rebootব্যবহারকারীর ব্যক্তিগত সাথে একটি কাজ যুক্ত করার পরামর্শ দিই crontab


1

সি তে, আমি পম্পিক্স সিস্টেমের জন্য tmpfile () কলটি ব্যবহার করতাম , যা সংঘর্ষ এড়াতে পারে। সুতরাং আমি নিজে এটি প্রয়োগ করার চেষ্টা করার আগে আমি অনুরূপ জাভা কলটি সন্ধান করব, যদি আপনি ইতিমধ্যে না করে থাকেন।


এটি ধরে নিয়েছে যে তিনিই সেই অ্যাপ্লিকেশনটি বিকাশ করছেন
ট্রুডুয়ালিটি

সত্য দ্বৈততা: আহ, আমার ভুল
কাইল ব্র্যান্ড্ট

1
জাভা আছে java.io.File.createTempFile। এখন যুক্ত সুরক্ষিত আরএনজি সহ।
টম হাটিন -

1

জাভা java.io.tmpdirঅস্থায়ী ডিরেক্টরিটি কনফিগার করতে সিস্টেমের সম্পত্তি ব্যবহার করে । একটি যুক্তিসঙ্গত জেআরই সেটাকে সিস্টেমের উপর ভিত্তি করে একটি স্পষ্টভাবে নির্দিষ্ট না করে সেট করে value


1

আমার জন্য এটি কাজ করেছিল যখন আমি জাভা ব্যবহার করে একটি জার ফাইল ইনস্টল করার চেষ্টা করছিলাম।

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

আমি একটি রেড হ্যাট লিনাক্স ব্যবহার করি। /apps/prod/tmpনতুন ফোল্ডার হচ্ছে।


আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.