यह फ़ोल्डर / रन / उपयोगकर्ता / 1000 क्या है?


84

यह फ़ोल्डर क्या है: /run/user/1000मेरे फेडोरा सिस्टम पर और यह क्या करता है?

~ $ df -h
Filesystem      Size  Used Avail Use% Mounted on
tmpfs           1.2G   20K  1.2G   1% /run/user/1000

EDIT: 7 जून 2019

मेरे दो उत्तर इस बात पर सहमत नहीं हैं कि इस स्थान पर संग्रहीत निर्देशिका कहाँ या कहाँ हैं:

पैट्रिक :

इससे पहले systemd, ये एप्लिकेशन आमतौर पर अपनी फ़ाइलों को संग्रहीत करते हैं /tmp

और फिर से यहाँ:

/tmpकेवल वही स्थान निर्दिष्ट किया गया था FHSजो सभी उपयोगकर्ताओं द्वारा स्थानीय और योग्य है।

ब्रियम :

इस निर्देशिका के उद्देश्यों को एक बार द्वारा परोसा गया था /var/run। सामान्य तौर पर, बैकवर्ड संगतता के प्रयोजनों के /var/runलिए निर्धारित आवश्यकताओं को पूरा करने के लिए कार्यक्रमों का उपयोग जारी रह सकता है /run

और फिर से यहाँ:

जिन कार्यक्रमों का उपयोग करने के लिए माइग्रेट किया गया /runहै /var/run, उनके उपयोग को बंद कर देना चाहिए , सिवाय इसके कि खंड में उल्लिखित /var/run

तो कौन सा वह है जो इसका पिता है /run/user/1000, क्यों पहले के इस्तेमाल की गई निर्देशिका के बारे में दूसरे का क्या कहना है, इसके जवाब में कोई उल्लेख नहीं है /run/user


पहले / रन / उपयोगकर्ता द्वारा उपयोग की जाने वाली निर्देशिका के बारे में अन्य क्या कहते हैं, इसके उत्तर में कोई उल्लेख नहीं है क्योंकि केवल एक ही वास्तव में इस पर चर्चा करता है। Braiam के उत्तर में / run / user के बजाय / चलाने से पहले उपयोग की जाने वाली निर्देशिका की चर्चा है।
डेविड हॉकी

1
पैट्रिक के "तर्क / भागो / उपयोगकर्ता / 1000" के सवाल का जवाब एक तर्क के रूप में प्रस्तुत किया गया है, लेकिन पैट्रियट के लिए एक बेबाक बयान नहीं है। Braiam इस प्रश्न को संबोधित नहीं करता है। यह संभावना है कि अतीत में चल रही प्रक्रियाओं, यानी अस्थायी फ़ाइलों द्वारा उपयोग की जाने वाली फ़ाइलों का भंडारण स्थान केवल मानक / tmp निर्देशिका माना जाता था। यदि ऐसा है, तो इसे प्रमाणित करना कठिन होगा क्योंकि कुछ लोग पारंपरिक या स्पष्ट लिखित रिकॉर्ड प्रदान करते हैं। एक ठोस उत्तर देने के लिए संभवतः कंप्यूटर इतिहास में कुछ ठोस खुदाई की आवश्यकता होगी।
डेविड हॉकी

आपके इनपुट के लिए धन्यवाद
कुछ

जवाबों:


94

/run/user/$uidpam_systemdउस उपयोगकर्ता के लिए प्रक्रियाएँ चलाकर उपयोग की जाने वाली फ़ाइलों को संग्रहीत करने के लिए बनाया और उपयोग किया जाता है। ये आपकी कीरिंग डेमॉन, पल्सीडियो, आदि जैसी चीजें हो सकती हैं।

Systemd से पहले , ये एप्लिकेशन आमतौर पर अपनी फ़ाइलों को संग्रहीत करते हैं /tmp। वे किसी स्थान का उपयोग नहीं कर सकते /home/$userक्योंकि होम निर्देशिकाओं को अक्सर नेटवर्क फाइल सिस्टम पर माउंट किया जाता है, और इन फ़ाइलों को मेजबानों के बीच साझा नहीं किया जाना चाहिए। एफएचएस/tmp द्वारा निर्दिष्ट एकमात्र स्थान था जो सभी उपयोगकर्ताओं द्वारा स्थानीय और उपयुक्त है।

