Windows कॉन्फ़िगरेशन के लिए संस्करण नियंत्रण


8

मैं अपने Windows व्यक्तिगत कॉन्फ़िगरेशन को संस्करण नियंत्रण में कैसे रख सकता हूं ?

सारांश (विवरण और उदाहरण का पालन करें):

  • व्यक्तिगत कॉन्फ़िगरेशन (जैसे डेस्कटॉप प्राथमिकताएँ), सिस्टम कॉन्फ़िगरेशन नहीं (उदाहरण के लिए ड्राइवर); व्यवस्थापक अधिकारों के बिना काम करना चाहिए
  • संस्करण नियंत्रण, बैकअप या डिस्क इमेजिंग नहीं

यहाँ कुछ चीजें हैं जो मैं करने में सक्षम होना चाहता हूं:

  • मेरे विन्यास की वर्तमान स्थिति के लिए एक भंडार के लिए प्रतिबद्ध है, अधिमानतः कुछ ग्रैन्युलैरिटी के साथ (यदि मैंने दो बदलाव किए हैं, तो मैं एक को दूसरे के बिना प्रतिबद्ध करने में सक्षम होना चाहूंगा)।
  • जब भी मैं कोई चैंज एंट्री लिखता हूं, और प्रत्येक कॉन्फ़िगरेशन फाइल के लिए चैंज एंट्री की सूची देखता हूं।
  • वर्तमान स्थिति और एक रिपॉजिटरी संस्करण के बीच अंतर देखें।
  • एक नई विंडोज मशीन पर मेरे रिपॉजिटरी से देखें और मेरे कॉन्फ़िगरेशन को पुन: उत्पन्न करें (कम से कम अगर नई मशीन में विंडोज का एक ही संस्करण है)।

<जोड़ा 1> मैं "कॉन्फ़िगरेशन" की पूरी तरह से सटीक परिभाषा देने की कोशिश नहीं करूंगा; मैं सभी प्रकार की व्यक्तिगत प्राथमिकताओं को कवर करने की कोशिश कर रहा हूं (उदाहरण के लिए, कंट्रोल पैनल में व्यवस्थित कुछ भी, बिना अधिकार के, मेरे उपयोगकर्ता-विशिष्ट "प्रोग्राम" मेनू, ...) में शॉर्टकट। मैं अपने दस्तावेज़ों या स्थापित अनुप्रयोगों को शामिल नहीं करना चाहता। </ added1>

<add2> ध्यान दें कि मैं अपने व्यक्तिगत कॉन्फ़िगरेशन को लक्षित कर रहा हूं, न कि सिस्टम कॉन्फ़िगरेशन (जो उपयोगी भी होगा, लेकिन यह इस प्रश्न का उद्देश्य नहीं है)। उदाहरण के लिए, मैं व्यवस्थापक अधिकारों के बिना काम करने के लिए एक समाधान की उम्मीद करता हूं। </ added1>

मैं यूनिक्स में जो कुछ भी करता हूं वह है ( संस्करण का चयन) मेरी डॉट फाइलें संस्करण नियंत्रण के तहत । विंडोज के तहत, मुझे लगता है कि मुझे रजिस्ट्री और कुछ फ़ाइलों (जो?) के तहत प्रतिबद्ध होना चाहिए Application Data। मुझे पूरी रजिस्ट्री फ़ाइल को संस्करण नियंत्रण में रखने से बेहतर कुछ चाहिए (जो कि पर्याप्त ग्रैन्युलैरिटी नहीं है, और मुझे लॉकिंग मुद्दों से डर लगता है)। <जोड़ा 1> आदर्श रूप से मैं कुछ सामान्य संस्करण नियंत्रण सॉफ़्टवेयर (बाज़ार, CVS, Darcs, Git, Mercurial, Subversion, ...) के साथ रैपर या स्क्रिप्ट का उपयोग करूंगा, लेकिन यह एक पूर्ण आवश्यकता नहीं है। </ added1>

मुझे वर्तमान में विंडोज 2000 और विंडोज एक्सपी के साथ काम करने की आवश्यकता है। चूंकि यह एक कार्य मशीन के लिए है, पेवेयर नहीं करेगा (खुला स्रोत आदर्श होगा)। मैं GUI के साथ कमांड लाइन के साथ अधिक सहज हूं।

