लिनक्स: केस-इनसेंसिटिव फाइल सिस्टम


13

लिनक्स फाइलसिस्टम केस-इनसेंसिटिव बनाने के लिए क्या तरीके हैं?

मेरे पास विंडोज़ पर asp.net अनुप्रयोग विकसित हैं, लेकिन लिनक्स पर डालते समय मोनो पर कैपिटलाइज़ेशन / वर्तनी के साथ हमेशा समस्याएं होती हैं।

एक तरीका यह है कि आप लोकलहोस्ट SMB शेयर को / var / www पर माउंट करें। क्या कोई और हैं?


14
क्या टूटी हुई ऐप के आसपास काम करने के लिए ओएस को हैक करने से एप्लिकेशन को ठीक करना आसान नहीं होगा?
हारून टेट

2
क्या यह वेब ऐप अपाचे के माध्यम से परोसा जा रहा है, आप mod_speling का उपयोग कर सकते हैं।
Zoredache

2
यह एक बहुत स्पष्ट मामला लगता है "या आप अपने वेब डेवलपर्स को उनकी फ़ाइल नामकरण, दर्द के दर्द के अनुरूप होना सिखा सकते हैं"
शादुर

जवाबों:


15

यदि आप केवल मोनो के अंतर्गत चलने वाले एप्लिकेशन के भीतर केस असंवेदनशीलता के बारे में बात कर रहे हैं, तो आप IOMAPकेवल विंडोज के लिए मामले को अनदेखा करने के लिए मोनो को बताने के लिए पर्यावरण चर का उपयोग कर सकते हैं ।

इसके उपयोग के विवरण यहां देखें: http://www.mono-project.com/IOMap


15

वहाँ एक है केस संवेदी ext3 ड्राइवर , है, लेकिन, स्पष्ट रूप से चल रहा है उत्पादन में ऐसी बात मुझे, थोड़ा डराने हैं आप चालकों में समझौता-साथ अपने स्वयं के कस्टम कर्नेल चल रहे हैं के बाद से। (हाँ, हाँ - हमने उस समय "दिन में वापस" किया, लेकिन वह 1997 की तरह था ...)

FUSE कार्यान्वयन, ciopfs है , जो कि असंवेदनशीलता के मामले को भी लागू करता है। यह मेरे लिए एक बहुत कम डरावना होगा जो पैक्ड कर्नेल की तुलना में उत्पादन में उपयोग होता है।

आप /var/wwwफ़ोल्डर पदानुक्रम के लिए VFAT जैसे केस-असंवेदनशील फाइल सिस्टम का भी उपयोग कर सकते हैं । मैं उस मामले में एक लूपबैक माउंट का उपयोग करता हूं, जैसे कि आपको अपने डिस्क विभाजन के साथ गड़बड़ नहीं करना है।


ciopfs बकवास है, मैंने इसे आज़माया, यह केवल लोअरकेस के निचले हिस्से को मैप करता है, किसी भी अपरकेस को अनदेखा करता है ...
Quandary

1
@ क्वैंडरी रन awk '/^ciopfs/ {print $2}' /proc/mountsऔर जो निर्देशिका के नाम का उपयोग करने के लिए आउटपुट देगा। आपके द्वारा चलाए जाने के बाद आपको ciopfs a/ b/फ़ाइलों को एक्सेस या संशोधित नहीं करना चाहिए a/

@ अतिरिक्त लोअरकेस बाधा परियोजना के पृष्ठ पर सही लिखी गई है और बहुत स्पष्ट tbh है, क्या आपने उपयोग करने से पहले अपने उपयोग के मामले या कम से कम RTFM को संभालने के लिए इसे बेहतर बनाने की कोशिश की?
माइकल शगोरिन

9

Necromancing।
मेरे ही प्रश्न का उत्तर दे रहा हूं।
यह वास्तव में संभव है।
वेरिएंट 1:
एक्स-एमबी (dd के साथ) आकार की एक .dsk-फाइल बनाएं, फिर उस फाइल पर JSF- फाइलसिस्टम बनाएं, जिसमें O (OS2 संगतता - = केस असंवेदनशील)
फिर एक वांछित फ़ोल्डर में उस फाइल को माउंट करें। ।

(apt-get install jfsutils)
dd if=/dev/zero of=jfs.dsk bs=1048576 count=150
mkfs.jfs -O jfs.dsk
mkdir -p /mnt/jfs
mount /volumes/jfs.dsk /mnt/jfs -t jfs -o loop
umount /mnt/jfs/

वैरिएंट 2:
जब आप ओएस स्थापित करते हैं, तो डिस्क को मैन्युअल रूप से विभाजित करते हैं, और प्रारूप JFS के साथ एक और विभाजन बनाते हैं, जिसे आप जहां चाहें वहां माउंट करते हैं।
जब सब कुछ उठ रहा है और चल रहा है, तो आप उस विभाजन को फिर से बदल सकते हैं (चेतावनी - यह उस विभाजन के सभी डेटा को मिटा देगा - सुनिश्चित करें कि आपने उचित एक का चयन किया है, और उस पर अभी तक कोई डेटा नहीं है):

माउंटेड पार्टीशन को अनमाउंट करें

umount /web

पुनः स्वरूपित:

mkfs.jfs -O /dev/hda5

विभाजन का वर्णन करें

mount /dev/hda5 /web

अब दौड़ो

blkid

और आपको नया विभाजन मिलता है।
अब / etc / fstab पर जाएं, और पुराने uuid को / dev / hda5 के लिए नए के साथ बदलें।

यदि आप यह गलत कर रहे हैं, तो
आपातकालीन बूट मोड में आपका स्वागत है ...


तो आप इसके साथ साढ़े सात साल से काम कर रहे हैं?!?! आपको लगता है कि अब तक आप जिस "डेवलपर्स" के साथ काम कर रहे हैं, उसने इसे प्राथमिक / प्राथमिक विद्यालय से बाहर कर दिया होगा।
एंड्रयू हेनले

3
@ एंड्रयू हेनले: नहीं, हमने वास्तव में एक और समाधान चुना है - एक केस-सेंसिटिव विंडो पार्टीशन (एक्सटी 3)। अब समस्या .NET कोर के साथ फिर से जुड़ गई है, और यह वह समाधान है जिसके साथ मैं आया था। अब मेरे पास एक केस-असंवेदनशील लिनक्स-विभाजन है जिसमें बिना फ्यूज / सियॉप, स्मब, hfs / hpfs +, एक हैक किया हुआ एक्सएक्स-एफएस, लूप माउंट या उस बकवास में से किसी की आवश्यकता होती है। यह उचित तरीका है। और अब तक, किसी ने वास्तव में पिछले 7 वर्षों में संतोषजनक ढंग से इस सवाल का जवाब नहीं दिया, इसलिए मुझे लगा कि मैं करूंगा।
व्याकुलता

धन्यवाद, मुझे यह काम कर गया। 2020 में इसे देखने वाले लोगों के लिए, लाइनक्स कर्नेल 5.2 और e2fsprogs 1.45 जोड़ा गया केसफॉल्ड सपोर्ट ext4 से अवगत होना। इसे देखें: unix.stackexchange.com/questions/558977/…
जॉर्ज येंस डाइज़
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.