/ টিএমপি এবং / রান মধ্যে পার্থক্য কি?


42

FHS-3.0 এর মতে , /tmpঅস্থায়ী ফাইলগুলির /runজন্য এবং রান-টাইম ভেরিয়েবল ডেটার জন্য। ইন /runথাকা ডেটা অবশ্যই পরবর্তী বুটে মুছে ফেলা হবে, যার জন্য প্রয়োজনীয় নয় /tmp, তবে এখনও প্রোগ্রামগুলি অবশ্যই ধরে নিতে পারে না যে পরবর্তী ডেটা /tmpপরবর্তী প্রোগ্রামের সূচনায় পাওয়া যাবে। এগুলি আমার সাথে বেশ মিল বলে মনে হচ্ছে।

সুতরাং দুই এর মধ্যে পার্থক্য কি? কোন মানদণ্ড দ্বারা কোনও প্রোগ্রামের সিদ্ধান্ত নেওয়া উচিত যে অস্থায়ী ডেটা intoোকাতে হবে /tmpবা এতে রাখা উচিত /run?

এফএইচএস অনুসারে:

প্রোগ্রামগুলির একটি উপ-ডিরেক্টরি থাকতে পারে /run; এটি এমন প্রোগ্রামগুলির জন্য উত্সাহিত করা হয় যা একাধিক রান-টাইম ফাইল ব্যবহার করে।

এটি ইঙ্গিত দেয় যে "সিস্টেম প্রোগ্রাম" এবং "সাধারণ প্রোগ্রাম" এর মধ্যে পার্থক্য কোনও মানদণ্ড নয়, না হয় প্রোগ্রামের আজীবন (যেমন দীর্ঘকালীন বনাম স্বল্প চলমান প্রক্রিয়া) নয়।

যদিও নীচের যুক্তিটি এফএইচএসে দেওয়া হয়নি, তবুও /runযে সমস্যাটি /varখুব দেরিতে মাউন্ট করা হয়েছিল তা কাটিয়ে উঠার জন্য প্রবর্তন করা হয়েছিল যে /var/runপর্যাপ্ত পর্যায়ে সরবরাহ করার জন্য নোংরা কৌশলগুলি প্রয়োজন ছিল। তবে, এখন /runসূচিত হওয়ার সাথে সাথে, এবং এফএইচএসে এর বিবরণ দেওয়া হলেও, উভয় /runএবং থাকার একটি স্পষ্ট কারণ বলে মনে হয় না /tmp


11
/ tmp অস্থায়ী ডেটার জন্য * নিক্স স্ট্যান্ডার্ড অবস্থান। / রান হ'ল অস্থায়ী ডেটার জন্য কবিতা মানক অবস্থান।
চিহ্নিত করুন

উত্তর:


16

/ রান এবং / টিএমপি উভয়ই রাখার কোনও কারণ নেই

আমি মনে করি তুমি ঠিক. /tmpএখন আমাদের কাছে মূলত অবহেলিত /run। যদি আপনার প্রোগ্রামটি এমন অবস্থায় থাকে (যার জন্য এটি কোনও সুবিধাযুক্ত অপারেশন হিসাবে ইনস্টল করা দরকার ) তবে আজকাল আপনি একটি উপ ডিরেক্টরি ব্যবহার করবেন /run। এই নিরাপত্তার কারণে হয়।

উদাহরণস্বরূপ CUPS মুদ্রণ ডিমন রুট হিসাবে চলবে না, তবে সাধারণত একটি ওএস প্যাকেজ থেকে ইনস্টল করা হয়। প্যাকেজ ইনস্টল করে /usr/lib/tmpfiles.d/cups.confএবং systemd-tmpfilesএটি অ্যাক্সেস করতে পারে এমন একটি ডিরেক্টরি তৈরি করে। যেহেতু ডিরেক্টরিটি অধীন রয়েছে /run, নামটি অনিচ্ছুক ব্যবহারকারী দ্বারা দূষিতভাবে দাবি করা যায় না, এর বিপরীতে /tmpবিশ্ব-লিখনযোগ্য।

