LinuxQuestions.org
Share your knowledge at the LQ Wiki.
Home Forums Tutorials Articles Register
Go Back   LinuxQuestions.org > Forums > Non-*NIX Forums > Programming
User Name
Password
Programming This forum is for all programming questions.
The question does not have to be directly related to Linux and any language is fair game.

Notices


View Poll Results: What do you think of using CVS to track system config changes?
This is a good idea; you should try it out. 11 73.33%
This is a bad idea and I may or may not have posted my rationale below. 1 6.67%
This is the start of a good idea, but it should not be implemented as described. 2 13.33%
I have a better idea or a system/tool I know works better. 1 6.67%
Multiple Choice Poll. Voters: 15. You may not vote on this poll

Reply
  Search this Thread
Old 05-31-2007, 03:38 PM   #1
ta0kira
Senior Member
 
Registered: Sep 2004
Distribution: FreeBSD 9.1, Kubuntu 12.10
Posts: 3,078

Rep: Reputation: Disabled
using CVS to track system changes


This isn't necessarily a programming question, however it pertains to CVS so I think I'm more likely to get a response here.

I've always tracked changes to my installations using text files, spread sheets, old vs. new file backups, package caches, etc. I do this so I can reproduce my system using only those things after initial distro installation, plus whatever /home backups I've made. I can't even count how many methodology iterations I've gone through.

It occurred to me just now that CVS might be a good tool for tracking changes since it stores changes as a series of patches and can catch changes that I didn't notice. Has anyone ever tried using it to track /etc changes? I think I might track /etc, /usr/etc, /usr/local/etc with it, keep some sort of minimal log of personal notes, and a cache of post-distro packages. Does anyone see a problem with this? Thanks.
ta0kira
 
Old 05-31-2007, 04:22 PM   #2
makyo
Member
 
Registered: Aug 2006
Location: Saint Paul, MN, USA
Distribution: {Free,Open}BSD, CentOS, Debian, Fedora, Solaris, SuSE
Posts: 735

Rep: Reputation: 76
Hi.

See the older article below on using CVS for keeping changes to home.

I use an RCS script to track transient changes as I am developing. I use subversion for my LAN repository. Luckily /etc will probably not change structure much, because CVS doesn't deal with directories as well as subversion does.

Best wishes, and keep us posted if you decide to do this ... cheers, makyo

http://www.linuxjournal.com/article/5976
 
Old 05-31-2007, 08:17 PM   #3
gilead
Senior Member
 
Registered: Dec 2005
Location: Brisbane, Australia
Distribution: Slackware64 14.0
Posts: 4,141

Rep: Reputation: 168Reputation: 168
It's a good idea, but it's not perfect. I've used CVS to do this on boxes before with a cron job to email me a filtered diff report once a week. The worst parts are setting it up for the first time (it's tedious) and filtering the report. For example, some apps install a bunch of symlinks which I can't be bothered tracking (they'll get installed with the package or any updates) so I filter the diff report through sed to get rid of that info.

There's plenty of ways to manage something like this - try it (and other ways as well) and find out if it suits the way you work...
 
Old 06-01-2007, 05:50 AM   #4
bigearsbilly
Senior Member
 
Registered: Mar 2004
Location: england
Distribution: Mint, Armbian, NetBSD, Puppy, Raspbian
Posts: 3,515

Rep: Reputation: 239Reputation: 239Reputation: 239
I tried it with etc files, but I can't remember exactly why I abandoned it.
I think I was on Suse at the time and with all the packages there were about
20 zillion conf files plus like all the kde gnome conf directories
and all the management of what and what not to add to the repository and .cvsignore life was too short.

I use this method at work though with my programming and it works OK.
I have a permanently checked out work tree with my .profile and shell and perl scripts soft linked to it
and it works ok.

So if you have the patience it should work.

Last edited by bigearsbilly; 06-01-2007 at 05:52 AM.
 
Old 06-01-2007, 05:55 AM   #5
bigearsbilly
Senior Member
 
Registered: Mar 2004
Location: england
Distribution: Mint, Armbian, NetBSD, Puppy, Raspbian
Posts: 3,515

Rep: Reputation: 239Reputation: 239Reputation: 239
(cont)

as previously said, apps add and change files all the time so you may forever
get spurious cvs diff messages.

but, maybe have a seperate ETC dir with files you explicitly change
linked to the real /etc.

hmmm, I might try again myself
 
Old 06-01-2007, 08:05 AM   #6
LaughingBoy
Member
 
Registered: May 2006
Location: Adelaide, South Australia
Distribution: Fedora 6-17 x64 / Ubuntu 10.x x64
Posts: 95

