$ PATH में कौन से वितरणों में $ HOME / .Local / bin है?


42

उदाहरण: उबंटू .localमें, होम डायरेक्टरी में हमेशा एक डायरेक्टरी होती है और .profileइस लाइन को शामिल किया जाता है:

PATH="$HOME/bin:$HOME/.local/bin:$PATH"

$HOME/.local/binडिफ़ॉल्ट रूप से मौजूद नहीं है, लेकिन यदि यह बनाया गया है तो यह पहले से ही है $PATHऔर इसके भीतर निष्पादनयोग्य मिल सकते हैं।

यह XDG डायरेक्टरी स्पेसिफिकेशन में बिल्कुल उल्लेखित नहीं है, लेकिन लगता है कि इससे लिया गया है।

मुझे आश्चर्य है कि अगर यह काफी सामान्य है कि इसे सबसे आम अंत उपयोगकर्ता वितरण में मौजूद माना जा सकता है। उदाहरण के लिए, डेबियन डेरिवेटिव के सभी में, या कम से कम उबंटू वाले हैं? Red Hat / Fedora / CentOS पारिस्थितिकी तंत्र के बारे में क्या है? और इसी तरह आर्क, सुज़ और आजकल लोग क्या उपयोग कर रहे हैं।

अतिरिक्त स्पष्ट होने के लिए, यह केवल के लिए है $HOME/.local/bin, नहीं $HOME/bin

जिज्ञासा से बाहर, बीएसडी, ओएस / एक्स और अन्य को शामिल करने के लिए स्वतंत्र महसूस करें यदि आपके पास जानकारी है। :)


मैंने यह प्रश्न पहले पूछा है, लेकिन एक ऐसी प्रणाली का सामना नहीं किया है जो ऐसा करती है। राय के बजाय प्रश्न को सामयिक बनाने के लिए , आप "सामान्य पर्याप्त" के विचारों को समाप्त कर सकते हैं और बस पूछ सकते हैं कि यह कहां से आया है और सिस्टम के उदाहरण जो नए उपयोगकर्ता खातों के लिए ऐसा करते हैं। "हाल ही में फेडोरा ऐसा करता है, उदाहरण के लिए।
थॉमस डिके

मैं बस "जो" कर सकता हूं, यह पूछना सुनिश्चित कर सकता हूं। यह सवाल बनाने का एक संघर्ष है कि मैं क्या कर रहा हूं, इसका कोई निश्चित उत्तर नहीं है, लेकिन ज्यादातर के लिए यह महसूस होता है कि यह 2016 के अधिकांश मामलों में यथोचित रूप से माना जा सकता है।
स्टॉफ

1
मेरे पास मेरे रास्ते में नहीं है, और मैं निश्चित रूप से इसे वहां नहीं डालूंगा। (डेबियन, लेकिन xdm / fvwm, न तो Gnome और न ही KDE डेस्कटॉप के रूप में)।
dirkt

1
मैंने एक ऐसी प्रणाली के लिए जाँच की जो शायद हो। मेरे कोई भी विकास खाते बैश का उपयोग नहीं करते हैं, और जब तक कि मैं एक विशेष जांच नहीं करता हूं, तब तक पैकेजर्स केवल नोटिस करने के लिए पर्याप्त नहीं होते हैं ( नयापथ देखें )।
थॉमस डिके

1
IIRC Ubuntu /etc/skel/.profileएक उपयोगकर्ता की उपस्थिति के लिए कम से कम 14.04 परीक्षण शामिल है $HOME/binऔर PATHअगर यह मौजूद है तो इसे जोड़ता है; इसके विपरीत, 16.04 $HOME/binऔर $HOME/.local/binबिना शर्त दोनों को जोड़ने के लिए प्रकट होता है । मुझे पहले याद नहीं है कि यूबंटस को जोड़ते $HOME/.local/binहुए - लेकिन मुझे bashपैकेज चैंज (जो माना जाता है कि मालिक है /etc/skel/.profile) में कुछ भी प्रासंगिक नहीं है ।
स्टीलड्राइवर

जवाबों:


41

~/.localनिर्देशिका का हिस्सा है systemd फ़ाइल पदानुक्रम कल्पना और का एक विस्तार है XDG उपयोगकर्ता के dirs कल्पना

यह भ्रमित किया जा सकता है क्योंकि डेबियन व्युत्पन्न पैकेज bashखोए हुए ~/.localरास्ते के लिए जब वे 4.3 को टक्कर देने के लिए बगावत करते थे तो उनके पास यह बैश 4.2 में होता था।

यह एक बग है , और एक पैच अभी कुछ समय के लिए डेबियन सिस्टम में बैठा है।

यह बग कारण है कि Ubuntu 16.04 में ~ / था। पथ में और Ubuntu 17.04 में नहीं था।

यदि आप systemd-pathएक उपयोगकर्ता के रूप में चलते हैं और आप देखेंगे कि यह मार्ग में होना है।

$ systemd-path user-binaries
/home/foo/.local/bin

सिद्धांत रूप में, आपकी क्वेरी का उत्तर किसी भी डिस्ट्रो है जो सिस्टमड का उपयोग करता है या सिस्टमड के साथ संगतता बनाए रखना चाहता है।

में अधिक जानकारी है file-hierarchy(7)


1
धन्यवाद! शुद्ध जिज्ञासा से बाहर, यह भी ऊपर के समय के दौरान मामला था? केवल इसलिए पूछ रहा हूं क्योंकि मेरी स्मृति कहती है कि यह सिस्टमड की तुलना में पहले था, लेकिन यह समान रूप से संभावना है कि मैं इसे गलत समझ रहा हूं!
स्टॉफ

मुझे संदेह था कि यह सिस्टमड से पहले था, हमेशा के लिए सम्मेलन ~ / बिन था।
pfalcon

Arrgh, यह बग 16.04 के शिष्टाचार में भी आया है, जहां एक बैश 4.3
एड्रियन

उबुन्टु 18.04 में काम करता है।
डैनियल

1

आरपीएम आधारित डिस्ट्रोस पर स्थिति इस तरह दिखती है

  • जब आप लॉगिन खोल का उपयोग करते हैं तो RHEL 7 - इसे पाथ के अंत में जोड़ता है https://bugzilla.redhat.com/show_bug.cgi?id=1583227 देखें । यह काम करेगा sudo su -l johndoeलेकिन अगर आप -lस्विच का उपयोग नहीं करते हैं तो यह काम नहीं करेगा ।
  • सेंटोस 7 - आरएचईएल देखें, यह हमेशा आरएचईएल का अनुसरण कर रहा है।
  • फेडोरा 28 (शायद बहुत पुराना) - आरएचईएल / सेंटोस के समान, पाथ के अंत में जोड़ा गया

यदि आप उन बगों को हल करते हुए देखना चाहते हैं, तो कृपया उन पर वोट देना / टिप्पणी करना न भूलें क्योंकि यह मुद्दे के महत्व को उजागर करेगा।

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