Amanda is a great network backup utility that my company uses for the backup of our Linux servers and workstations (oh, and one Sun, too). Since we're planning a move to XP from Win98 for the unwashed masses, I wanted to use Amanda for those machines, too. (My other CygWin experiences are available here.)
A big thanks to Enrico Bernardini for his help in getting this working.
Before you can compile Amanda under CygWin, you need to apply a patch to work around some of the limitations of Windoze. (For more on exactly what the patch does, see this email.) To install it, go to the top-level amanda source directory and execute the command:
patch -s -p1 <amanda-2.4.3-cygwin.patch
Once applied to v2.4.3 of the Amanda source, you need to configure it and build it. For myself, I used the command:
./configure --without-server --without-restore --without-force-uid \
--with-user=root --with-group=root \
--libdir=/usr/local/lib/amanda --libexecdir=/usr/local/lib/amanda \
--localstatedir=/var/lib --sysconfdir=/etc
(The "localstatedir" and "sysconfdir" were choosen to match how Debian installs Amanda since I wanted to use the same configuration files.)
When that completes, just do:
make make install
That takes care of Amanda, however you still need to make it available to the network. First, install inetd and edit the /etc/inetd.conf file to include:
amanda dgram udp wait root /usr/local/lib/amanda/amandad amandad
Once that is taken care of, you should be able to add windoze drives to your server's "disklist" file.
About the same time I finished this, Amanda 2.4.4 was released that included a HOWTO on how to make it work with CYGWIN. I've copied that file here. I still use my configure command (shown above) but with some variation to match the HOWTO.
./configure --without-server --without-force-uid \
--with-user=root --with-group=Administrators \
--libdir=/usr/local/lib/amanda --libexecdir=/usr/local/lib/amanda \
--localstatedir=/var/lib --sysconfdir=/etc
Version 2.4.4 of Amanda still has problems with CygWin's "if the last close of a socket comes from a child process, TCP sends a RST instead of a FIN" problem (described here) and thus still requires a patch (albeit a much smaller one than for v2.4.3) to run properly. The patch is here and is applied as such:
patch -s -p1 <amanda-2.4.4-cygwin.patch
If you have any questions, just email me.
-- Brian