Rep: Reputation: 16
I like the concept and should try it out on my FC4 server at home. I'm becoming quite familiar with Subversion and it's tags, so adding Subversion / CVS tags to some conf files could be interesting to see the "latest version number", and "last changed datestamp".

Question is, do you automate the "svn commit", or leave that as a manual thing? If it's automated, how frequently should you do it? Put it in cron.daily? Hourly?
 
Old 06-01-2007, 09:54 AM   #7
makyo
Member
 
Registered: Aug 2006
Location: Saint Paul, MN, USA
Distribution: {Free,Open}BSD, CentOS, Debian, Fedora, Solaris, SuSE
Posts: 735

Rep: Reputation: 76
Hi.
Quote:
Originally Posted by bigearsbilly
I use this method at work though with my programming and it works OK.
I have a permanently checked out work tree with my .profile and shell and perl scripts soft linked to it
and it works ok.
I think I understand why you would use a link for files like .profile, but why for the scripts?

I've found that adding the checked-out directories to the PATH seems to work well ... cheers, makyo
 
Old 06-01-2007, 09:59 AM   #8
bigearsbilly
Senior Member
 
Registered: Mar 2004
Location: england
Distribution: Mint, Armbian, NetBSD, Puppy, Raspbian
Posts: 3,515

Rep: Reputation: 239Reputation: 239Reputation: 239
Quote:
but why for the scripts?
er, laziness probably.
For instance in my ~/bin I have some binaries as well, so I don't want it as
a cvs dir or I have to manage what to ignore and what to keep etc.

I just like to keep all my general programming and scripting under 1 tree, ~/w
and link them out from there. links are good :-)

I am just too lazy, this way it needs minimal management.

Last edited by bigearsbilly; 06-01-2007 at 10:01 AM.
 
Old 06-01-2007, 10:34 AM   #9
makyo
Member
 
Registered: Aug 2006
Location: Saint Paul, MN, USA
Distribution: {Free,Open}BSD, CentOS, Debian, Fedora, Solaris, SuSE
Posts: 735

Rep: Reputation: 76
Hi, bigearsbilly.

A colleague and I have been wrestling with issues like this for some time. We have used some ideas from Martin Blais: http://furius.ca/projects/ We've done some work setting up scripts so that one could go to a new contract job and easily begin to use one's own toolset. We're not quite done yet. We both deal with many different hardware-OS platform combinations, so Blais' work has been very useful.

We have begun a sourceforge project, but have done almost nothing on it so far. Lots of hours of discussion and experimentation, however .

Currently, I separate binary-executables from scripts. At one time I mixed them in the same directory, but I think I've concluded that separation is the best approach if we're going to be using version control.

My recollection is that both cvs and subversion ignore binary-executables by default ... cheers, makyo
 
Old 06-06-2007, 04:09 AM   #10
Peter Westlake
LQ Newbie
 
Registered: Oct 2004
Location: UK
Distribution: Debian, SuSE, RedHat
Posts: 7

Rep: Reputation: 0
I'm going to try this with Subversion, just for files in /etc. Up till now I've had the files in CVS, but checked them out to a separate place and copied them over, with all the possibilities for error that implies. The problem isn't so much telling Subversion what to ignore, as telling the programs that use the files to ignore .svn directories. Most of them do, I think, especially if they use run-parts. Subversion is a bit better than CVS in this respect because it hides its directory with a dotted name.
 
  


Reply

Tags
administration, cvs, etc, system, tracking



Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is Off
HTML code is Off



Similar Threads
Thread Thread Starter Forum Replies Last Post
A CVS system that can automatically transfer updated file to htdocs Vikas Jayna Linux - Software 2 04-21-2007 11:55 PM
cvs(concurrent version system tariq07 Linux - Server 3 03-01-2007 03:30 AM
Installing CVS (Version control system) L1nuxbug Linux - Software 4 02-28-2007 12:46 AM
LXer: Securing a public CVS system LXer Syndicated Linux News 0 07-17-2006 06:21 AM
keep track of tar.gz installed in teh system sailu_mvn Linux - Software 3 05-04-2006 06:03 AM

LinuxQuestions.org > Forums > Non-*NIX Forums > Programming

All times are GMT -5. The time now is 02:18 AM.

Main Menu
Advertisement
My LQ
Write for LQ
LinuxQuestions.org is looking for people interested in writing Editorials, Articles, Reviews, and more. If you'd like to contribute content, let us know.
Main Menu
Syndicate
RSS1  Latest Threads
RSS1  LQ News
Twitter: @linuxquestions
Open Source Consulting | Domain Registration