"অপ্রতিযুক্ত প্রোগ্রাম" যা /runসরাসরি ব্যবহার করতে পারে না

আসল পার্থক্যটি হ'ল যদি আপনার প্রোগ্রামটি তাদের যেকোন আইডির অধীনে একটি স্বেচ্ছাসেবক অনিবদ্ধ ব্যবহারকারী দ্বারা চালিত হয়। তবে আপনি এখনও সাধারণত ব্যবহার করতে চান না /tmp, কারণ এটি অন্যান্য অনিবদ্ধ ব্যবহারকারীদের দ্বারা অ্যাক্সেস করা যেতে পারে। আপনি ব্যবহার করতে পছন্দ করবেন $XDG_RUNTIME_DIR। সাধারণত এটি হিসাবে প্রয়োগ করা হয় /run/user/$(id -u)- সুতরাং এটি /runপাশাপাশি একটি উপ-ডিরেক্টরি হিসাবে ঘটে । যদিও অবস্থানটির নিশ্চয়তা নেই; প্রোগ্রামগুলি সর্বদা পরিবেশ পরিবর্তনশীল ব্যবহার করা উচিত।

/tmpকেবলমাত্র সিস্টেমে বিভিন্ন অনিবদ্ধ ব্যবহারকারীদের মধ্যে অ্যাড-হক সহযোগিতার জন্য কার্যকর হবে would এই জাতীয় অ্যাডহক সিস্টেমগুলি দূষিত ব্যবহারকারীর পক্ষে ঝুঁকির সাথে থাকে যা প্রত্যেকের জন্য কাজ করা এবং জিনিসগুলি ক্ষতিগ্রস্থ করতে অস্বীকার করে :)। এর একটি উদাহরণ হ'ল অনিবদ্ধ ব্যবহারকারীরা talkইউনিক্স সকেট ব্যবহার করে ডেমনটির একটি সংস্করণ চালানোর সিদ্ধান্ত নেন ।

লেনার্ট পোয়েটারিংয়ের আসল তথ্য

দ্রষ্টব্য, নীচে প্যাটারিং-এর চেকলিস্ট দাবি করেছে যে /tmp"ছোট ফাইলগুলি" এর জন্য কার্যকর হবে, যেখানে /runকেবল "যোগাযোগের আদিম" ব্যবহার করা উচিত। আমি মনে করি না এই পার্থক্যটিও সত্য। জন্য পোস্টার-ছেলে /runহয় udev, এবং আমি নিশ্চিত প্রশংসনীয় /run/udevঅভ্যন্তরীণ ডাটাবেস অন্তর্ভুক্ত করা হয়েছে। আপনার একবার /runডিরেক্টরি থাকলে, আমি মনে করি না যে কেউ দাবি করা তফাতটি অনুসরণ করতে পারে এবং বিশৃঙ্খলা করতে অন্য ডিরেক্টরি তৈরি করতে চায় /tmp। তাই অনুশীলনে আমরা /runআজকাল শুধু ব্যবহার করি ।

যোগাযোগের উদ্দেশ্যে বিশ্ব লিখনযোগ্য শেয়ারড নেমস্পেস [যেমন / টিএমপি] ব্যবহার সর্বদা সমস্যাযুক্ত হয়ে থাকে, কারণ যোগাযোগ স্থাপনের জন্য আপনার স্থির নাম প্রয়োজন, তবে স্থিতিশীল নামগুলি ডস আক্রমণের দরজা খুলে দেয়। প্রারম্ভিক বুটের সময় নির্দিষ্ট পরিষেবাগুলির জন্য সুরক্ষিত প্রতি অ্যাপ্লিকেশন ডিরেক্টরি স্থাপনের মাধ্যমে এটি আংশিকভাবে সংশোধন করা যায় (যেমন আমরা এক্স 11 এর জন্য করি) তবে এটি কেবলমাত্র আংশিকভাবে সমস্যার সমাধান করে, কারণ প্রতিটি প্যাকেজ ইনস্টলেশন পুনরায় বুট করার পরে এটি কেবল সঠিকভাবে কাজ করে।

