ইত্যাদির বাইরে কনফিগারেশন ফাইলগুলি ট্র্যাক করতে ব্যবহার করা যাবে?


11

বিশেষত আমি আমার grub.conf( /boot/grub/grub.conf) এবং কয়েকটি ওরাকল ফাইল (যেমন /db/app/oracle/product/10.2.0/db_1/network/admin/tnsnames.ora) ট্র্যাক করতে চাই ।

আমি লিঙ্কগুলি ব্যবহার করার চেষ্টা করেছি; তবে ইত্যাদি রক্ষক / গিট কেবল সেখানে লিঙ্কটি নির্দেশ করে যেখানে প্রকৃত সামগ্রী নয়। ফাইলগুলি অন্য ভলিউমে থাকায় আমি হার্ড লিঙ্কগুলি তৈরি করতে পারি না।

আমি জানি যে আমি অন্য একটি জিআইটি সংগ্রহস্থল সেটআপ করতে পারতাম তবে আমি এটি সমস্ত এডিকেপারের মধ্যেই রাখতে চাই।

হালনাগাদ

নীলামকবির উত্তরের ভিত্তিতে আমি নিম্নলিখিত স্ক্রিপ্টটি নিয়ে এসেছি:

#!/bin/sh
set -e

# Based on nealmcb's idea/script from http://serverfault.com/questions/211425/

# If you want other configuration data or files on the system also
# opportunistically tracked via etckeeper, use this script to copy them in.

# If there is a hook of some sort available related to the files
# you're mirroring, you can call etckeeper directly and track them
# proactively, rather than just opportunistically here.

MIRROR_ROOT=/etc/etckeeper.mirror.d
echo "etckeeper: mirroring outside files to $MIRROR_ROOT/:"

mirror_dir() {
   LOCAL_PATH=$1
   echo "  $LOCAL_PATH"
   mkdir -p $MIRROR_ROOT/$LOCAL_PATH
   rsync -a $LOCAL_PATH/ $MIRROR_ROOT/$LOCAL_PATH
}


mirror_dir "/boot/grub"
mirror_dir "/root"  

কোনও পাথ যুক্ত করতে বা সরাতে আপনি কেবল mirror_dirনীচে কলটি যুক্ত বা সরাতে পারেন ।


