सवाल लिनक्स फ़ाइल सिस्टम पेड़ में गिट रिपॉजिटरीज को स्टोर करने के लिए पारंपरिक जगह कहां है?


यदि मैं किसी वेब सर्वर की होस्टिंग के साथ समानता करता हूं, तो मैं कहूंगा कि गिट का डेटा होना चाहिए /var/git, तो मेरा गिट भंडार अंदर होगा /var/git/myrepo

क्यू: क्या यह सही अनुमान है?


53
2017-09-28 14:07


मूल




जवाब:


यहां कोई सही या गलत जवाब नहीं है, सिवाय इसके कि आपके व्यक्तिगत धर्म और सामग्री की सामग्री को निर्धारित किया गया है hier(7) अपने सिस्टम पर manpage।

ठेठ लिनक्स hier मैनपेज ; ठेठ बीएसडी hier मैनपेज)

/var/git/* मुझे व्यक्तिगत रूप से उचित लगता है। यही वह जगह है जहां मैं अपना रखता हूं।


30
2017-09-28 14:32



इसी तरह, आर्क लिनक्स अपाचे के फ़ोल्डर में / srv / http (कुछ अन्य distros की तरह / var / www की बजाय) है इसलिए मैंने अपनी गिट सामग्री को / srv / git में रखा है। - trusktr
कहीं / var / के अंतर्गत उचित लगता है, लेकिन नीचे डेनिस आर का जवाब भी देखें: serverfault.com/a/433584/45819 - वह इसे अच्छे कारणों से / var / lib / git में डालता है - mit


इसे एक निर्देशिका (या साझा फाइल सिस्टम) में रखें /srv। यह वही है जो इसके लिए है।

/srv निर्देशिका के लिए इरादा है सिस्टम द्वारा विशिष्ट साइट-विशिष्ट डेटा। मानक से:

इसे निर्दिष्ट करने का यह मुख्य उद्देश्य यह है कि उपयोगकर्ता इसे पा सकते हैं   विशेष सेवा के लिए डेटा फ़ाइलों का स्थान, और इसलिए   सेवाओं को पढ़ने के लिए डेटा, लिखने योग्य डेटा के लिए एक पेड़ की आवश्यकता होती है   और स्क्रिप्ट (जैसे कि सीजीआई स्क्रिप्ट) को उचित रूप से रखा जा सकता है। डेटा है कि   एक विशिष्ट उपयोगकर्ता के लिए केवल रुचि के उपयोगकर्ताओं के घर में जाना चाहिए   निर्देशिका।

उपनिर्देशिका नाम देने के लिए प्रयुक्त पद्धति /srv के रूप में निर्दिष्ट नहीं है   इस पर कोई सहमति नहीं है कि यह कैसे किया जाना चाहिए। एक विधि   के तहत डेटा संरचना के लिए /srv प्रोटोकॉल द्वारा है, उदाहरण के लिए। ftp, rsync, www,   तथा cvs। बड़ी प्रणालियों पर यह संरचना के लिए उपयोगी हो सकता है /srv द्वारा   प्रशासनिक संदर्भ, जैसे कि /srv/physics/www, /srv/compsci/cvs,   आदि। यह सेटअप मेजबान से होस्ट करने के लिए अलग होगा। इसलिए, कोई कार्यक्रम नहीं   एक विशिष्ट उपनिर्देशिका संरचना पर भरोसा करना चाहिए /srv मौजूदा या   डेटा जरूरी रूप से संग्रहीत किया जा रहा है /srv। हालाँकि /srv हमेशा होना चाहिए   एफएचएस अनुपालन प्रणालियों पर मौजूद है और डिफ़ॉल्ट के रूप में इस्तेमाल किया जाना चाहिए   ऐसे डेटा के लिए स्थान।

वितरण को स्थानीय स्तर पर रखी गई फ़ाइलों को हटाने के लिए सावधानी बरतनी चाहिए   व्यवस्थापक निर्देशिका के बिना इन निर्देशिकाओं।


एक SELinux- सक्षम सिस्टम पर, डिफ़ॉल्ट निर्देशिका है /var/www/git, और repos उपनिर्देशिका में होना चाहिए। या, आप इसका उपयोग कर सकते हैं, उदा। /srv/git और फ़ाइल संदर्भ को समकक्ष के रूप में सेट करें:

semanage fcontext -a -e /var/www/git /srv/git

27
2017-10-01 12:13





/home/git/

यह पहली बार थोड़ा अपरंपरागत प्रतीत हो सकता है लेकिन यह बहुत उचित है क्योंकि यह निर्देशिका आपके लिए बनाई गई है (सही अनुमतियों के साथ) जब आप करते हैं sudo useradd git। आप बस गिट उपयोगकर्ता पर स्विच कर सकते हैं, cd और तुरंत चलाएं:

$ mkdir .ssh; chmod 700 .ssh
$ touch .ssh/authorized_keys; chmod 600 .ssh/authorized_keys

और अपने साथियों की सार्वजनिक कुंजी को सिर्फ बनाई गई अधिकृत_की फ़ाइल में डाल दें।

आपके बाद git init --bare आपकी परियोजना, "यूआरएल" तो बस है ... इसके लिए प्रतीक्षा करें ...

git@<server>:<project>

5
2018-03-03 20:12



लगभग "प्रो गिट" पुस्तक में अनुशंसित की तरह: git-scm.com/book/en/v2/Git-on-the-Server-Setting-Up-the-Server - exic


जैसा कि voretaq7 ने कहा, इस तरह के विषय पर कोई सही या गलत जवाब नहीं है। हालांकि, अगर आप सॉफ़्ट्स का पालन करना चाहते हैं, तो ऐसा लगता है कि डेटाबेस सॉफ़्ट्स अपने डेटा को स्टोर करते हैं

/var/lib/soft

उदाहरण के लिए, डेबियन पर Postgresql 9.1 के लिए फ़ोल्डर है

/var/lib/postgresql/9.1/

तो मैं व्यक्तिगत रूप से चुनना होगा

/var/lib/git

1
2017-10-01 10:03





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


1
2018-03-01 10:25





मेरे आर्क लिनक्स पर मेरे पास है /srv/http अपाचे के लिए (जो सिस्टम डिफ़ॉल्ट है) और मैं इसे अपने node.js http सर्वर के लिए भी उपयोग करता हूं। इसी तरह मैंने बस सभी गिट भंडारों को रखने का फैसला किया /srv/git

मैं गिटलैब का उपयोग करता हूं, और /srv/git उस मामले में गिट के लिए होम फोल्डर भी है।

अंत में, यह आप पर निर्भर है। मैंने पाया कि आपके डिस्ट्रो में अन्य सेवाओं के समान प्रारूप में चिपकना याद रखना आसान है।


1
2018-01-30 17:05





यदि आप गिट के लिए कुछ अग्रभाग का उपयोग करते हैं, तो बस जहां भी आपके वितरण द्वारा पैक किया गया है, वहां जाएं। कुछ और सिर्फ अनावश्यक असंगतताओं को बना रहा है।


0
2018-03-01 18:10



1 / मैं गिट 2 / गिट के लिए एक फ्रंटेंड का उपयोग नहीं कर रहा हूं, जहां गिट रिपॉजिटरीज़ कहां रखा जाए, इस पर एक अनुशंसा के साथ आना नहीं है ... कोई भी फ़ोल्डर जहां आप गिट इनिट करते हैं, एक गिट रिपोजिटरी है। - Samuel Rossille
1 / सामने के अंत तक मैं रिपोज़ की सेवा करने वाले गिट सर्वर को मानूंगा। 2 / ऐसा कोई सर्वर, भले ही केवल एक HTTP सर्वर का उपयोग किया गया हो, एक डिफ़ॉल्ट स्थान होगा। बेशक हम होस्टिंग के लिए स्थान के बारे में बात कर रहे हैं, जब आप कोड के साथ काम करते हैं .git ज्यादातर परियोजना के अंदर है। - hultqvist