Bagaimana saya bisa meletakkan konfigurasi Windows pribadi saya di bawah kontrol versi ?
Ringkasan (detail dan contoh berikut):
- Konfigurasi pribadi (mis. Preferensi desktop), bukan konfigurasi sistem (mis. Driver); harus bekerja tanpa hak admin
- Kontrol versi, bukan pencadangan atau pencitraan disk
Berikut adalah beberapa hal yang saya ingin dapat lakukan:
- Komit keadaan konfigurasi saya saat ini ke repositori, lebih disukai dengan beberapa rincian (jika saya telah membuat dua perubahan, saya ingin dapat melakukan satu tanpa komit yang lain).
- Tulis entri changelog setiap kali saya komit, dan lihat daftar entri changelog untuk setiap file konfigurasi.
- Lihat perbedaan antara kondisi saat ini dan versi repositori.
- Lihat dari repositori saya di mesin Windows baru dan mereproduksi konfigurasi saya (setidaknya jika mesin baru memiliki versi Windows yang sama).
<added1> Saya tidak akan mencoba memberikan definisi "konfigurasi" yang sepenuhnya tepat; Saya mencoba untuk mencakup semua jenis preferensi pribadi (misalnya, apa pun yang dapat diatur di panel kontrol tanpa hak admin, pintasan di menu "Program" khusus pengguna, ...). Saya tidak ingin memasukkan dokumen saya atau aplikasi yang diinstal. </added1>
<added2> Perhatikan bahwa saya menargetkan konfigurasi pribadi saya, bukan konfigurasi sistem (itu akan berguna juga, tetapi bukan tujuan dari pertanyaan ini). Misalnya saya mengharapkan solusi untuk bekerja tanpa hak admin. </added1>
Apa yang saya lakukan di unix adalah meletakkan (pilihan) file dot saya di bawah kontrol versi . Di Windows, saya kira saya harus melakukan registri dan beberapa file (yang?) Di bawah Application Data
. Saya ingin sesuatu yang lebih baik daripada meletakkan seluruh file registri di bawah kontrol versi (itu tidak cukup granularity, dan saya takut masalah penguncian). <added1> Idealnya saya akan menggunakan pembungkus atau skrip dengan beberapa perangkat lunak kontrol versi umum (Bazaar, CVS, Darcs, Git, Mercurial, Subversion, ...), tapi itu bukan persyaratan mutlak. </added1>
Saat ini saya perlu bekerja dengan Windows 2000 dan Windows XP. Karena ini untuk mesin kerja, payware tidak akan berfungsi (open source akan ideal). Saya lebih nyaman dengan baris perintah daripada dengan GUI.
<added1> Ini contoh alur kerja:
- Suatu hari saya memutuskan saya ingin latar belakang desktop saya menjadi merah muda. Jadi saya melakukan perubahan melalui GUI. Ini memodifikasi
baris dalamkuncifile konfigurasidi registri. Saya kemudian melakukan perubahan, untuk melacaknya. - Kemudian saya bertanya-tanya mengapa latar belakang desktop saya berwarna merah muda. Jadi saya mencari "warna desktop" di changelog.
- Suatu hari saya perlu menggunakan mesin baru. Jadi saya memeriksa dari repositori konfigurasi saya, dan voilà, desktop pink.
Berikut adalah beberapa hal yang tidak saya coba lakukan:
Saya tidak mencoba membuat cadangan. Saya ingin dapat melacak perubahan (berdasarkan semantik, atau setidaknya sintaks, bukan hanya berdasarkan tanggal), dan untuk berbagi informasi antar mesin (satu repositori, beberapa checkout).
Saya tidak mencoba meniru instalasi Windows. Saya tidak ingin membawa dependensi perangkat keras, aplikasi yang diinstal, atau dokumen.
</added1>
sumber
Jawaban:
Sejauh yang saya tahu, konfigurasi Windows terlalu tersebar untuk dapat diandalkan cadangan, di antara terlalu banyak file dan tempat di registri.
Tidak mungkin untuk membuat cadangan registri pada satu mesin dan mengembalikannya pada yang lain (atau bahkan pada yang sama), karena terlalu banyak kunci terlalu spesifik untuk mesin dan karena beberapa kunci dilindungi oleh Windows.
Pemulihan Sistem bertujuan menjaga status mesin, tetapi untuk tujuan Anda tidak dapat diandalkan, karena akan menentukan sendiri cadangan mana yang akan dihapus untuk menghemat ruang, dan memiliki masalah negatif lainnya seperti tidak tersedia di Windows 2000.
Satu-satunya solusi universal yang dapat saya lihat adalah mem-image keseluruhan disk sistem dan mengembalikannya saat diperlukan, menggunakan produk disk-imaging.
Ada beberapa produk disk-imaging dengan kualitas yang sangat baik, yang dapat saya rekomendasikan jika Anda menemukan bahwa solusi ini menarik bagi Anda. Beberapa di antaranya menyimpan repositori gambar dengan deskriptif. Meskipun yang terbaik adalah komersial, yang freeware masih sangat bagus.
Pencitraan disk berfungsi paling baik saat drive sistem tidak berisi data pengguna.
sumber
Berasal dari sisi server pagar, tempat Anda mengharapkan kami menjadi sangat paranoid tentang perubahan konfigurasi dan dari mana mereka berasal, saya dapat mengatakan bahwa itu tidak benar-benar ada. Pelacakan konfigurasi global adalah proses yang sepenuhnya manual untuk sebagian besar. Dimungkinkan untuk memantau (tetapi tidak mencegah ) area registri spesifik untuk perubahan, tetapi saya tahu tidak ada paket perangkat lunak gratis / murah yang memungkinkan dan beberapa paket yang sangat mahal (ini adalah masalah yang jauh lebih kompleks daripada melacak info file dan kemudian membedakan dua file teks; dengan demikian, mahal).
Ini mendorong Unix admin batty. Kyle Brandt , sysadmin untuk StackOverflow Inc, mencekam tentang hal semacam ini beberapa minggu yang lalu ketika ia sedang menyusun batch baru mesin Windows untuk StackExchange. Linux / Windows crossover SysAdmins semua bersimpati dengannya. Tidak ada Windows yang setara dengan menempatkan / etc di bawah VCS. Ada beberapa kludges jelek di luar sana, seperti disk imaging / snapshotting atau hanya memaksa perubahan konfigurasi melalui Kebijakan Grup (dan melacak perubahan ke GPO secara manual), tetapi tidak ada yang hampir sama anggunnya.
Maaf.
sumber
Secara pribadi saya melacak perubahan di registri windows dengan Regshot . Anda mengambil snapshot sebelum perubahan lalu yang kedua setelah membuatnya. Anda juga bisa mendapatkan laporan HTML perubahan yang bagus. Tentu saja Anda harus memastikan hanya beberapa perubahan yang dilakukan di antara snapshot jika Anda ingin mengetahui apa yang dilakukan setiap perubahan. Regshot adalah program sumber terbuka.
Jika Anda mencari pelacakan / pencadangan perubahan sistem file terdekat yang mungkin ada adalah DocShield . Anda dapat melacak folder apa pun dengannya meskipun data aplikasi mungkin merupakan perkiraan terbaik Anda untuk perubahan preferensi pribadi Anda dari sebagian besar perangkat lunak yang disadari oleh pengguna windows. DocShield gratis untuk pengguna rumahan. Anda dapat meniru apa yang dilakukannya dengan menggunakan
xcopy /d:{m-d-y}
folder yang Anda butuhkan dan kemudian zip / 7z output.Kemudian tambahkan output dari kedua cadangan ke repositori kontrol versi apa pun dengan komentar Anda.
sumber
reg.exe
dan Cygwinregtool
? Sedangkan untuk DocShield, apa fungsinya sehingga perangkat lunak kontrol versi mana pun tidak akan melakukan yang lebih baik?Ini tidak akan sederhana, tetapi Anda bisa menggunakan Sysinternals Process Monitor untuk menentukan file dan pengaturan registri mana yang diubah. Anda kemudian dapat menambahkan suntingan registri dan memperbarui file ke dalam program yang lebih besar yang akan membuat perubahan untuk Anda. Anda mungkin dapat menggunakan Power Shell atau sesuatu seperti AutoIt. Kemudian periksa skrip yang dihasilkan ke vcs Anda. Saya menggunakan metode serupa untuk mengotomatisasi pengaturan aneh ke skrip log masuk dan template administrasi Kebijakan Grup kustom.
sumber
Application Data
konten, bukan? Bagaimana saya mendeteksi perubahan yang dilakukan ketika program monitor tidak berjalan karena suatu alasan? Apakah ada cara yang masuk akal untuk memperpanjang alur kerja untuk memungkinkan operasi pembaruan (yaitu, saya sudah melakukan checkout dan ingin menerapkan beberapa perubahan lagi yang dibuat pada komputer lain)?Saya tidak punya solusi OS untuk Anda, tetapi ada kemungkinan berbayar. Apa yang dapat Anda lakukan, adalah membuat cadangan drive Anda menggunakan DriveImage XML
Format cadangan adalah XML. Anda kemudian dapat menyimpan file xml ini (beda juga dimungkinkan) ke Sistem Kontrol Versi favorit Anda.
Seperti yang dikatakan HarryMC , Anda tidak dapat benar-benar menggunakan gambar ini untuk membuat perubahan pada sistem baru, tetapi Anda pasti dapat menggunakan gambar pada sistem baru dengan perangkat keras yang persis sama.
sumber
Anda dapat menggunakan perangkat lunak manajemen profil ForensiT untuk menyalin seluruh profil Anda dengan mematikan kotak windows. Buka di sini untuk memeriksanya: Manajer Profil Pengguna
sumber
Menurut saya Anda menggambarkan aplikasi basis data di mana Anda melacak kunci registri dan mengindeksnya dengan tag. Meskipun saya tidak cukup teknis dengan kunci registri untuk melakukan ini, dalam contoh Anda, Anda ingin mencari database untuk bagian atas Pink Desk dan mendapatkan instruksi yang akan mengimplementasikan perubahan itu pada komputer yang berbeda. Yaitu, jika saya memahami niat Anda
sumber