Mar 012006

I recently obtained a ReadyNAS NV by Infrant, on the recommendation of my friend Ben Franco, who’s done much research on large disk arrays. The ReadyNAS pretty much rules. I think my long-standing storage woes may finally be over.

readynas status screen

It’s a dedicated Network Attached Storage (NAS) box that does RAID-0, RAID-1, RAID-5, or a proprietary combo of the three called “X-RAID”. X-RAID allows you to start with one disk, move to two, then three, then four, all without rebuilding the RAID or changing RAID levels.

Continue reading »

 Posted by at 12:38 pm
Jun 282005

On server (called ‘booty’, say):

% sudo mkdir /usr/local/cvs
% sudo cvs -d /usr/local/cvs init
% sudo chmod -R a+rw /usr/local/cvs

On client (called ‘junk’, say):

% export CVSROOT=${USER}@booty:/usr/local/cvs
% export CVS_RSH=ssh
% mkdir testimport
% cd testimport
% touch hellothere
% cvs import -m "initial import" testimport testimport start
% cd ..
% mv testimport testimport.away
% cvs checkout testimport

No other work, like setting up a cvs ‘pserver’ with inetd is required.

 Posted by at 10:12 am
Jun 262005

I have an ssh gateway (let’s call it gate) that I use to access my internal network. On that net, I have a machine (let’s call it stuff) with stuff I want. A lot of stuff. And I want to use tar to preserve the permissions and symlinks and stuff on the files. I’ve done this before, but that knowledge is lost to the misty times of the dot-com days. But I re-figured it out:

From somewhere out on the net…

Try to log into the internal machine:

somewhere% ssh -t gate 'ssh stuff'

This gets you logged into the machine called ‘stuff’ on the private net protected by ‘gate’. The -t flag is to force pseudo-tty allocation, since ssh normally won’t do that when input is stdin.

Copy a file by hand:

somewhere% ssh -t gate 'ssh stuff cat "~/some/file.txt" ' \
> some_file.txt

Yeah, the quoting is going to get sucky if you keep this up.

Tar up a whole filetree, saving the tarball:

somewhere% ssh -t gate 'ssh stuff tar cpzf - "~/some/directory/" ' \
> some_directory.tar.gz

Copy a few filetrees (with relative paths and spaces) to your local drive:

somewhere% ssh -t gate 'ssh stuff "cd some/directory; \
tar cpzf - one\ dir two\ dir"' | tar xvzf -

Some of you old fogeys may recognize this pattern as how we moved directories between filesystems in the days when mv wouldn’t let you.

 Posted by at 8:26 pm