Saya ingin melacak perubahan di / etc /
Pada dasarnya saya ingin tahu apakah suatu file diubah, oleh yum update
atau oleh pengguna dan putar kembali jika saya tidak suka chage. Saya berpikir untuk menggunakan VCS seperti snapshot git, LVM atau btrfs atau program cadangan untuk ini.
Apa yang akan kamu rekomendasikan?
Jawaban:
Sepertinya Anda ingin dllkeeper dari Joey Hess of Debian, yang mengelola file di bawah
/etc
menggunakan kontrol versi. Ini mendukung git, lincah, darcs dan bazaar.sumber
Saya tidak bisa memberikan rekomendasi terakhir kepada Anda, tetapi saya dapat berbagi beberapa pemikiran tentang masalah ini. Mengingat bahwa / etc biasanya agak kecil, Anda mungkin hanya pergi untuk solusi tar-ball terkompresi sederhana. Jika Anda hampir tidak perlu menelusuri sejarah, itu mungkin solusi termudah untuk disiapkan.
Bagi saya itu akan menjadi membosankan untuk mengelola volume logis hanya untuk melacak / etc dan terutama karena saya tidak berpikir bahwa snapshot LVM dirancang untuk dibuat secara teratur sebagai sarana untuk cadangan data yang jumlahnya relatif kecil.
btrfs menurut saya menjadi perlengkapan yang jauh lebih baik untuk ini, tetapi masih belum stabil seperti, misalnya, ext {2,3,4} dan alat fsck juga belum dilakukan. Tapi itu terus membaik.
Secara pribadi saya sebenarnya menggunakan git untuk melacak / etc tetapi Anda harus ingat bahwa git tidak menyimpan metainformation file seperti kepemilikan atau izin! Dan juga periksa bahwa direktori .git memiliki izin yang benar. Ada beberapa alat yang membantu mengatasi masalah ini. Anda mungkin ingin melihat dll-penjaga , yang dikembangkan persis untuk melacak / etc atau menggunakan setidaknya menggunakan sesuatu seperti gitperma atau metastore untuk melacak metainformation.
sumber
Untuk melacak perubahan "yang tidak diinginkan" kami menggunakan HIDS - dalam kasus kami yang
samhain
lain adalahtripwire
atauaide
. Semua sistem ini akan memperingatkan Anda ketika sesuatu yang tidak diinginkan terjadi.A
yum update
tidak boleh mengubah apa pun tanpa meninggalkan .rpmnew atau .rpmold, jika file konfigurasi ditandai seperti itu di rpm yang sesuai.Saya merasa ini adalah praktik yang baik untuk membuat salinan keamanan dari file yang akan saya modifikasi dengan
cp -p origfile origfileYYYY-MM-DD
tanggal hari sebelumnya.Jika semuanya gagal - saya memanggil orang-orang cadangan dan meminta pengembalian dari cadangan "baik" yang terakhir diketahui.
sumber
Saya pikir Anda dapat membuat snapshot dari file / direktori di
/etc
.Pertama-tama buatlah daftar file / etc / direktori:
Dan jika Anda membuat file di
/etc
dan jika Anda mengambil snapshot
/etc
seperti apa yang telah kami lakukan sebelumnyadan kemudian Anda dapat membandingkan perbedaan antara 2 file seperti ini:
sumber
Selalu ada Radmind . Anda dapat memutar kembali perubahan itu jika tidak menyukainya.
sumber
Apakah Anda mencari manajemen konfigurasi atau melacak / memantau perubahan sistem file?
Jika lebih awal, saya akan melihat
puppet
atauchef
.CFEngine
ada untuk tujuan komersial.puppet
adalah binatang yang populer hari ini.Jika ini yang terakhir, sulit bagi Anda untuk memantau perubahan sistem file tetapi ada contoh program seperti
inotify
dan audit sistem fileauditctl
atau SGI,fam
tetapi sekali lagi, ini adalah hal pemantauan dan bisa jadi implementasi yang mahal (kinerja sistem file bisa rusak).sumber
Anda dapat memeriksa
rsnapshot
snapshot per jam dari direktori apa pun yang Anda inginkan ... Anda dapat mengaturnya hingga 24 jam, lalu X harian, lalu X mingguan, dll. Sebanyak yang Anda inginkan untuk ruang disk. Cukup cerdas untuk tautan keras ketika file tidak berubah (digunakan dirsync
belakang layar.sumber
Anda mungkin mempertimbangkan untuk menggunakan
git
. Anda bisa. Ini efisien dalam melacak perubahan dan sangat mudah digunakan untuk hal seperti ini.Saya percaya pengaturan awal berjalan seperti ini. Saya belum melakukannya untuk sementara waktu.
Pendekatan ini bekerja paling baik untuk satu server, tetapi bisa dilapisi dengan alat lain yang mengubah repositori. Ini dapat berguna di situs kenari Anda untuk memastikan perubahan yang diharapkan terjadi.
Anda mungkin dapat menggunakan kloning untuk menangani file yang umum untuk beberapa server.
sumber
Saya memiliki skrip yang berjalan setiap hari dan mencadangkan file yang telah berubah sejak cadangan sebelumnya:
Anda melewati jalur di mana cadangan akan dibuat dan direktori itu akan memiliki daftar yang mirip dengan ini (setelah beberapa kali berjalan):
Anda bisa memodifikasinya sedikit untuk merekam perubahan lebih sering atau menggunakan inotify untuk memicu versi skrip yang dimodifikasi ketika perubahan terjadi
/etc
.sumber