...

ফেডোরার আরও একটি বৈশিষ্ট্য (ফেডোরার 17 এর জন্য) বিভিন্ন সিস্টেমের / tmp নেমস্পেসগুলি বিচ্ছিন্ন করে অনেকগুলি পরিষেবা পরিষেবাদিগুলিকে আরও সুরক্ষিত করার জন্য / tmp এর শব্দার্থক পরিবর্তন করেছে

...

কারণ / tmp আর অগত্যা একটি ভাগ করা নেমস্পেস নয় এটি সাধারণত যোগাযোগ আদিমদের জন্য অবস্থান হিসাবে অনুপযুক্ত।

...

[/ রান] টিএমপিএফএস হওয়ার গ্যারান্টিযুক্ত এবং তাই স্বয়ংক্রিয়ভাবে বুটে ফ্লাশ করা হয়। এর বাইরে কোনও স্বয়ংক্রিয় ক্লিন-আপ করা হয় না।

...

এখানে আমরা আপনাকে পরামর্শ দেওয়ার জন্য (একটি লিনাক্স অ্যাপ্লিকেশন বিকাশকারী) সঠিক ডিরেক্টরিটি বেছে নেওয়ার জন্য মোটামুটি গাইড এখানে রইল:

  1. আপনার সকেট (বা অন্যান্য যোগাযোগের আদিম) রাখার জন্য আপনার জায়গা প্রয়োজন এবং আপনার কোডটি সুবিধামতো রান করে: চালানো / রানের নীচে একটি উপ-ডিরেক্টরি ব্যবহার করুন। (বা অতিরিক্ত সামঞ্জস্যের নীচে / ভার / চালানো))
  2. আপনার সকেট (বা অন্যান্য যোগাযোগের আদিম) স্থাপনের জন্য আপনার একটি জায়গা দরকার এবং আপনার কোডটি অনিচ্ছাকৃতভাবে চালিত হয়: $ XDG_RUNTIME_DIR এর নীচে একটি উপ-ডিরেক্টরি ব্যবহার করুন।
  3. আপনার বৃহত্তর ডাউনলোডগুলি এবং ডাউনলোডগুলি অগ্রগতিতে চালিত করতে এবং অনিরাপদ চালাতে আপনার একটি স্থান প্রয়োজন: $ XDG_DOWNLOAD_DIR ব্যবহার করুন।
  4. আপনার ক্যাশে ফাইলগুলি রাখার জন্য একটি জায়গা দরকার যা অবিরাম থাকতে হবে এবং অনিবদ্ধভাবে চালানো উচিত: $ XDG_CACHE_Home ব্যবহার করুন।
  5. উপরের কিছুই প্রযোজ্য নয় এবং আপনার একটি ছোট ফাইল স্থাপন করা দরকার যা অবিচ্ছিন্নতার প্রয়োজন নেই: t টিএমপিডিআইআর / টিএমপি ফ্যালব্যাক সহ ব্যবহার করুন। এবং mkstemp (), এবং mkdtemp () এবং হোমগ্রাউন কিছুই ব্যবহার করুন।
  6. অন্যথায় / var / tmp এ ফ্যালব্যাক সহ $ TMPDIR ব্যবহার করুন। Mkstemp () / mkdtemp () ব্যবহার করুন।

নোট করুন যে উপরের এই বিধিগুলি কেবলমাত্র আমাদের দ্বারা প্রস্তাবিত। এই বিধিগুলি এই বিষয়টির বিষয়ে আমরা যা জানি তার সবকটি বিবেচনা করে এবং বর্তমান এবং ভবিষ্যতের বিতরণে সমস্যাগুলি এড়াতে পারে, যতদূর আমরা সেগুলি দেখতে পারি। এই নিয়মগুলি অনুসরণ করতে দয়া করে আপনার প্রকল্পগুলি আপডেট করার বিষয়ে বিবেচনা করুন এবং আপনি নতুন কোড লিখলে তা মনে রাখবেন।

