লিনাক্স ফাইল সিস্টেম ট্রিতে গিট সংগ্রহস্থল সংরক্ষণের প্রচলিত জায়গা কোথায়?


58

আমি যদি কোনও ওয়েব সার্ভারের হোস্টিংয়ের সাথে সাদৃশ্য তৈরি করি তবে আমি বলব যে গিটের ডেটা থাকা উচিত /var/git, তাই আমার গিট সংগ্রহস্থলটি থাকবে/var/git/myrepo

প্রশ্ন : এটা কি সঠিক অনুমান?

উত্তর:


31

আপনার নিজস্ব ধর্ম দ্বারা নির্ধারিত উত্তর এবং hier(7)আপনার সিস্টেমে ম্যানপেজের বিষয়বস্তু ব্যতীত এখানে কোন সঠিক বা ভুল উত্তর নেই ।

সাধারণ লিনাক্স hierম্যানপেজ ; সাধারণ বিএসডি hierম্যানপেজ )

/var/git/*ব্যক্তিগতভাবে আমার কাছে যুক্তিযুক্ত বলে মনে হচ্ছে। আমি যেখানে আমার রাখা।


3
একইভাবে, আর্চ লিনাক্সে অ্যাপাচি-র ফোল্ডারটি হ'ল / এসআরভি / এইচপি (অন্য কয়েকটি ডিস্ট্রোয়ের মতো / ভার / www এর পরিবর্তে) তাই আমি আমার গিট স্টাফগুলিকে / এসআরভি / গিটে রাখি।
trusktr

কোথাও / var / এর অধীনে যুক্তিসঙ্গত বলে মনে হচ্ছে তবে নীচে ডেনিস আর এর উত্তরও দেখুন: সার্ভারসফল্ট / এ / 433584/45819 - তিনি এটিকে ভাল কারণে / var / lib / গিটে রেখেছেন
মিট

30

এটির অধীনে একটি ডিরেক্টরিতে (বা ভাগ করা ফাইল সিস্টেম) রাখুন /srv। এটি এর জন্যই।

/srvডিরেক্টরির জন্য দেয়ার উদ্দেশ্যে করা হচ্ছে সাইট নির্দিষ্ট ডাটা সিস্টেম দ্বারা পরিবেশিত । মান থেকে:

এটি নির্দিষ্ট করার মূল উদ্দেশ্যটি যাতে ব্যবহারকারীরা নির্দিষ্ট সেবার জন্য ডেটা ফাইলগুলির অবস্থান সন্ধান করতে পারে এবং যাতে পরিষেবাগুলি কেবলমাত্র পাঠযোগ্য ডেটা, লিখনযোগ্য ডেটা এবং স্ক্রিপ্টগুলির জন্য (যেমন সিজি স্ক্রিপ্টস) একক গাছের প্রয়োজন হয় সেগুলি যথাযথভাবে স্থাপন করা যায়। যে নির্দিষ্ট ডেটা কেবলমাত্র নির্দিষ্ট ব্যবহারকারীর পক্ষে আগ্রহী তা ব্যবহারকারীর হোম ডিরেক্টরিতে থাকা উচিত।

এর সাব-ডাইরেক্টরিগুলির নামকরণের জন্য ব্যবহৃত পদ্ধতিটি /srvঅনির্দিষ্ট how এর অধীনে ডেটা স্ট্রাকচারের জন্য একটি পদ্ধতি /srvহ'ল প্রোটোকল, যেমন। ftp, rsync, www, এবং cvs। বড় সিস্টেম এটা গঠন উপযোগী হতে পারে /srvযেমন, প্রশাসনিক প্রসঙ্গ দ্বারা /srv/physics/www, /srv/compsci/cvsইত্যাদি এই সেটআপ হোস্ট করার জন্য হোস্ট থেকে পৃথক হবে না। অতএব, কোনও প্রোগ্রামের অবশ্যই /srvবিদ্যমান বা ডেটা নির্দিষ্টভাবে সংরক্ষণ করা হচ্ছে এমন নির্দিষ্ট সাব-ডাইরেক্টরি কাঠামোর উপর নির্ভর করা উচিত নয় /srv। তবে /srvসর্বদা এফএইচএস অনুবর্তী সিস্টেমগুলিতে থাকা উচিত এবং এই জাতীয় ডেটার জন্য ডিফল্ট অবস্থান হিসাবে ব্যবহার করা উচিত।

প্রশাসকদের অনুমতি ব্যতীত এই ডিরেক্টরিগুলিতে স্থানীয়ভাবে স্থাপন করা ফাইলগুলি সরিয়ে না দেওয়ার জন্য বিতরণগুলি অবশ্যই যত্ন নিতে হবে।


SELinux- সক্ষম সিস্টেমে, ডিফল্ট ডিরেক্টরি হয় /var/www/gitএবং রেপোগুলি এর উপ-ডিরেক্টরিতে থাকতে হবে। অথবা, আপনি ব্যবহার করতে পারেন, উদাহরণস্বরূপ /srv/gitএবং ফাইলের প্রসঙ্গটি সমতুল্য হিসাবে সেট করুন:

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

5
/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>

প্রায় "প্রো গিট" বইয়ের মতো প্রস্তাবিত: git-scm.com/book/en/v2/Git-on-the-Server-Setting-Up-the-Server
এক্সিক

1

যেমন ভোরেটাক said বলেছে, এ জাতীয় বিষয়ে সঠিক বা ভুল উত্তর নেই। তবে, আপনি যদি সফটগুলি অনুসরণ করতে চান তবে মনে হয় ডেটাবেস সফটগুলি তাদের ডেটা সংরক্ষণ করে

/var/lib/soft

উদাহরণস্বরূপ, Postgresql 9.1 এর জন্য ডেবিয়ান ফোল্ডারটি

/var/lib/postgresql/9.1/

সুতরাং আমি ব্যক্তিগতভাবে নির্বাচন করতে চাই

/var/lib/git

1

এটি সম্পূর্ণ আপনার উপর নির্ভর করে। সর্বোত্তমভাবে, যদিও আপনার সিস্টেমের আপগ্রেড ইত্যাদি সহজতর করার জন্য আপনার পৃথক পার্টিশন বা এমনকি ডিস্কে গিট ডেটা ডির লাগানো উচিত এবং অবশ্যই, আপনার অবশ্যই নিশ্চিত করতে হবে যে সেখানে পর্যাপ্ত ডিস্কের স্থান রয়েছে কিনা।


1

আমার আর্চ লিনাক্সে আমার কাছে /srv/httpঅ্যাপাচি রয়েছে (যা সিস্টেম ডিফল্ট) এবং আমি এটি আমার নোড.জেএসপিএস সার্ভারের জন্যও ব্যবহার করি। একইভাবে আমি ঠিক করেছি সমস্ত গিট সংগ্রহস্থলগুলি .োকাতে /srv/git

আমি গিটল্যাব ব্যবহার করি /srv/gitএবং সেই ক্ষেত্রে গিটের জন্য হোম ফোল্ডার।

শেষ পর্যন্ত, এটি আপনার উপর নির্ভর করে। আমি দেখতে পেয়েছি যে আপনার ডিস্ট্রোতে অন্যান্য পরিষেবার অনুরূপ ফর্ম্যাটকে আটকে রাখা মনে রাখা সহজ।


0

আপনি যদি গিটের জন্য কিছু ফ্রন্টএন্ড ব্যবহার করেন তবে আপনার বিতরণে প্যাকেজযুক্ত যে কোনও এটি স্থাপন করতে চায় সেখানে কেবল যান। অন্য যে কোনও কিছুই কেবল অযথা অসম্পূর্ণতা তৈরি করছে।


1 / আমি গিট 2 / গিটের জন্য কোনও ফ্রন্টএন্ড ব্যবহার করছি না যেখানে গিট সংগ্রহস্থলগুলি কোথায় রাখা উচিত তার পুনঃসংশোধন নিয়ে আসে না ... যেখানে আপনি গিট টিআর করেন সেখানে কোনও ফোল্ডার হ'ল গিট সংগ্রহস্থল।
স্যামুয়েল রসিল

1 / সামনের শেষে আমি গিটার সার্ভারটি রেপোসে পরিবেশন করব। 2 / এই জাতীয় যে কোনও সার্ভার, কেবলমাত্র এইচটিটিপি সার্ভার ব্যবহার করা হলেও তার ডিফল্ট অবস্থান থাকতে পারে। অবশ্যই আমরা হোস্টিংয়ের অবস্থানের কথা বলছি, আপনি কোডটি নিয়ে কাজ করার সময় .git বেশিরভাগ প্রকল্পের অভ্যন্তরে থাকে।
হাল্টভিভিস্ট

0

প্রথমে, / এসআরভি ব্যবহারের পরামর্শ সম্পর্কে, আপনি এই ধারণার অধীনে আছেন যে সমস্ত গিট সংগ্রহস্থল ওয়েবসাইটগুলির জন্য ব্যবহৃত হয়। এটি আপনার পক্ষে সত্য হতে পারে তবে আপনার কাছে এমন কোনও সফটওয়্যার থাকতে পারে যা কোনও ওয়েবসাইট নয়।

দ্বিতীয়ত, / কোড / www / এইচটিএমএল বা / এসআরভি / এইচটিএমএলের বাইরে আপনার কোড ভান্ডারগুলি সঞ্চয় করে আপনি দুটি দুর্দান্ত সুবিধা পাবেন। আপনি আপনার লাইব্রেরিগুলি আড়াল করা সহজ করে যে কোনও স্তরে আপনার রেপোতে প্রতীকী লিঙ্ক তৈরি করতে পারেন। এছাড়াও, যদি আপনার সংগ্রহস্থলের অবস্থানটি একেবারে পরিবর্তিত হয়, আপনাকে আপনার ভার্চুয়াল হোস্ট কনফিগারেশনগুলি পরিবর্তন করতে হবে না। পরিবর্তে আপনি কেবল আপনার প্রতীকী লিঙ্কগুলি সামঞ্জস্য করুন।

আমি / var / repo ব্যবহার করছিলাম তবে আমার ধারণা / var / git ভাল, এবং এখন থেকে এটি ব্যবহার করা হবে।


0

আমি পরে স্থাপন করা সাইট কনফিগারেশনগুলি বজায় রাখার জন্য যখন আমি গিট রেপো ডাউনলোড করি তখন আমি সেগুলিতে সঞ্চয় করি

/ ডেটা / Repos / $ REPO_GROUP_OR_USER / $ REPO_NAME

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.