हालाँकि, इन सभी फ़ाइलों को संग्रहीत /tmpकरना समस्याग्रस्त है जैसा /tmpकि सभी के द्वारा लिखा जा सकता है, और जब आप बनाई जा रही फ़ाइलों पर स्वामित्व और मोड को बदल सकते हैं, तो इसके साथ काम करना अधिक कठिन होता है।

इसलिए systemd साथ आया और बनाया गया /run/user/$uid। यह निर्देशिका प्रणाली के लिए स्थानीय है और केवल लक्ष्य उपयोगकर्ता द्वारा ही सुलभ है। इसलिए अपनी फ़ाइलों को स्थानीय रूप से संग्रहीत करने के लिए आवेदन करने वालों को अब एक्सेस कंट्रोल के बारे में चिंता करने की ज़रूरत नहीं है।
यह चीजों को अच्छा और व्यवस्थित भी रखता है। जब कोई उपयोगकर्ता लॉग आउट करता है, और कोई सक्रिय सत्र नहीं रहता है, pam_systemdतो /run/user/$uidनिर्देशिका को मिटा देगा । आसपास बिखरी हुई विभिन्न फाइलों के साथ /tmp, आप ऐसा नहीं कर सकते।


18
उल्लेख करना चाहिए कि इसे $ XDG_RUNTIME_DIR कहा जाता है, मानकों
Freedesktop.org/basedir-spec/basedir-spec-latest.html

क्या होगा: मैंने एक "पृष्ठभूमि" संगणना प्रक्रिया शुरू की है nohup, और यह एक अस्थायी फ़ाइल में इसके मध्यवर्ती परिणाम / डेटा को बचाता है। क्या मैं इस पर भरोसा कर सकता हूं कि प्रक्रिया चल रही है, या इसे मिटा दिया जाएगा नहीं, और nohupइसके साथ शुरू की गई प्रक्रिया आपके डेटा को ढीला कर देगी?
इम्ज़ - इवान ज़खरीशेव

इसे मिटाए जाने की संभावना नहीं है, लेकिन / रन / उपयोगकर्ता फेडोरा में एक tmpfs फाइल सिस्टम है, इसलिए यह इसे आवंटित अंतरिक्ष की मात्रा तक सीमित होगा। ऊपर df आउटपुट देखें।
23

क्या होगा अगर pidfile रूट के तहत चलने वाली सेवा है। क्या यह PID / var / run या / var / run / user / 0 के तहत जाना चाहिए? यदि कोई सक्रिय सत्र नहीं है तो क्या इसे हटा दिया जाएगा?
टीएसजी

11

FHS (फ़ाइल पदानुक्रम मानक) के नवीनतम मसौदे के अनुसार , / चलाएँ:

इस निर्देशिका में सिस्टम जानकारी डेटा है जिसमें सिस्टम को बूट किया गया था। बूट प्रक्रिया की शुरुआत में इस निर्देशिका के तहत फाइलें साफ की जानी चाहिए (हटाए गए या उपयुक्त के रूप में काट दी जानी चाहिए)।

इस निर्देशिका के उद्देश्यों को एक बार / var / run द्वारा परोसा गया था। सामान्य तौर पर, बैकवर्ड संगतता के प्रयोजनों के लिए निर्धारित / आवश्यकताओं को पूरा करने के लिए कार्यक्रम / var / run का उपयोग जारी रख सकते हैं। जिन कार्यक्रमों का उपयोग / चलाने के लिए माइग्रेट किया गया है, उन्हें / var / run के उपयोग को रोकना चाहिए, सिवाय / var / run पर अनुभाग के।

कार्यक्रम में एक उपनिर्देशिका / रन हो सकता है; यह उन कार्यक्रमों के लिए प्रोत्साहित किया जाता है जो एक से अधिक रन-टाइम फ़ाइल का उपयोग करते हैं। उपयोगकर्ताओं के पास एक उपनिर्देशिका / रन भी हो सकता है, हालांकि अनधिकृत उपयोग को रोकने के लिए / स्वयं और अन्य उपनिर्देशिकाओं के उपयोग को रोकने के लिए उचित अधिकारों का ध्यान रखना चाहिए।

/run/userनिर्देशिका के मामले में , विभिन्न उपयोगकर्ता सेवाओं द्वारा उपयोग किया जाता है, जैसे कि dconf, पल्स, सिस्टमड, इत्यादि, जिन्हें उनकी लॉक फ़ाइलों और सॉकेट्स के लिए जगह की आवश्यकता होती है। UID के सिस्टम में अलग-अलग उपयोगकर्ता के रूप में कई निर्देशिकाएं हैं।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.