<जोड़ा 1> यहां एक नमूना वर्कफ़्लो है:

  • एक दिन मैं तय करता हूं कि मैं चाहता हूं कि मेरी डेस्कटॉप पृष्ठभूमि गुलाबी हो। इसलिए मैं GUI के माध्यम से बदलाव करता हूं। यह रजिस्ट्री में कॉन्फ़िगरेशन फ़ाइल कुंजी में एक पंक्ति को संशोधित करता है । मैं तब बदलाव करता हूं, इसका ध्यान रखना है।
  • बाद में मुझे आश्चर्य होता है कि मेरी डेस्कटॉप पृष्ठभूमि गुलाबी क्यों है। इसलिए मैं चैंज में "डेस्कटॉप कलर" खोजता हूं।
  • एक दिन मुझे एक नई मशीन का उपयोग करने की आवश्यकता है। इसलिए मैं अपने कॉन्फ़िगरेशन रिपॉजिटरी, और वॉयलिया, गुलाबी डेस्कटॉप से ​​जांच करता हूं।

यहाँ कुछ चीजें हैं जो मैं करने की कोशिश नहीं कर रहा हूँ:

  • मैं बैकअप बनाने की कोशिश नहीं कर रहा हूं। मैं बदलावों (शब्दार्थ, या कम से कम वाक्यविन्यास, केवल तारीख तक) का पता लगाने में सक्षम होना चाहता हूं, और मशीनों (एक रिपॉजिटरी, कई चेकआउट) के बीच जानकारी साझा करना चाहता हूं।

  • मैं विंडोज इंस्टॉलेशन को दोहराने की कोशिश नहीं कर रहा हूं। मैं हार्डवेयर निर्भरता, इंस्टॉल किए गए एप्लिकेशन या दस्तावेज़ों को नहीं ले जाना चाहता।

</ Added1>


4
इसका अंतिम लक्ष्य क्या है, क्या आप एक ऐप को इंजीनियर बनाने की कोशिश कर रहे हैं? कारण मैं पूछ रहा हूँ कि क्या अलग है पर रिपोर्ट के बिना, एक स्थिर सूखे राज्य रखना आसान होगा। यहां तक ​​कि परिवर्तनों को देखना बहुत कठिन नहीं हो सकता है, लेकिन संस्करण नियंत्रण में उन्हें जांचना नहीं है। मैं सिर्फ यह समझना चाहूंगा कि आप क्या हासिल करना चाहते हैं और शायद मैं एक अलग दृष्टिकोण का सुझाव दे सकता हूं।
बजे स्कॉट मैकक्लेनिंग

@Scott से सहमत हूं, मुझे यह बहुत व्यावहारिक नहीं लग रहा है (या उस मामले के लिए भी संभव है)। क्या आप पूरा करने के लिए कोशिश कर रहे हैं के रूप में अधिक विवरण महान होगा।
साशा चोडगोव

1
+1 ... आप लगभग निश्चित रूप से इस गलत तरीके के बारे में जा रहे हैं।
Zac थॉम्पसन

@ सेट: मेरा लक्ष्य मेरे विंडोज अनुकूलन के लिए संस्करण नियंत्रण का उपयोग करना है। मुझे नहीं पता कि मेरा सवाल आपको रिवर्स इंजीनियरिंग का सुझाव क्यों देता है। @Zac: जब से मैंने पहला कदम नहीं बनाया है, मैं इस बारे में गलत तरीके से नहीं जा सकता।
गिल्स एसओ- बुराई को रोकें '

ऐसा लग रहा था कि आपका लक्ष्य एक सिस्टम पर कुछ करना है और फिर देखें कि क्या हुआ, एक कॉन्फ़िगरेशन को सेटअप करें जिसे आप बाद में पुनर्स्थापित कर सकते हैं। यदि आपको बाद में किसी कॉन्फ़िगरेशन को पुनर्स्थापित करने की आवश्यकता है, तो मैं स्नैपशॉट लेने के लिए कुछ वर्चुअल मशीन सॉफ़्टवेयर का उपयोग करूंगा। यह आपको नहीं बताएगा कि क्या हुआ था लेकिन यह आपको बार-बार उसी स्थान पर ले जाएगा। यदि आप यह देखना चाहते हैं कि एक ऐप क्या है तो ऐसे प्रोग्राम हैं जो एक सिस्टम प्री और पोस्ट इंस्टाल का अलग-अलग काम करके msi फाइल बनाते हैं। फिर आप msi के अंदर देख सकते हैं और देख सकते हैं कि ऐप ने क्या स्पर्श किया / बदल दिया। लेकिन इनमें से कोई भी "संस्करण नियंत्रण" नहीं है।
स्कॉट मैकक्लेनिंग