একটা জিনিস আমরা চাপ দিতে চাই তা হ'ল / tmp এবং / var / tmp এর চেয়ে বেশিবার আসলে আপনার ব্যবহারের জন্য উপযুক্ত পছন্দ নয়। এই ডিরেক্টরিগুলির বৈধ ব্যবহার রয়েছে, তবে প্রায়শই অন্য ডিরেক্টরি সম্ভবত আরও ভাল জায়গা হতে পারে। সুতরাং, সাবধানতা অবলম্বন করুন, অন্যান্য বিকল্পগুলি বিবেচনা করুন, তবে আপনি যদি / tmp বা / var / tmp এ যান তবে কমপক্ষে নিশ্চিত করুন mkstemp () / mkdtemp () ব্যবহার করুন।

/tmpউপরে বর্ণিত হিসাবে আমরা উইন্ডোজ সিস্টেম দ্বারা ব্যবহৃত লিগ্যাসি সকেটটি নিয়ে দূরে চলে যাই । আমি ভুল পড়া tmpfiles.d/x11.conf। এটি দেখতে অনেকটা সহযোগিতার উপর নির্ভর করে বলে মনে হয় :)। আমি ধরে নিই কোডটি নিরীক্ষিত হয়েছে যেমন পরিষেবা অস্বীকার করা সবচেয়ে খারাপ যে ঘটতে পারে।


8
এই উত্তরটি সব ধরণের ভুল।
আর ..

@ আর .., এর উপর প্রসারিত যত্ন?
ওয়াইল্ডকার্ড

হ্যাঁ, আমি ইতিমধ্যে একটি উত্তর দিয়েছি। (একটি মন্তব্য হিসাবে শুরু হয়েছে তবে আমি বুঝতে পেরেছিলাম যে এটি একটি উত্তর বেশি))
আর ..

আমি মনে করি আমার বর্তমান উত্তরের প্রধান দুর্বলতা, যা আমি মনে করি আপনি যে দিকে কাজ করছেন, তা হ'ল প্রযুক্তিগতভাবে , XDG_RUNTIME_DIR এর সঠিক পরিচালনা করার জন্য কোনও * নিক্সের পোর্টেবল হওয়া দরকার ("অনুরূপ ক্ষমতা সহ একটি প্রতিস্থাপন ডিরেক্টরিতে ফিরে পড়ুন"), বাস্তবে এর অর্থ কী তা খুব অস্পষ্ট। পোর্টেবল ইউটিলিটি প্রোগ্রাম, এটি জন্য ভাল-সংজ্ঞায়িত মান ব্যবহার করতে ভালো /tmp( "mkstemp এটি ব্যবহার শুধুমাত্র API গুলি হওয়া উচিত (), mkdtemp () (এবং বন্ধুদের) সম্পূর্ণরূপে নিরাপদ হতে")।
সোর্সজেডি

উত্তরটি মিসও হয় সাধারণ ক্ষেত্রে: /var/runসিস্টেম ব্যাপী (উদাহরণস্বরূপ স্থানীয় ডাটাবেসে যোগাযোগ করার জন্য), /tmp/এখন প্রতি ব্যবহারকারী হিসাবে তৈরির চেয়ে বেশি । .তিহাসিকভাবে, / tmp এর কোটাও আলাদা ছিল। এবং উত্তরটি মিস করে যে ব্যবহারের একটি অর্থগত পার্থক্যও গুরুত্বপূর্ণ।
গিয়াকোমো ক্যাটেনাজি

23

ডিরেক্টরিগুলি /tmpএবং /usr/tmp(পরে /var/tmp) সমস্ত কিছুর এবং প্রত্যেকের জন্য ডাম্পিং গ্রাউন্ড হত। এই ডিরেক্টরিগুলির মধ্যে ফাইলগুলির একমাত্র সুরক্ষা ব্যবস্থা হ'ল স্টিকি বিট যা তাদের মালিকদের কাছে ফাইলগুলি মুছতে বা পুনরায় নামকরণকে সীমাবদ্ধ করে। মার্সেলম যেমন একটি মন্তব্যে উল্লেখ করেছেন, নীতিগতভাবে এমন কিছুই নেই যা কাউকে পরিষেবা (যেমন nginx.pidবা sshd.pid) দ্বারা ব্যবহৃত নাম সহ ফাইল তৈরি করতে বাধা দেয় । (অনুশীলনে, প্রারম্ভিক স্ক্রিপ্টগুলি প্রথমে এ জাতীয় বোগাস ফাইলগুলি সরিয়ে ফেলতে পারে))

