Как я могу поставить мою личную конфигурацию Windows под контроль версий ?
Резюме (подробности и примеры приведены ниже):
- Персональная конфигурация (например, настройки рабочего стола), а не конфигурация системы (например, драйверы); должен работать без прав администратора
- Контроль версий, а не резервное копирование или создание образа диска
Вот несколько вещей, которые я хочу сделать:
- Зафиксируйте текущее состояние моей конфигурации в хранилище, желательно с некоторой детализацией (если бы я сделал два изменения, я бы хотел иметь возможность зафиксировать одно без фиксации другого).
- Напишите запись журнала изменений каждый раз, когда я фиксирую, и просмотрите список записей журнала изменений для каждого файла конфигурации.
- Посмотрите на различия между текущим состоянием и версией репозитория.
- Проверьте из моего репозитория на новом компьютере Windows и воспроизведите мою конфигурацию (по крайней мере, если новый компьютер имеет ту же версию Windows).
<добавленный1> я не буду пытаться дать полностью точное определение "конфигурации"; Я пытаюсь охватить все виды личных предпочтений (например, все, что можно установить в панели управления без прав администратора, ярлыки в моем меню «Программы», предназначенном для пользователя,…). Я не хочу включать свои документы или установленные приложения. </ added1>
<добавлено2> Обратите внимание, что я нацеливаюсь на мою личную конфигурацию, а не на конфигурацию системы (это также было бы полезно, но цель этого вопроса не в этом). Например, я ожидаю, что решение будет работать без прав администратора. </ added1>
Что я делаю в Unix - это помещаю (выборочно) мои точечные файлы под контроль версий . В операционной системе Windows, я полагаю , я должен совершить регистрацию и некоторые файлы (которые?) Под Application Data
. Я хотел бы что-то лучше, чем поставить весь файл реестра под контроль версий (этого недостаточно, и я боюсь проблем с блокировкой). <добавленный1> В идеале я хотел бы использовать оболочки или сценарии с некоторыми распространенными программами контроля версий (Bazaar, CVS, Darcs, Git, Mercurial, Subversion,…), но это не является абсолютным требованием. </ added1>
В настоящее время мне нужно работать с Windows 2000 и Windows XP. Так как это для рабочей машины, Payware не подойдет (с открытым исходным кодом было бы идеально). Мне удобнее работать с командной строкой, чем с графическим интерфейсом.
<добавлен1> Вот пример рабочего процесса:
- Однажды я решил, что хочу, чтобы фон моего рабочего стола был розовым. Поэтому я делаю изменения через графический интерфейс. Это изменяет
строку включефайла конфигурациив реестре. Затем я фиксирую изменения, чтобы отследить их. - Позже я удивляюсь, почему фон моего рабочего стола розовый. Поэтому я ищу «цвет рабочего стола» в журнале изменений.
- Однажды мне нужно использовать новую машину. Поэтому я проверяю из своего хранилища настроек и вуаля, розовый рабочий стол.
Вот некоторые вещи, которые я не пытаюсь сделать:
Я не пытаюсь делать резервные копии. Я хочу иметь возможность отслеживать изменения (по семантике или, по крайней мере, по синтаксису, а не только по дате) и обмениваться информацией между машинами (один репозиторий, несколько проверок).
Я не пытаюсь повторить установку Windows. Я не хочу переносить аппаратные зависимости, установленные приложения или документы.
</ Added1>
источник
Ответы:
Насколько я знаю, конфигурация Windows слишком разбросана для надежного резервного копирования среди слишком большого количества файлов и мест в реестре.
Невозможно сделать резервную копию реестра на одном компьютере и восстановить его на другом (или даже на одном и том же), потому что слишком много ключей слишком специфично для машины и потому что некоторые ключи защищены Windows.
Восстановление системы нацелено на поддержание состояния компьютера, но для вашей цели это ненадежно, поскольку оно самостоятельно решает, какие резервные копии следует удалить для экономии места, и имеет другие негативные проблемы, такие как недоступность в Windows 2000.
Единственное универсальное решение, которое я вижу, состоит в том, чтобы полностью создать образ системного диска и при необходимости восстановить его, используя продукт для создания образа диска.
Существует несколько продуктов для создания образов дисков очень хорошего качества, которые я могу порекомендовать, если вы обнаружите, что это решение вас интересует. Некоторые из них хранят репозиторий изображений с описательной информацией. Хотя лучшие из них являются коммерческими, бесплатные программы все еще очень хороши.
Создание образа диска лучше всего работает, когда системный диск не содержит пользовательских данных.
источник
Исходя из серверной части забора, где вы ожидаете, что мы очень параноидально относимся к изменениям конфигурации и откуда они пришли, я могу сказать, что они на самом деле не существуют. Глобальное отслеживание конфигурации - по большей части полностью ручной процесс. Можно отслеживать (но не предотвращать ) определенные области реестра на предмет изменений, но я не знаю ни одного бесплатного / дешевого программного пакета, который бы позволял это, и нескольких очень дорогих (это гораздо более сложная проблема, чем отслеживание информации о файле и затем различие двух текстовые файлы, таким образом, дорого).
Это гонит админов Unix. Кайл Брандт , системный администратор StackOverflow Inc, пару недель назад рассказывал о подобных вещах, когда готовил новую партию компьютеров под Windows для StackExchange. Кроссовер Linux / Windows SysAdmins все сочувствовал ему. В Windows просто нет эквивалента для размещения / etc под VCS. Существуют некоторые уродливые ошибки, такие как создание образа / моментальный снимок диска или только принудительное изменение конфигурации с помощью групповых политик (и отслеживание изменений в объектах групповой политики вручную), но не все так элегантно.
Сожалею.
источник
Лично я отслеживаю изменения в реестре Windows с помощью Regshot . Вы делаете снимок до изменения, затем второй после его внесения. Вы также можете получить хороший HTML-отчет об изменениях. Конечно, вы должны убедиться, что между моментальными снимками сделано только несколько изменений, если вы хотите выяснить, что делает каждое изменение. Regshot - это программа с открытым исходным кодом.
Если вы ищете отслеживание / резервное копирование изменений в файловой системе, возможно, наиболее близким будет DocShield . С его помощью вы можете отслеживать любую папку, хотя данные приложения, вероятно, являются вашим лучшим предположением об изменениях ваших личных предпочтений в большинстве программ, использующих профили пользователей Windows. DocShield бесплатен для домашних пользователей. Вы можете имитировать то, что он делает, используя
xcopy /d:{m-d-y}
нужные вам папки, а затем zip / 7z вывод.Затем добавьте выходные данные из обеих резервных копий в любое хранилище управления версиями со своими замечаниями.
источник
reg.exe
и Cygwin -regtool
нет? Что касается DocShield, что он делает, что любое программное обеспечение для контроля версий не будет лучше?Это будет непросто, но вы можете использовать Sysinternals Process Monitor, чтобы определить, какие файлы и параметры реестра были изменены. Затем вы можете добавить изменения реестра и обновленные файлы в большую программу, которая внесет изменения за вас. Возможно, вы могли бы использовать Power Shell или что-то вроде AutoIt. Затем проверьте полученный скрипт в вашем vcs. Я использую аналогичный метод для автоматизации странных настроек в сценариях входа и пользовательских шаблонах администрирования групповой политики.
источник
Application Data
контент, верно? Как я могу обнаружить изменения, сделанные, когда программа монитора по какой-то причине не работает? Есть ли разумный способ расширить рабочий процесс для включения операций обновления (т. Е. Я уже сделал проверку и хочу применить еще несколько изменений, сделанных на другом компьютере)?У меня нет решения для ОС, но есть платная возможность. Что вы можете сделать, это сделать резервную копию вашего диска с помощью DriveImage XML
Формат резервной копии - XML. Затем вы можете сохранить этот XML-файл (также возможны различия) в вашей любимой системе контроля версий.
Как сказал HarryMC , вы не можете использовать этот образ для внесения изменений в новую систему, но вы точно можете использовать этот образ в новой системе с точно таким же оборудованием.
источник
Вы можете использовать программное обеспечение для управления профилями ForensiT, чтобы скопировать весь свой профиль, отключив окно Windows. Зайдите сюда, чтобы проверить это: Менеджер профилей пользователей
источник
Мне кажется, вы описываете приложение базы данных, в котором вы отслеживаете ключи реестра и индексируете их по тегу. Хотя я недостаточно разбираюсь в ключах реестра, чтобы сделать это, в вашем примере вы хотите найти в базе данных Pink Desk top и получить инструкцию, которая будет реализовывать это изменение на другом компьютере. То есть, если я понимаю твои намерения
источник