সত্যিকারের উত্তর নয়, তবে যেহেতু উপরের মতামতের অনুমতি দেওয়া হয়নি (আমার পক্ষে কমপক্ষে) এটি ভাগ করে নেওয়ার: নন-/ ইত্যাদি ফাইল সিস্টেমের গিট নিয়ন্ত্রণের জন্য ইত্যাদি কীটপতঙ্গের মেটাডেটা ইঞ্জিনটি পুনঃব্যবহার / প্রসারিত করবেন, বা বলা সামর্থ্যের সাথে স্থানীয়ভাবে গিট প্রসারিত করবেন? । (দয়া করে এখানে কোনও রেফারেন্স পোস্ট করার জন্য আমাকে
ডিক

উত্তর:


6

আমি সরল ফাইলগুলি অন্তর্ভুক্ত করতে উপরের স্ক্রিপ্টটি সম্পাদনা করেছি।

হতে পারে কারও পক্ষে কোনও স্ক্রিপ্টের বাইরে এটিকে কনফিগার করার সম্ভাবনা যুক্ত করা উচিত (অ্যাডকিপার কনফিগারেশনে?) এবং এটি জ্যো হেসে প্যাচ হিসাবে প্রেরণ করবেন?

#!/bin/sh
set -e

# Based on nealmcb's + ErebusBat's script from http://serverfault.com/questions/211425/

# If you want other configuration data or files on the system also
# opportunistically tracked via etckeeper, use this script to copy them in.

# If there is a hook of some sort available related to the files
# you're mirroring, you can call etckeeper directly and track them
# proactively, rather than just opportunistically here.

MIRROR_ROOT=/etc/etckeeper.mirror.d
echo "etckeeper: mirroring outside files to $MIRROR_ROOT/:"

mirror_dir() {
   LOCAL_PATH=$1
   echo "  $LOCAL_PATH"
   mkdir -p $MIRROR_ROOT/$LOCAL_PATH
   rsync -a --del $LOCAL_PATH/ $MIRROR_ROOT/$LOCAL_PATH
}

mirror_file() {
   LOCAL_PATH=$1
   DIRPATH=`dirname $LOCAL_PATH | head -n 1`
   echo "  $LOCAL_PATH"
   mkdir -p $MIRROR_ROOT/$DIRPATH
   rsync -a --del $LOCAL_PATH $MIRROR_ROOT/$DIRPATH
}
mirror_file "/var/srv/foo_bar/blog/config.py"
mirror_file "/var/srv/foo_bar_another_host/trac/conf/trac.ini"
mirror_file "/tmp/wildcards/*.jpg"

3

এন্ডকিপার আপনাকে এটিকে অন্য সিস্টেমের সাথে সংহত করার অনুমতি দেয়।

আমি / বুটে আপডেট-গ্রাব দ্বারা করা পরিবর্তনগুলিও ট্র্যাক করতে চেয়েছিলাম, তাই আমি কোডটি নীচে রেখেছি /etc/etckeeper/commit.d/20mirror-outside-files

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

আমি এই জিনিসটি / ইত্যাদি / মিরর / পাথ-টু-বাইরের-ফাইলের আওতায় রাখার জন্য কনভেনশনটি উদ্ভাবন করেছি , উদাহরণস্বরূপ /etc/Mirror/boot/grub/grub.cfgতবে কারও কাছে যদি এইরকম অন্য কোনও সম্মেলনের নজির থাকে তবে আমি এটি সম্পর্কে শুনতে আগ্রহী।

#!/bin/sh
set -e

# If you want other configuration data or files on the system also
# opportunistically tracked via etckeeper, use this script to copy them in.

# If there is a hook of some sort available related to the files
# you're mirroring, you can call etckeeper directly and track them
# proactively, rather than just opportunistically here.

echo etckeeper: mirroring outside files

mkdir -p /etc/Mirror/boot/grub
cp -p /boot/grub/grub.cfg /etc/Mirror/boot/grub

হালনাগাদ:

মনে রাখবেন যে কোনও কারণে অ্যাডকিপার এটিকে চালায় না যখন আপনি কোনও অ্যাপ্ট-গেট রিমুভ বা শুদ্ধকরণ করেন, যেমন কোনও পুরানো কার্নেল মোছার জন্য। বিজোড় .... তবে আপনি sudo etckeeper commitসেই ক্ষেত্রে ম্যানুয়ালি চালাতে পারেন , বা কোনও ম্যানুয়াল পরে update-grub


3

ইন্ডারকিপারের এখন -dকোন ডিরেক্টরিটি পরিচালনা করতে হবে তা নির্দেশ করার একটি বিকল্প রয়েছে ।

হুক যখন ইন্দির কিপারকে ট্রিগার করতে সাধারণত কন্সট্রাক্ট ব্যবহার করে etckeeper pre-install, ..., আপনাকে etckeeper pre-install -d /boot/grubপরিবর্তে ব্যবহার করা হুক যুক্ত করতে হবে। এটি আপনার পদ্ধতির মধ্যে ফাইলের সদৃশতা এড়াতে পারে।

মনে রাখবেন যে যদি আপনি সেই সিস্টেমযুক্ত লক্ষ্য, পরিষেবা, ..., ফাইলগুলি কনফিগারেশন ফাইল হিসাবে বিবেচনা করেন (আমি করি - সর্বোপরি, এর অধীন /lib/systemdথাকা ফাইলগুলি নীচের ফাইলগুলির চেয়ে পৃথক নয় /etc/init.d) তবে এই -dবিকল্পটি আপনাকে কী ঘটবে তা ট্র্যাক রাখতে সহায়তা করবে /lib/systemd


1

সংক্ষিপ্তসার থেকে: etckeeper init -d /directory

তবে সাবধান! পরের বার আপনি এটি চালান, বা পরের সপ্তাহে, আপনি যদি ভুলে যান তবে -d pathএটিতে ডিফল্ট লোকেশন সহ একটি নতুন স্ট্যান্ডলোন লোকাল রেপো তৈরি করতে পারে /etc

সুতরাং আমি এটির কনফিগারেশনের জন্য, একিপারকর্নফনে এই গুরুত্বপূর্ণ বিবরণটি প্রতিশ্রুতি দেওয়ার পরামর্শ দিই। একটি তাত্পর্যপূর্ণ grep /etc \``which etckeeper\``, প্রকাশ করে: ETCKEEPER_DIR=/etcএবং তাই কেবলমাত্র এডিপারকন্টে এই পরিবর্তনশীলটি ব্যবহার করুন।

sed -i '1 i\ETCKEEPER_DIR=/' /etc/etckeeper/etckeeper.conf

অন্যান্য জিনিস "রাখতে" ইচ্ছুক থেকে, ফাইলের বৈশিষ্ট্যগুলি অন্তর্ভুক্ত ছিল, etckeeper init -d / আমার জন্য কাজ করেছিল তবে পরে বিশদটি ভুলে যাওয়া বিরক্তিকর। এই বিবরণ সংরক্ষণ করার জন্য তাই সেরা। এছাড়াও, uninitভিসিএস ব্যবহার করে পূর্বাবস্থায় ফিরে আসে না, এটি কেবল পুরো স্থানীয় রেপো মুছে দেয়।


0

আমি মনে করি না যে এডারকিপার এটি করবে, তবে কয়েকটি সমাধান রয়েছে:

  1. লিঙ্কগুলি বিপরীত করুন: / etc / এ থাকা একটি ফাইলের জন্য ফাইল সিস্টেমে একটি লিঙ্ক রেখে দিন

  2. এই ফাইলগুলির অনুলিপি / ইত্যাদি (ব্যাকআপ) এবং / ইত্যাদি (পুনরুদ্ধার) এর বাইরে স্ক্রিপ্ট করুন। তারপরে এই স্ক্রিপ্টগুলি পর্যায়ক্রমে বা উপযুক্ত গিট হুক ব্যবহার করুন।


2
বিপরীত লিঙ্কটি একটি ভাল ধারণা এবং আমি এটি ব্যবহার করি কিছু ক্ষেত্রে এটি কাজ করবে না। বিশেষত আপনার জন্য বিপরীত লিঙ্কটি চেষ্টা করবেন না grub.confঅন্যথায় আপনি বুট করতে পারবেন না।
জোরেডেচে

@ জোরেদাছে - হুবহু তবে বিপরীত লিঙ্কটি সম্ভবত আমার ওরাকল ফাইলগুলির জন্য কাজ করবে। এবং @ পিজেজেডের অনুলিপি পদ্ধতি সম্ভবত বুটের যে কোনও কিছুর জন্য কাজ করবে (গ্রাব + কার্নেল কনফ)। আমি এই পরের সপ্তাহে চেষ্টা করব।
এরেবাসব্যাট
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.