/runলক, সকেট, পিড ফাইল এবং এর মতো দীর্ঘস্থায়ী পরিষেবার অ-অবিচল রানটাইম ডেটার জন্য প্রতিষ্ঠিত হয়েছিল। যেহেতু এটি জনসাধারণের পক্ষে লেখার যোগ্য নয়, তাই এটি গণ্ডগোলের মধ্যে থাকা সার্ভিস রানটাইম ডেটা /tmpএবং সেখানে পরিষ্কার হওয়া কাজগুলি থেকে ieldাল দেয় । প্রকৃতপক্ষে: আমি যে দুটি বিতরণ চালিয়েছি (কোনও শোধ করার উদ্দেশ্যে নয়) এর 755 টি অনুমতি রয়েছে /run, /tmpএবং /var/tmp(এবং /dev/shmসেই বিষয়ে) 1777 এর অনুমতি রয়েছে।


3
মেসের মধ্যে থেকে সার্ভিস রানটাইমের ডেটা আলাদা করার পক্ষে এটি রয়েছে/tmp - এছাড়াও বিভিন্ন ক্লিনআপ কাজের যে তথ্যগুলি জুড়ে পদদলিত হয় সেগুলি থেকে উপাত্তের জন্য একটি নিরাপদ বন্দরের সরবরাহ করা /tmp
স্যাট কাটসুরা

অনুমতি সম্পর্কে তথ্যের জন্য ধন্যবাদ। তবে এফএইচএস অনুসারে "প্রোগ্রামগুলির / রানের একটি উপ-ডিরেক্টরি থাকতে পারে; এটি এমন প্রোগ্রামগুলির জন্য উত্সাহিত করা হয় যা একাধিক রান-টাইম ফাইল ব্যবহার করে" " - এটি "দীর্ঘজীবী পরিষেবা" মানদণ্ডের পাশাপাশি প্রোগ্রামগুলির সীমিত অনুমতিগুলির কারণে তাদের সাব-ডিরেক্টরিগুলি তৈরি করতে অক্ষমতার সাথে উভয়ই বিরোধিতা করে বলে মনে হচ্ছে।
ডার্ক হার্মান

পুনঃটুইট কটাক্ষপাত আছে /runএবং জটিল (ভাল ...) ডিরেক্টরির দ্বারা সৃষ্ট গঠন খুঁজে বার করো udev, udiskএই বিশেষ ইস্যুতে বিশেষজ্ঞ নই ইত্যাদি আমি, কিন্তু আমি বুট স্ক্রিপ্ট সেট সবকিছু আপ (যা সুপার-ইউজার হিসাবে চালানো হয়) অনুমান।
কাউন্টারমোড

2
"/ রান প্রযুক্তিগতভাবে প্রয়োজনীয় নয়, কেবলমাত্র সার্ভিস রানটাইম ডেটা / টেম্পে মেস থেকে পৃথক করা যায়" " - ভাল জিনিসও, সুতরাং অনিবদ্ধ প্রক্রিয়াগুলির নাম সিস্টেম পরিষেবাগুলি ব্যবহার করতে চাইছে না at এনজিনেক্স ব্যবহার করতে চাইলে কিন্ডা চুষে ফেলে /tmp/nginx.pidতবে কিছু দুর্ব্যবহার প্রোগ্রামের কারণে এটি ইতিমধ্যে বিদ্যমান। /run/এটিকে লেখার জন্য বিশেষাধিকারের প্রয়োজনে এটি প্রতিরোধ করে।
মার্চেল

18

