আপনার প্রশ্নের সংক্ষিপ্ত উত্তর হ্যাঁ ।
কনফিগারেশন ফাইলগুলি ট্র্যাক রাখতে আমি গিটকে (বা অন্য কোনও সংস্করণ নিয়ন্ত্রণ সফ্টওয়্যার) সুপারিশ করতে দ্বিধা করব না। এটি করার পরে, আমি আরও উত্পাদনশীল হয়ে উঠছি (বিশেষত নতুন ইনস্টলেশনগুলি কনফিগার করার জন্য) এবং আমার কনফিগারেশন ফাইলগুলির উপর আরও বেশি আস্থা রয়েছে। সংস্করণ নিয়ন্ত্রণের সাথে, আমার কাছে কী পরিবর্তন করা হয়েছিল তার একটি রেকর্ড রয়েছে এবং প্রতিশ্রুতিবদ্ধ বার্তাটি পরিবর্তনটি কেন হয়েছিল তার কারণ সরবরাহ করে । যদি কোনও পরিবর্তনের অনিচ্ছাকৃত পার্শ্ব প্রতিক্রিয়া থাকে তবে আমি সহজেই লগ / ইতিহাস পর্যালোচনা করতে পারি যা পরিবর্তনের ফলে কী প্রভাব পড়ে।
ব্যক্তিগতভাবে, আমি /
রুট ডিরেক্টরিতে সমস্ত ফাইল ট্র্যাকিং থেকে সতর্ক থাকব । উপেক্ষা করার পাথের তালিকাটি বড় এবং অস্বাস্থ্যকর হয়ে উঠতে পারে। আমি ফাইলগুলির প্রতিটি লজিকাল সেট তাদের নিজস্ব সংগ্রহস্থলে রাখতে পছন্দ করি।
আমি ব্যক্তিগতভাবে আমার ব্যক্তিগত কনফিগারেশন / স্টার্ট-আপ ফাইলগুলি, যেমন, ভিম কনফিগারেশন, বাশ ফাংশন, উপকরণ ইত্যাদির ট্র্যাক রাখতে গিটকে ম্যানুয়ালি ব্যবহার করি - গিটের সাথে কীভাবে হোম ট্র্যাক করতে হবে সেই তালিকাভুক্ত পদ্ধতির অনুরূপ । আমি ফাইলগুলির প্রতিটি সেট তাদের নিজস্ব ভান্ডারে রাখি এবং হোম ডিরেক্টরিতে প্রতীকী লিঙ্কগুলি ব্যবহার করি।
জন্য সিস্টেম কনফিগারেশন ফাইল, আমি সঙ্গে গীত ব্যবহার Etckeeper আমার ফাইল ট্র্যাক রাখতে /etc
ডিরেক্টরি।
অপূর্ণতা
সাবধান হওয়ার একটি বিষয় হ'ল যদি ট্র্যাক করা ফাইলগুলিতে হার্ড লিঙ্ক অন্তর্ভুক্ত থাকে । যখন গিট ফাইলগুলি পরীক্ষা করতে বা অন্যথায় কার্যকারী গাছকে সংশোধন করতে ব্যবহৃত হয়, এটি ফাইলগুলি লিঙ্কমুক্ত করে এবং সেগুলি পুনরায় তৈরি করে । পরিপূর্ণ ব্যাখ্যার জন্য গিট, ডটফিলস এবং হার্ডলিঙ্কগুলি দেখুন ।
Etckeeper
এটকিপারটি / ইত্যাদি ক্ষেত্রে পরিবর্তনের পুরো ইতিহাস রাখতে ব্যবহার করা যেতে পারে। ফাইল মেটাডেটা যে সংস্করণ কন্ট্রোল সিস্টেম স্বাভাবিকভাবে সমর্থন করি না ট্র্যাক করে, কিন্তু যে জন্য গুরুত্বপূর্ণ /etc
এমন অনুমতি হিসাবে, /etc/shadow
।
এটি প্যাকেজ পরিচালকদের যেমন এপ্ট এবং ইয়াম এবং এটির (এটির ডিফল্ট কনফিগারেশনে) হুক করে, প্রাক-এবং উত্তরোত্তর ইনস্টলেশন চালায় যাতে সমস্ত পরিবর্তনগুলি /etc
ট্র্যাক করা যায়।
যদি কোনও প্যাকেজ ইনস্টল করা বা অপসারণ করা হয় তবে প্যাকেজ ক্রিয়াকলাপের আগে / ইত্যাদিতে সমস্ত আপত্তিজনক পরিবর্তনগুলি করা হবে যাতে দুটি কমিট থাকে:
- "ইয়ম রান করার আগে / ইত্যাদি ক্ষেত্রে অনির্দিষ্ট পরিবর্তনগুলি সংরক্ষণ করা"
- "ইয়ম রান করার পরে / ইত্যাদিতে পরিবর্তন করা"
আমি এটি ডেবিয়ান এবং রেড হ্যাট-ভিত্তিক বিতরণগুলির সাথে ব্যবহার করেছি এবং আমি জানি এটি আর্ক প্যাকেজ পরিচালনা সমর্থন করে। আমি বলতে পারি না এটি জেন্টু সিস্টেমে কতটা অটোমেশন যুক্ত করবে তবে এটির জন্য একটি প্যাকেজ উপলব্ধ ।
এটি কনফিগারেশন ফাইলগুলিকে দূরবর্তী সংগ্রহস্থলের দিকে ঠেলাও সমর্থন করে
(যা অবশ্যই ব্যক্তিগত হওয়া উচিত)।
কনফিগারেশন
প্যাকেজ ইনস্টল করার পরে আপনার এটি ( /etc/etckeeper/etckeeper.conf
) উদাহরণস্বরূপ, কনফিগার করার প্রয়োজন হতে পারে , যেমন উবুন্টু সিস্টেমে ডিফল্ট সংস্করণ নিয়ন্ত্রণ ব্যবস্থাটি গিট থেকে বাজারে পরিবর্তন করা হয়। আপনি দৈনিক অটো-কমিটগুলি অক্ষম করতেও পছন্দ করতে পারেন ।
দৈনিক অটোমোম্যাটস
দৈনিক ক্রোন জব দ্বারা পরিবর্তনগুলি স্বয়ংক্রিয়ভাবে প্রতিশ্রুতিবদ্ধ হতে পারে । এটি বিরক্তিকর হতে পারে কারণ একাধিক স্বয়ংক্রিয় প্রতিশ্রুতি বার্তাগুলির সাহায্যে সংগ্রহশালা বিশৃঙ্খলা পেতে পারে।
আমি যথাযথ লাইন এটিকে অসম্পূর্ণ করে /etc/etckeeper/etckeeper.conf
:
sed -i '/AVOID_DAILY_AUTOCOMMITS/s|^#* *||' /etc/etckeeper/etckeeper.conf
নির্দিষ্ট ফাইল উপেক্ষা করুন
/etc/.gitignore
ট্র্যাক করা উচিত নয় এমন কোনও ফাইল নির্দিষ্ট করতে সম্পাদনা করুন ।
প্রথম রান
কনফিগার করার পরে, নিম্নলিখিত কমান্ডগুলি চালনা করুন:
sudo etckeeper init
sudo etckeeper commit "Initial commit"
যদি আপনার বর্তমান ডিরেক্টরিটি থাকে তবে etc
আপনি নিয়মিত git
কমান্ড চালাতে পারেন , যেমন,
sudo git status
sudo git log