मैं सभी रास्तों में Cygwin / cygdrive उपसर्ग से कैसे छुटकारा पाऊं?


36

मैं बैश शेल से सिग्विन पर स्विच कर रहा हूं जो विंडोज के लिए गिट के साथ जहाज, और एक अजीब समस्या का सामना कर रहा है। किसी ने सोचा कि /cygdrive/सभी रास्तों को जोड़ना एक अच्छा विचार होगा , जबकि मुझे लगता है कि यह एक भयानक बदसूरत विचार है। मैं यह निर्धारित करने में सक्षम हूं कि मैं इसे जोड़कर आंशिक रूप से ठीक कर सकता हूं

mount --change-cygdrive-prefix /
export HOME=/c/Users/BZISAD0

मेरे .bashrc में, लेकिन अगर मैं PATH चर पर एक नज़र डालें, तो अभी भी सब कुछ / cygdrive / है। मुझे लगता है कि मैं पटकथा को ठीक करने के लिए एक पटकथा लिख ​​सकता हूं, लेकिन जो मैं पहले से कर रहा हूं, उससे भी अधिक कठिन है। वहाँ एक बेहतर तरीका हो गया है, और मैं बहुत आश्वस्त नहीं है कर रहा हूँ के बाद से Git के bash खोल का उपयोग करता है (AFAIK) Cygwin के एक पुराने संस्करण है, और यह किसी भी तरह के लिए कॉन्फ़िगर किया गया है नहीं आगे जोड़ते /cygdriveहर जगह। तो, मैं "चूसो" घुंडी को शून्य में कैसे बदल सकता हूं ?

गैरी लार्सन कॉमिक

जवाबों:


39

आसपास घूमना / आदि ने एक लिंक दिया जो Googling ने नहीं किया था। यह पता चला है कि आप इसे फ़ाइल में नियंत्रित कर सकते हैं /etc/fstab। बस एक पंक्ति जोड़ें जो कहती है

none / cygdrive binary 0 0

और समस्या को ठीक किया जाना चाहिए। कोई और अधिक kludgey में .bashrc, और कोई गड़बड़ नहीं $ PATH को ठीक करता है।


2
मैंने इस पद्धति का उपयोग किया, और अब जब मैं करने की कोशिश करता हूं ls /, तो विंडोज़ ड्राइव दिखाई नहीं देते हैं। उपयोग करते समय भी नहीं ls -l /। क्या यह अपेक्षित है? क्या इसे ठीक किया जा सकता है? यह मेरे पास fstab में है:none / cygdrive binary,posix=0,user,acl 0 0
बीबी

मुझे नहीं पता था कि विंडोज़ ड्राइव को प्राप्त करने का एक तरीका था /। क्या आपके पास पहले था? (या पर /cygdrive/?) मैं हमेशा बस इस तथ्य के साथ रहता हूं कि मुझे यह जानना होगा कि कौन से विंडोज ड्राइव उपलब्ध हैं, और मैं शायद ही कभी भी उनका उपयोग करता हूं।
आइकॉनक्लास्ट

1
हां, ls /cygdriveविंडोज ड्राइव को सूचीबद्ध करना चाहिए। उदाहरण के लिए, मेरे लिए आउटपुट है c/ e/ f/। ध्यान दें कि ड्राइव को फ़ोल्डर्स की तरह कैसे व्यवहार किया जाता है।
कैट

1
यह केवल आधा काम करता है। दो माउंट (वास्तविक /और cygdrive) मढ़ा की तरह कर रहे हैं। वह यह है: आप ड्राइव का उपयोग करके प्राप्त कर सकते हैं /c, आदि - लेकिन वे कभी भी भाग के रूप में सूचीबद्ध नहीं होते हैं /। मुझे लगता है कि वास्तविक लिस्टिंग /की सामग्री को छिपा रहा है cygdrive। मैं सोच रहा था कि यह तकनीकी रूप से अपरिभाषित व्यवहार है और शायद किसी चीज को तोड़ सकता है। वैसे भी, चूंकि मैं कुछ भी देखने में सक्षम होना चाहता हूं, जिसके साथ मैं काम कर रहा हूं /mnt
अंडरस्कोर_ड

1
@ टिबी ने मुझे पता लगाया कि यदि आप सीडी / और उसके बाद mkdir c (या जो भी आपके ड्राइव का नाम है) करते हैं, तो यह खाली ड्राइव के साथ ओवरराइट करने के बजाय उस ड्राइव को ls को दिखाई देगा। किसने सोचा होगा?
15

10

विधि एक

mount -c /
mount -m > /etc/fstab

विधि दो

echo - / cygdrive acl > /etc/fstab

उदाहरण


ऐसा करने से पहले और बाद में (विधि 1), दोनों /को cygwin64 रूट डायरेक्टरी में संदर्भित किया गया, और cd /cकाम नहीं किया। cd /cकाम करने के लिए मुझे करना पड़ा mount c: /c
MM

/cकभी काम नहीं करना चाहिए था, मेरे समाधान ने कभी सुझाव नहीं दिया कि
स्टीवन पेनी

2
मैं व्याख्या करता हूं कि "रास्तों में कैसे / cygdrive से छुटकारा पाने के लिए" का अर्थ है "/ cgdrive / c" के बजाय काम करने के लिए कैसे अनुमति दें (और इसी तरह अन्य अक्षरों के लिए)। मेरा पेट अब वास्तव में / cygdrive / c / bla के बजाय / c / bla दिखाता है
MM

1
2.9.0 (0.318 / 5/3) 2017-09-12 10:18 x86_64 Cygwin के अनुसार, विधि करने से उपयोगकर्ता को cd /cया करने की अनुमति मिलेगी cd c:cd /अभी भी उपयोग करने के लिए cygwin64 dir जाता है।
मार्सेल विल्सन

1

हां, माउंट काम करना चाहिए।

mount -c /

यदि आपके पास अभी भी PATHउस संदर्भ में प्रविष्टियां हैं /cygdrive, तो आपको संभवतः केवल रिबूट करने की आवश्यकता है।

इसके अलावा, देखें कि उसमें कोई PATHसेटिंग्स /etc/profileहैं या नहीं /cygdrive


आप Cygwin को पुनः आरंभ करते हैं, या वास्तव में पूरी मशीन को रिबूट करते हैं?
iconoclast

मुझे लगता है कि आपको साइग्विन-आधारित सभी प्रक्रियाओं को समाप्त करने की आवश्यकता है। ऐसा करने का सबसे आसान तरीका मशीन को रिबूट करना है।
मिकेल

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

यदि आपका कोई रिबूट के बिना काम करता है, तो हर तरह से!
मिकेल

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