/tmpঅস্থায়ী ফাইল এবং ডিরেক্টরি তৈরির জন্য অবস্থান। এটি "সুপরিচিত নামগুলি" সংরক্ষণ করার জন্য ব্যবহারযোগ্য নয় (যেমন নামগুলির কোনও প্রক্রিয়া আপনাকে কোনওভাবে নাম না জানিয়েই অন্য একটি প্রক্রিয়া সম্পর্কে সচেতন হতে পারে) কারণ নামের জায়গার উপর কারও মালিকানা নেই; যে কেউ সেখানে ফাইল তৈরি করতে পারে। যেমন আপনি সাধারণত এটি ব্যবহার করেন যখন আপনার কোনও ইউটিলিটি থাকে যা ইনপুট বা আউটপুট হিসাবে কোনও ফাইলের (যেমন পাইপ বা এর মতো নয়) প্রয়োজন হয়, যেখানে কোনও নাম (এলোমেলোভাবে উত্পন্ন) নামটি যতক্ষণ প্রবেশ করবে ততক্ষণ কাজ করবে।

.তিহাসিকভাবে, কিছু জিনিস (এক্স এর মতো) এই নীতিটি লঙ্ঘন করেছে এবং সুপরিচিত নামগুলি (যেমন .X11-unix) এনেছে /tmp। এটি অবশ্যই বগি এবং কোনও ব্যবহারকারীকে প্রথমে পছন্দসই নামের সাথে একটি ফাইল তৈরি করার জন্য রেসিংয়ের মাধ্যমে সার্ভিসটিকে ডস করার অনুমতি দেয়। এই জাতীয় জিনিসগুলি /run(বা সমানভাবে /var/runআপনি যদি ফ্রিডেস্কটপ.অর্গ.আরভিশনবাদে সাবস্ক্রাইব না করেন) এর অন্তর্ভুক্ত। অবশ্যই আরও ভাল হ'ল তাদেরকে বিশ্বব্যাপী নেমস্পেসে সুপরিচিত নামগুলি ব্যবহার না করার পরিবর্তে কোনও পথের নামের পাশ দিয়ে যাওয়া ঠিক করা।


"অস্থায়ী ফাইলগুলি" সম্পর্কে আরও কিছু সংজ্ঞার জন্য ধন্যবাদ। যদিও আমি মনে করি না "কোনও পথের আশেপাশে পাস করুন" কীভাবে একটি সমন্বয় বিন্দু প্রতিষ্ঠা করবেন তা ব্যাখ্যা করে। অর্থাৎ সাধারণত আপনি একটি পরিবেশের পরিবর্তনশীল ব্যবহার করবেন। দেখে মনে হচ্ছে এটিকে কাজ করতে পর্যাপ্ত পরিমাণ সকেট এবং পাইপ রয়েছে (সাধারণ ব্যবহারে)। (আংশিক কারণ অনেকগুলি একই ডিবিস সকেটের উপর দিয়ে চলবে)। দেখে মনে হচ্ছে পরিবেশটি সেট করতে বিরক্তিকর হবে যদি প্রোগ্রামগুলি যদি হার্ডকোডযুক্ত পথে ডিফল্ট না হয়। আপনি সিস্টেমেড .socketফাইলগুলিতে একটি নতুন কী যুক্ত করতে পারেন ... তবে এটি পুরো ডিরেক্টরিগুলিতে, বা নতুন ইনস্টল করা পরিষেবার ক্ষেত্রে সহায়তা করে না
সোর্সজেডি

2
/run/এফএইচএস নিজেই গ্রহণ করেছিল, fd.o এর সাথে এর কীভাবে কিছু করার আছে তা আমি দেখতে পাচ্ছি না আমরা যা বলতে চেয়েছি তা যদি না হয় তবে অনির্দিষ্ট বিকাশের প্রচেষ্টা যা উভয়কেই অবদান রেখেছে।
সোর্সজেদি