जवाबों:


9

जहाँ तक मुझे पता है, रजिस्ट्री में बहुत अधिक फ़ाइलों और स्थानों के बीच, विंडोज कॉन्फ़िगरेशन मज़बूती से बैकअप के लिए भी बिखरा हुआ है।

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

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

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

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

जब सिस्टम ड्राइव में उपयोगकर्ता डेटा नहीं होता है तो डिस्क-इमेजिंग सबसे अच्छा काम करता है।


1
+1 मैं इससे सहमत हूं। मैं डिस्क-इमेजिंग की विशेषताओं को नहीं देख सकता, लेकिन मैं DriveImage ( runtime.org/driveimage-xml.htm ) का उपयोग करता हूं जो आपको विश्वसनीय तकनीकों का उपयोग करके सिस्टम का उपयोग करते समय डिस्क का बैकअप लेने की अनुमति देता है। यह आपको फ़ाइलों को ब्राउज़ करने की भी अनुमति देता है
क्रिश्चियन टी

एक डिस्क-इमेजिंग उत्पाद का उपयोग करने के बजाय एक वीएम का उपयोग करना और स्नैपशॉट लेना सरल हो सकता है। अगर हार्डवेयर समान नहीं है, तो मशीनों के बीच माइग्रेट करना बहुत सरल होगा।
वेलोसाइराप्टर्स

@harrymc: मुझे खेद है कि यदि मेरा प्रारंभिक सूत्रीकरण पहली बार के आसपास स्पष्ट नहीं था (मुझे संदेह है कि यह समझने के लिए एक यूनिक्स पृष्ठभूमि लिया गया था कि मेरा क्या मतलब है), लेकिन मैं अपने उपयोगकर्ता कॉन्फ़िगरेशन का बैकअप लेने की कोशिश कर रहा हूं, सिस्टम कॉन्फ़िगरेशन नहीं ।
गिल्स एसओ- बुराई को रोकें '

1
जवाब तब भी वही होगा, जब तक आप उपयोगकर्ता कॉन्फ़िगरेशन में तत्वों की सूची को बहुत तेज़ी से कम नहीं कर सकते। लिनक्स डॉट निर्देशिकाओं के विपरीत, विंडोज में कोई वास्तविक "उपयोगकर्ता कॉन्फ़िगरेशन" क्षेत्र नहीं है। एक उपयोगकर्ता रजिस्ट्री हाइव मौजूद है, लेकिन "प्रोग्राम फाइल्स", "उपयोगकर्ता" इत्यादि में बहुत से उपयोगकर्ता-जानकारी अन्य स्थानों पर और सभी डिस्क में बिखरे हुए हैं। आप रजिस्ट्री परिवर्तनों की निगरानी भी नहीं कर सकते हैं, क्योंकि विंडोज ही बहुत से नरक को संशोधित करता है काम करते हुए उनमें से। और हर एप्लिकेशन अपने खुद के नियम लागू करता है। एक कारण है कि लिनक्स अधिक कुशल है ...
8

एक Windows उपयोगकर्ता के रूप में, मुझे भी आपके जैसे तंत्र की रूपरेखा पसंद है। काश, यह काफी असंभव है। डेटा कहाँ संग्रहीत है, यह जानने के लिए आपको प्रोसेस मॉनीटर का उपयोग करके हर एप्लिकेशन और तरह के परिवर्तन का पता लगाना होगा। यह समय की राक्षसी निवेश की मांग करने वाली एक बहुत बड़ी परियोजना है।
harrymc

2

