Saya sedang berpikir tentang suatu sistem, di mana /etc
dilacak pada repositori git jarak jauh. Saya berpikir tentang alur kerja git, di mana setiap mesin host di mana cabang yang berbeda.
Setiap versi sebelumnya pada setiap mesin dapat dengan mudah dilacak, dibandingkan, digabungkan.
Jika /etc
modifikasi harus dilakukan pada banyak mesin, itu dapat dengan mudah dilakukan oleh beberapa skrip penggabungan.
Jika ada /etc
perubahan "yang tidak diinginkan" , ini bisa terlihat dengan baik (bahkan skrip alarm dapat disetel untuk menontonnya).
Adakah yang sudah menggunakan konfigurasi seperti itu? Apakah ada masalah keamanan dengannya?
configuration
git
peterh - Pasang kembali Monica
sumber
sumber
etckeeper
yang sudah digunakan di banyak sistem. Itu tidak menawarkan semua fitur yang Anda minta. Misalnya ia memiliki satu repositori per host, bukan yang sentral.Jawaban:
Program ini
etckeeper
tidak berhasil/etc
digit
, Anda hanya perlu mengubah default vcs backend daribzr
kegit
dalam/etc/etckeeper/etckeeper.conf
.Ini diinstal secara default di Ubuntu Linux, dan menangani kasus-kasus umum kapan harus melakukan secara otomatis.
Itu dilakukan sebelum menginstal paket jika ada perubahan manual yang tidak dikomit, dan setelah menginstal.
sumber
Masalah dengan konfigurasi pelacakan untuk
/etc
digit
adalah bahwa semua Anda benar-benar mendapatkan dengan melakukannya adalah kontrol versi (kebanyakangit
pemula bahkan tidak tahu bagaimanatag
danbranch
benar, jadi tidak mungkin pada saat itu) dan kemampuan untuk mengembalikan (lagi, jika Anda tidak ttagging
benar, Anda tidak mendapatkan apa pun selain log untuk menyalahkan orang); tetapi Anda kehilangan template (cant templat karena git tidak menyediakan itu), dan scaling out (Anda tidak dapat menerapkan konfigurasi di tempat lain; terutama jika Anda menggunakan database terdistribusi seperti Elasticsearch), dan manajemen sistem otomatis (sekali lagi, git tidak menyediakan ini ).Dengan itu dikatakan, apa yang Anda mungkin cari adalah manajemen konfigurasi ; bahwa hubungan di template ,
git
dan scripting dasar untuk mengelola konfigurasi. Ini, tentu saja akan turun ke arah DevOps dan Infrastruktur sebagai Kode .Untuk menambah ini; Ansible memiliki
ansible-pull
yang dapat menarik repo terbaru dari playbook Anda darigit
; hal yang sama juga berlaku untuk Chef. Pada dasarnya, administrator Linux modern tidak boleh menggunakan sesuatu sepertietckeeper
. Chef juga memiliki modus client-server di mana Anda dapat mengatur semua sistem denganchef-client
berdasarkanenvironment
,roles
dan buku resep versi; hal-hal yang tidak dapat Anda lakukangit
hanya dengan skala.sumber