আমার মনে হয় লিখিত হিসাবে প্রশ্নের উত্তর দেওয়ার জন্য এখানে প্রাথমিক উত্তরটি সর্বোত্তম উত্তর। আমি মনে করি এটি বিবেচনা করে আরও উন্নতি করা হবে: _ যখন সফ্টওয়্যার দ্বারা ডেডিকেটেড ডিরেক্টরিতে যেমন লেখার অ্যাক্সেস থাকে উদাহরণস্বরূপ /run, এটি /tmpআরও বেশি ফাইল সহ ভাগ করা ডিরেক্টরিকে তালগোল পাকানো এড়াতে পছন্দ করতে পারে ।
সোর্সজেডি

"Fd.o" কী?
TRIG

7

ফাইল সিস্টেম হায়ারার্কি স্ট্যান্ডার্ড অনুযায়ী,

  • /run রানটাইম ভেরিয়েবল ডেটার জন্য, যেমন রিবুট হওয়ার পর থেকে চলমান সিস্টেম সম্পর্কে তথ্য
  • /tmp অস্থায়ী ফাইলগুলির জন্য সাধারণ জায়গা।

ডেমন স্ট্যাটাস, লগ-ইন করা ব্যবহারকারী, মাউন্ট করা অপসারণযোগ্য ডিভাইস ইত্যাদির বিষয়ে যে /runকোনও কিছু প্রবেশ করতে পারে যখন কোনও প্রোগ্রাম দ্বারা তৈরি অস্থায়ী ফাইলগুলি প্রবেশ করতে পারে /tmp

সম্পাদনা করুন: নীচের মন্তব্যে @ জেডিবিপি দ্বারা চিহ্নিত হিসাবে,

এফএইচএস ক্রোন জবসের প্রচলিত সেটআপের মতো জিনিসের জন্য অনুমতি দেয় যা নিয়মিত /tmp"পুরানো" ফাইলগুলি পরিষ্কার করে; জন্য দেয়ার উদ্দেশ্যে করা এমন কোন মেকানিজম সঙ্গে /run। তাই প্রোগ্রামগুলি যে কোনও কিছুতে আজীবন প্রত্যাশা করতে পারে তার জন্য কঠোর সীমা /tmp। প্রোগ্রামগুলি /runক্রমাগত আপ সিস্টেমে ফাইলগুলিতে বেশি দিন বেঁচে থাকার প্রত্যাশা করতে পারে, সেদিকেও তারা নিজেরাই আরও পরিশ্রুত থাকবে বলে আশা করা যায়।


4
এই বা অন্য কোনও উত্তরে একটি বিষয় নির্দেশিত নয়, তবে এফএইচএসে উল্লেখ করা হয়েছে এবং যা দিয়ে আপনি নিজের উত্তরটি উন্নত করতে পছন্দ করতে পারেন: এফএইচএস ক্রোন জবসের প্রচলিত সেটআপের মতো জিনিসগুলির জন্য অনুমতি দেয় যা নিয়মিত /tmp"পুরানো" ফাইলগুলি মুছে দেয় ; জন্য দেয়ার উদ্দেশ্যে করা এমন কোন মেকানিজম সঙ্গে /run। তাই প্রোগ্রামগুলি যে কোনও কিছুতে আজীবন প্রত্যাশা করতে পারে তার জন্য কঠোর সীমা /tmp। প্রোগ্রামগুলি /runক্রমাগত আপ সিস্টেমে ফাইলগুলিতে বেশি দিন বেঁচে থাকার প্রত্যাশা করতে পারে, সেদিকেও তারা নিজেরাই আরও পরিশ্রুত থাকবে বলে আশা করা যায়।
জেডিবিপি

1
প্রক্রিয়াটি মারা যাওয়ার সাথে সাথে জিনিসপত্রের প্রতি-প্রক্রিয়া ডিরেক্টরিটি অদৃশ্য হয়ে যায় যা (বা কোনও ঘোরাঘুরির আবর্জনা ডিমন দ্বারা মুছে ফেলার অনুমতি দেওয়া হয়েছিল) পাওয়া ভাল হবে।
সর্বময়

1
@ ওমনিফেরিয়াস আপনি এখন রানটাইমডাইরেক্টরি = :-) ব্যবহার করে সিস্টেমড সার্ভিসের জন্য সেই আচরণটি পেতে পারেন ।
সোর্সজেদি
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.