बाड़ के सर्वर की ओर से आने से, जहाँ आप हमसे अपेक्षा करेंगे कि विन्यास परिवर्तन के बारे में हम बहुत अधिक पागल हों और वे कहाँ से आए हैं, मैं कह सकता हूँ कि वे वास्तव में मौजूद नहीं हैं। ग्लोबल कॉन्फिग-ट्रैकिंग अधिकांश भाग के लिए पूरी तरह से मैन्युअल प्रक्रिया है। परिवर्तनों के लिए विशिष्ट रजिस्ट्री क्षेत्रों की निगरानी करना (लेकिन उन्हें रोकना नहीं ) संभव है , लेकिन मुझे कोई भी मुफ्त / सस्ते सॉफ़्टवेयर पैकेज की जानकारी नहीं है जो इसे और कई बहुत महंगे लोगों की अनुमति दें (यह फ़ाइल-जानकारी को ट्रैक करने और फिर दो अलग करने की तुलना में बहुत अधिक जटिल समस्या है) पाठ फ़ाइलें; इस प्रकार, महंगी)।

यह ड्राइव यूनिक्स की बैट्टी को स्वीकार करता है। Kack Brandt , StackOverflow Inc के लिए sysadmin, इस तरह की चीज़ के बारे में कुछ हफ़्ते पहले पकड़ रहा था क्योंकि वह StackExchange के लिए Windows मशीनों का एक नया बैच तैयार कर रहा था। लिनक्स / विंडोज क्रॉसओवर SysAdmins सभी उसके साथ शुरू हुआ। बस वीसीएस के तहत डालने / आदि के बराबर कोई विंडोज नहीं है। वहाँ कुछ बदसूरत kludges हैं, जैसे कि डिस्क इमेजिंग / स्नैपशॉटिंग या केवल समूह नीतियों (और मैन्युअल रूप से GPO में परिवर्तन ट्रैक) के माध्यम से मजबूर परिवर्तन, लेकिन लगभग सुरुचिपूर्ण कुछ भी नहीं।

माफ़ करना।


2

व्यक्तिगत रूप से मैं Regshot के साथ विंडोज़ रजिस्ट्री में परिवर्तनों को ट्रैक करता हूं । आप बदलाव से पहले एक स्नैपशॉट लेते हैं फिर इसे बनाने के बाद एक दूसरा। आप परिवर्तनों की एक अच्छी HTML रिपोर्ट भी प्राप्त कर सकते हैं। निश्चित रूप से आपको यह सुनिश्चित करना होगा कि स्नैपशॉट के बीच केवल कुछ बदलाव किए जाएं यदि आप यह पता लगाना चाहते हैं कि हर परिवर्तन क्या करता है। Regshot एक ओपन सोर्स प्रोग्राम है।

यदि आप फ़ाइल सिस्टम परिवर्तन ट्रैकिंग / बैकअप की तलाश कर रहे हैं, तो संभवतः निकटतम DocShield होगा । आप इसके साथ किसी भी फ़ोल्डर को ट्रैक कर सकते हैं, हालांकि एप्लिकेशन डेटा संभवतः आपकी व्यक्तिगत प्राथमिकताओं के लिए सबसे अच्छा अनुमान है जो अधिकांश विंडोज़ उपयोगकर्ताओं के जागरूक सॉफ़्टवेयर को बदलता है। DocShield घरेलू उपयोगकर्ताओं के लिए निःशुल्क है। आप उन xcopy /d:{m-d-y}फ़ोल्डरों का उपयोग करके नकल कर सकते हैं जिनकी आपको आवश्यकता है और फिर आउटपुट को zip / 7z करें।

फिर अपनी टिप्पणी के साथ दोनों बैकअप से किसी भी संस्करण नियंत्रण रिपॉजिटरी में आउटपुट जोड़ें।


यह देखते हुए कि मुझे HTML रिपोर्ट्स की कोई परवाह नहीं है, Microsoft reg.exeऔर Cygwin regtoolक्या नहीं करेंगे? DocShield के लिए, यह क्या करता है कि कोई भी संस्करण नियंत्रण सॉफ़्टवेयर बेहतर नहीं करेगा?
गिल्स एसओ- बुराई को रोकें '

