Μέχρι να φτάσω στο σημείο να χρησιμοποιώ κάποιο configuration management system χρησιμοποιώ το cvi, ένα πολύ απλό vi wrapper script για να κάνω edit τα αρχεία στα οποία θέλω να κρατάω revision history (στο σύστημα πρέπει να υπάρχει εγκατεστημένο το GNU RCS).
#!/bin/sh
#
# cvs-vi -- script by stsimb
# use this to keep certain files under revision control
# stores revision info in $filename,v in same directory
if [ -z "$1" ] ; then
echo keep filename under version control, storing info at filename,v
echo usage = $0 filename
exit 1
fi
if [ -L $1 ] ; then
echo please dont use $0 on symbolic links
exit 1
fi
co -l $1
vi $1
ci -u $1
Μετά το πρώτο cvi, υπάρχουν δύο αρχεία στο filesystem, πχ.$ ls -l mx-in.mc*
-r--r--r-- 1 root root 4426 Oct 19 09:20 mx-in.mc
-r--r--r-- 1 root root 10615 Oct 19 09:20 mx-in.mc,v
Οταν θέλω να δω τις αλλαγές που έχουν γίνει, χρησιμοποιώ το rlog
$ rlog mx-in.mc
RCS file: mx-in.mc,v Working file: mx-in.mc
head: 1.14
branch:
locks: strict
access list:
symbolic names:
keyword substitution: kv
total revisions: 14; selected revisions: 14
description:
this file is used to generate sendmail.cf
----------------------------
revision 1.14
date: 2007/10/19 09:20:47; author: root; state: Exp; lines: +3 -3
set remote STARTTLS timeout to 2 mins
----------------------------
revision 1.13
date: 2007/05/23 07:16:54; author: root; state: Exp; lines: +6 -10
increase load avg for delay/queue/refuse
[...]
----------------------------
revision 1.3
date: 2007/03/15 07:17:10; author: root; state: Exp; lines: +7 -4
add features require_rdns and badmx
----------------------------
revision 1.2
date: 2007/01/22 14:50:17; author: root; state: Exp; lines: +12 -12
comment out local rulesets
----------------------------
revision 1.1
date: 2007/01/22 14:49:56; author: root; state: Exp;
Initial revision
=============================================================================
Οταν θέλω να δω τι ακριβώς άλλαξε πχ. από το revision 1.2 στο 1.3, χρησιμοποιώ το rcsdiff
$ rcsdiff -u -r1.2 -r1.3 mx-in.mc
===================================================================
RCS file: mx-in.mc,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -r1.2 -r1.3
--- mx-in.mc 2007/01/22 14:50:17 1.2
+++ mx-in.mc 2007/03/15 07:17:10 1.3
@@ -11,14 +11,14 @@
# the sendmail distribution.
#
# This file is under revision control, use cvi to edit it
-# $Header: /local/mail_src/sendmail-8.14.2/cf/cf/mx-in.mc,v 1.2 2007/01/22 14:50:17 root Exp $
+# $Header: /local/mail_src/sendmail-8.14.2/cf/cf/mx-in.mc,v 1.3 2007/03/15 07:17:10 root Exp $
#
divert(0)dnl
-VERSIONID(`$Id: mx-in.mc,v 1.2 2007/01/22 14:50:17 root Exp $')dnl
+VERSIONID(`$Id: mx-in.mc,v 1.3 2007/03/15 07:17:10 root Exp $')dnl
OSTYPE(linux)dnl
DOMAIN(generic)dnl
define(`confTO_IDENT',`0s')dnl
@@ -29,6 +29,8 @@
FEATURE(`conncontrol',`nodelay',`terminate')dnl
define(`confCONNECTION_RATE_THROTTLE', `20')dnl The maximum number of connections permitted per second per daemon
define(`confCONNECTION_RATE_WINDOW_SIZE', `60s')dnl
+FEATURE(`require_rdns')dnl
+FEATURE(`badmx')dnl
dnl ##########
dnl ##########
dnl ##########