Wie kann ich meine persönliche Windows-Konfiguration unter Versionskontrolle stellen ?
Zusammenfassung (Details und Beispiele folgen):
- Persönliche Konfiguration (z. B. Desktop-Einstellungen), keine Systemkonfiguration (z. B. Treiber); sollte ohne Administratorrechte funktionieren
- Versionskontrolle, keine Backups oder Disk Imaging
Hier sind einige Dinge, die ich tun möchte:
- Übertragen Sie den aktuellen Status meiner Konfiguration in ein Repository, vorzugsweise mit einer gewissen Granularität (wenn ich zwei Änderungen vorgenommen habe, möchte ich eine festschreiben können, ohne die andere festzuschreiben).
- Schreiben Sie bei jedem Festschreiben einen Änderungsprotokolleintrag und sehen Sie sich die Liste der Änderungsprotokolleinträge für jede Konfigurationsdatei an.
- Sehen Sie sich die Unterschiede zwischen dem aktuellen Status und einer Repository-Version an.
- Checken Sie aus meinem Repository auf einem neuen Windows-Computer aus und reproduzieren Sie meine Konfiguration (zumindest wenn der neue Computer dieselbe Windows-Version hat).
<added1> Ich werde nicht versuchen, eine vollständig genaue Definition von "Konfiguration" zu geben. Ich versuche, alle Arten von persönlichen Einstellungen abzudecken (z. B. alles, was in der Systemsteuerung ohne Administratorrechte eingestellt werden kann, Verknüpfungen in meinem benutzerspezifischen Menü „Programme“,…). Ich möchte meine Dokumente oder installierten Anwendungen nicht einschließen. </ added1>
<added2> Beachten Sie, dass ich auf meine persönliche Konfiguration abziele, nicht auf die Systemkonfiguration (das wäre auch nützlich, aber es ist nicht der Zweck dieser Frage). Zum Beispiel erwarte ich, dass eine Lösung ohne Administratorrechte funktioniert. </ added1>
Unter Unix mache ich (eine Auswahl) meiner Punktedateien unter Versionskontrolle . Unter Windows sollte ich die Registrierung und einige Dateien (unter welchen?) Festschreiben Application Data
. Ich hätte gerne etwas Besseres, als die gesamte Registrierungsdatei unter Versionskontrolle zu stellen (das reicht nicht aus, und ich befürchte, Probleme beim Sperren zu haben). <added1> Idealerweise würde ich Wrapper oder Skripte mit einer gängigen Versionskontrollsoftware (Bazaar, CVS, Darcs, Git, Mercurial, Subversion, ...) verwenden, aber das ist keine absolute Voraussetzung. </ added1>
Ich muss derzeit mit Windows 2000 und Windows XP arbeiten. Da dies für eine Arbeitsmaschine gilt, funktioniert Payware nicht (Open Source wäre ideal). Ich bin mit der Befehlszeile besser vertraut als mit GUIs.
<added1> Hier ist ein Beispielworkflow:
- Eines Tages möchte ich, dass mein Desktop-Hintergrund rosa ist. Also mache ich die Änderung über die GUI. Dadurch wird eine
Zeile in einem Konfigurationsdateischlüsselin der Registrierung geändert. Ich begebe dann die Änderung, um den Überblick zu behalten. - Später frage ich mich, warum mein Desktop-Hintergrund rosa ist. Also suche ich im Changelog nach „Desktop-Farbe“.
- Eines Tages muss ich eine neue Maschine benutzen. Also checke ich aus meinem Konfigurations-Repository und voilà, pink Desktop.
Hier sind einige Dinge, die ich nicht versuche:
Ich versuche nicht, Backups zu erstellen. Ich möchte in der Lage sein, Änderungen (nach Semantik oder zumindest Syntax, nicht nur nach Datum) zu verfolgen und Informationen zwischen Computern auszutauschen (ein Repository, mehrere Checkouts).
Ich versuche nicht, eine Windows-Installation zu replizieren. Ich möchte keine Hardwareabhängigkeiten, installierten Anwendungen oder Dokumente übertragen.
</ added1>
quelle
Antworten:
Soweit ich weiß, ist die Windows-Konfiguration zu verstreut, um zuverlässig zwischen zu vielen Dateien und Stellen in der Registrierung zu sichern.
Es ist unmöglich, die Registrierung auf einem Computer zu sichern und auf einem anderen (oder sogar auf demselben) Computer wiederherzustellen, da zu viele Schlüssel zu spezifisch für den Computer sind und einige Schlüssel von Windows geschützt werden.
Die Systemwiederherstellung zielt darauf ab, den Computerstatus beizubehalten. Für Ihren Zweck ist sie jedoch unzuverlässig, da sie selbst entscheidet, welche Sicherungen aus Platzgründen gelöscht werden sollen, und andere negative Probleme aufweist, z. B. die Nichtverfügbarkeit in Windows 2000.
Die einzige universelle Lösung, die ich sehen kann, besteht darin, die Systemfestplatte in ihrer Gesamtheit abzubilden und sie bei Bedarf mithilfe eines Disk-Imaging-Produkts wiederherzustellen.
Es gibt mehrere Disk-Imaging-Produkte von sehr guter Qualität, die ich empfehlen kann, wenn Sie feststellen, dass diese Lösung Sie interessiert. Einige von ihnen führen ein Repository mit beschreibenden Bildern. Obwohl die besten kommerziell sind, sind die Freeware immer noch sehr gut.
Disk-Imaging funktioniert am besten, wenn das Systemlaufwerk keine Benutzerdaten enthält.
quelle
Wenn ich von der Serverseite des Zauns komme, wo wir erwarten würden, dass wir in Bezug auf Konfigurationsänderungen sehr paranoid sind und woher sie stammen, kann ich sagen, dass sie nicht wirklich existieren. Das globale Konfigurations-Tracking ist größtenteils ein vollständig manueller Prozess. Es ist möglich, bestimmte Registrierungsbereiche auf Änderungen zu überwachen (aber nicht zu verhindern ), aber ich kenne keine freien / billigen Softwarepakete, die dies zulassen, und einige sehr teure (es ist ein viel komplexeres Problem, als Dateiinformationen zu verfolgen und dann zwei zu unterscheiden Textdateien; also teuer).
Dies macht Unix-Administratoren verrückt. Kyle Brandt , Systemadministrator bei StackOverflow Inc, hat sich vor ein paar Wochen mit solchen Dingen befasst, als er eine neue Reihe von Windows-Computern für StackExchange bereitstellte. Die Linux / Windows-Frequenzweiche SysAdmins hat ihn alle bedauert. Es gibt einfach kein Windows-Äquivalent zu / etc unter VCS. Es gibt einige hässliche Probleme, wie z. B. Disk Imaging / Snapshotting oder nur das Erzwingen von Konfigurationsänderungen über Gruppenrichtlinien (und das manuelle Verfolgen von Änderungen an den Gruppenrichtlinienobjekten), aber nichts annähernd so Elegantes.
Es tut uns leid.
quelle
Persönlich verfolge ich Änderungen in der Windows-Registrierung mit Regshot . Sie machen vor der Änderung einen Schnappschuss und nach dem Erstellen einen zweiten. Sie können auch einen schönen HTML-Bericht über die Änderungen erhalten. Natürlich müssen Sie sicherstellen, dass zwischen den Schnappschüssen nur wenige Änderungen vorgenommen werden, wenn Sie herausfinden möchten, was jede Änderung bewirkt. Regshot ist ein Open Source Programm.
Wenn Sie nach dem Tracking / Backup von Dateisystemänderungen suchen, ist DocShield wahrscheinlich das nächstgelegene . Sie können jeden Ordner damit verfolgen, obwohl Anwendungsdaten wahrscheinlich die beste Vermutung für Ihre persönlichen Präferenzänderungen der meisten Windows-Benutzerprofilsoftware sind. DocShield ist für Privatanwender kostenlos. Sie können nachahmen, was es tut, indem
xcopy /d:{m-d-y}
Sie die benötigten Ordner verwenden und dann die Ausgabe zip / 7z.Fügen Sie dann die Ausgabe beider Sicherungen mit Ihren Anmerkungen zu einem beliebigen Versionskontroll-Repository hinzu.
quelle
reg.exe
und Cygwinregtool
nicht tun , da mir HTML-Berichte egal sind? Was bewirkt DocShield, dass eine Versionskontrollsoftware nicht besser funktioniert?Es wäre nicht einfach, aber Sie könnten Sysinternals Process Monitor verwenden, um festzustellen, welche Dateien und Registrierungseinstellungen geändert wurden. Sie können dann die Registrierungsänderungen und aktualisierten Dateien zu einem größeren Programm hinzufügen, das die Änderungen für Sie vornimmt. Sie könnten wahrscheinlich Power Shell oder etwas wie AutoIt verwenden. Überprüfen Sie dann das resultierende Skript in Ihrem VCS. Ich verwende eine ähnliche Methode zum Automatisieren seltsamer Einstellungen in Anmeldeskripten und benutzerdefinierten Vorlagen für die Verwaltung von Gruppenrichtlinien.
quelle
Application Data
Inhalt, oder? Wie würde ich Änderungen erkennen, die vorgenommen wurden, wenn das Monitorprogramm aus irgendeinem Grund nicht ausgeführt wird? Gibt es eine vernünftige Möglichkeit, den Workflow zu erweitern, um Aktualisierungsvorgänge zu ermöglichen (dh ich habe bereits eine Prüfung durchgeführt und möchte einige weitere Änderungen vornehmen, die auf einem anderen Computer vorgenommen wurden)?Ich habe keine Betriebssystemlösung für Sie, aber es gibt eine kostenpflichtige Möglichkeit. Sie können Ihr Laufwerk mit DriveImage XML sichern
Das Sicherungsformat ist XML. Sie können diese XML-Datei dann (Unterschiede sind auch möglich) in Ihrem bevorzugten Versionskontrollsystem speichern.
Wie HarryMC gesagt hat, können Sie dieses Image nicht wirklich verwenden, um Änderungen an einem neuen System vorzunehmen, aber Sie können das Image definitiv auf einem neuen System mit genau derselben Hardware verwenden.
quelle
Sie können die Profilverwaltungssoftware von ForensiT verwenden, um Ihr gesamtes Profil zu kopieren, indem Sie eine Windows-Box aktivieren. Gehen Sie hier, um es auszuprobieren: Benutzerprofil-Manager
quelle
Mir scheint, Sie beschreiben eine Datenbankanwendung, in der Sie die Registrierungsschlüssel verfolgen und durch ein Tag indizieren. Obwohl ich mit Registrierungsschlüsseln nicht technisch genug bin, um dies zu tun, möchten Sie in Ihrem Beispiel die Datenbank nach Pink Desk top durchsuchen und die Anweisung erhalten, die diese Änderung auf einem anderen Computer implementiert. Das heißt, wenn ich Ihre Absichten verstehe
quelle