बाउंटी को रेगशॉट के लिए सम्मानित किया गया। मुझे नहीं लगता कि यह वास्तव में है जो मैं चाहता हूं, लेकिन यह एक अच्छी शुरुआत है जिसे मैं निर्माण करने में सक्षम हो सकता हूं (विशेष रूप से इसे खुला स्रोत दिया गया है)।
गिल्स एसओ- बुराई को रोकें '

मुझे लगता है कि मेरा वह काम था जो आप ढूंढ रहे हैं ... लेकिन इसलिए नहीं कि मैं चाहता था कि बाउंटी सिर्फ आपको बताए।
jer.salamon

1

यह सरल नहीं होगा, लेकिन आप यह निर्धारित करने के लिए Sysinternals Process Monitor का उपयोग कर सकते हैं कि कौन सी फाइलें और रजिस्ट्री सेटिंग्स बदली गईं। फिर आप एक बड़े कार्यक्रम में रजिस्ट्री संपादन और अद्यतित फ़ाइलों को जोड़ सकते हैं जो आपके लिए परिवर्तन करेंगे। आप शायद पावर शेल या AutoIt जैसी किसी चीज़ का उपयोग कर सकते हैं। फिर परिणामी स्क्रिप्ट को अपने vcs में जांचें। मैं लॉगऑन स्क्रिप्ट और कस्टम समूह नीति प्रशासन टेम्पलेट में अजीब सेटिंग्स को स्वचालित करने के लिए एक समान विधि का उपयोग करता हूं।


अगर मैं आपको सही तरीके से समझता हूं, तो आप मूल रूप से पूरी तरह से रजिस्ट्री और Application Dataसामग्री के बजाय केवल मेरे बदलाव से प्रेरित होने का प्रस्ताव रख रहे हैं , है ना? जब किसी कारण से मॉनिटर प्रोग्राम नहीं चल रहा है तो मैं किए गए परिवर्तनों का पता कैसे लगाऊंगा? क्या अद्यतन संचालन को सक्षम करने के लिए वर्कफ़्लो का विस्तार करने का एक उचित तरीका है (यानी, मैं पहले ही एक चेकआउट कर चुका हूँ और दूसरी मशीन पर किए गए कुछ और बदलावों को लागू करना चाहता हूँ)?
गिल्स एसओ- बुराई को रोकें '

1

मेरे पास आपके लिए एक OS समाधान नहीं है, लेकिन एक भुगतान की संभावना है। आप क्या कर सकते हैं, DriveImage XML का उपयोग करके अपनी ड्राइव का बैकअप लेना है

बैकअप फॉर्मेट XML है। फिर आप अपने पसंदीदा संस्करण नियंत्रण प्रणाली में इस xml फ़ाइल (डिफरेंशियल भी संभव हैं) को बचा सकते हैं।

जैसा कि हैरीएमसी ने कहा है, आप वास्तव में इस छवि का उपयोग किसी नई प्रणाली में परिवर्तन करने के लिए नहीं कर सकते हैं, लेकिन आप निश्चित रूप से एक ही हार्डवेयर के साथ एक नई प्रणाली पर छवि का उपयोग कर सकते हैं।


1

आप विंडोज़ बॉक्स की स्थापना के साथ अपनी पूरी प्रोफ़ाइल को कॉपी करने के लिए फोरेंसिक के प्रोफाइल प्रबंधन सॉफ़्टवेयर का उपयोग कर सकते हैं। इसे देखने के लिए यहां जाएं: उपयोगकर्ता प्रोफ़ाइल प्रबंधक


मैं यह नहीं देखता कि यह कार्यक्रम मुझे कैसे मदद कर सकता है: ऐसा लगता है कि यह कई मशीनों पर प्रोफाइल को तैनात करने के लिए है, जो कि मेरी केंद्रीय चिंता नहीं है (इतिहास का प्रबंधन)। मैं देख सकता हूं कि यह प्रशासकों के लिए एक मूल्यवान उपकरण हो सकता है, लेकिन मैं यहां एक उपयोगकर्ता हूं।
गिल्स एसओ- बुराई को रोकें '

यह आपको आपकी उपयोगकर्ता प्रोफ़ाइल का बैकअप लेने की क्षमता प्रदान करता है और जब आप चुनते हैं तो इसे पुनर्स्थापित करने में सक्षम होते हैं। Isnt कि आपकी तलाश क्या है?
jer.salamon

-2

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

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.