Säkerhetskopiering med DAR

Backup (dar)

Backup är alltid bra att ha när det händer något med disken, och jag brukar lösa det genom att göra backup till en annan dator med dar (Disk Archiver). DAR beböver zlib (förinstallerat) och/eller bzip2 för att backuperna ska gå att komprimera.

Denna mini-guide ger info om vad som behövs göras för att sätta upp en backup-server. Backup-servern används för att lagra de data som klienterna vill säkerställa genom backup. På klient-datorerna kan man välja att antingen dela ut det som ska tas backup på via NFS eller Samba, eller att installera DAR där med, och sen med hjälp av SSH lagra datat på backupservern.

Att köra DAR direkt på klientdatorn är både snabbare och säkrare (eftersom man slipper dela ut data, och kommer åt det lokalt isället för via nätverket).

Instruktionerna förutsätter en installation enligt guiden OpenBSD 4.2 grundinstallation, minst fram till sida 4 (Kernel uppdatering).

bzip2

http://www.bzip.org/
http://www.bzip.org/1.0.4/bzip2-1.0.4.tar.gz
ports/archivers/bzip2

Installation från packages

export PKG_PATH=ftp://ftp.su.se/pub/OpenBSD/4.2/packages/`machine -a`/
export FETCH_PACKAGES=yes
cd /usr/ports/archivers/bzip2
make install

Installation från source

cd /usr/local/src
wget http://www.bzip.org/1.0.4/bzip2-1.0.4.tar.gz
tar xfz bzip2-1.0.4.tar.gz
cd bzip2-1.0.4
make
make install
make clean
make -f Makefile-libbz2_so
cp libbz2.so.1.0* /usr/local/lib
ldconfig -R

Något fel med antingen DAR's configure, eller OpenBSD's ld gör att man måste länka (eller kopiera) in libbz2-filerna i /usr/lib (-lbz2 finns med i listan när man gör ldconfig -r):

ln -s /usr/local/lib/libbz2.* /usr/lib

dar

http://dar.linux.free.fr/
http://ovh.dl.sourceforge.net/sourceforge/dar/dar-2.3.7.tar.gz
cd /usr/local/src
wget http://ovh.dl.sourceforge.net/sourceforge/dar/dar-2.3.7.tar.gz
tar xfz dar-2.3.7.tar.gz
cd dar-2.3.7
./configure --disable-build-html

Efter configure bör du få upp något liknande som:

--
dar and libdar have been successfully configured with the following parameters:

  LIBDAR parameters:
   Zlib compression (gzip)    : YES
   Libbz2 compression (bzip2) : YES
   Strong encryption support  : YES
   New blowfish implementation: YES
   Extended Attributes support: NO
   Large files support (> 2GB): YES
   ext2fs NODUMP flag support : NO
   Special allocation scheme  : YES
   Integer size used          : infinint
   Thread safe support        : YES

  DAR SUITE command line programs:
   Long options available : YES
   Building examples      : NO
   Building dar_static    : YES
   using upx at install   : NO
   building documentation : NO
--

Kompilering och installation görs på samma sätt som för de flesta andra program:

make
make install

Om make avbryts med ett fel liknande (händer för mig med OpenBSD 3.5):

source='crypto.cpp' object='crypto.lo' libtool=yes  DEPDIR=.deps depmode=gcc /bin/sh ../../depcomp  /bin/sh 
../../libtool --tag=CXX    --mode=compile g++ -DHAVE_CONFIG_H -I. -I../..   
-DDAR_LOCALEDIR=\"/usr/local/share/locale\"  -I/usr/local/include  -g -O2 -c -o crypto.lo crypto.cpp
 g++ -DHAVE_CONFIG_H -I. -I../.. -DDAR_LOCALEDIR=\"/usr/local/share/locale\" -I/usr/local/include -g -O2 -c 
crypto.cpp -Wp,-MD,.deps/crypto.TPlo -D__DYNAMIC__ -fPIC -DPIC -o .libs/crypto.o
crypto.cpp: In method `class string libdar::blowfish::pkcs5_pass2key(const string &, const string &, unsigned 
int, unsigned int)':
crypto.cpp:286: no matching function for call to 
`basic_string,__default_alloc_template >::clear ()'
*** Error code 1

Stop in /usr/local/src/dar-2.3.7/src/libdar.
*** Error code 1

Stop in /usr/local/src/dar-2.3.7/src (line 265 of Makefile).
*** Error code 1

Stop in /usr/local/src/dar-2.3.7 (line 304 of Makefile).
*** Error code 1

Stop in /usr/local/src/dar-2.3.7 (line 212 of Makefile).
så går det att "fixa" genom att lägga till --disable-libcrypto-linkingconfigure-raden:
make clean
./configure --disable-build-html --disable-libcrypto-linking
make
Problemet uppstår för att den version av OpenSSL som finns med i OpenBSD 3.5 (och säkert några senare versioner) inte har alla funktioner nyare versioner av DAR kräver för ssl-kryptering.

Kolla att dar verkar fungera

# dar                       
Parse error on command line (or included files): Missing -c -x -d -t -l -C -+ option, see `dar -h' for help
# dar -V 

 dar version 2.3.7, Copyright (C) 2002-2052 Denis Corbin
   Long options support       : YES

 Using libdar 4.4.2 built with compilation time options:
   Libz compression (gzip)    : YES
   Libbz2 compression (bzip2) : YES
   Strong encryption          : YES
   New Blowfish implementation: YES
   Extended Attributes support: NO
   Large files support (> 2GB): YES
   ext2fs NODUMP flag support : NO
   Special allocation scheme  : YES
   Integer size used          : unlimited
   Thread safe support        : YES

 compiled the Apr 25 2008 with GNUC version 3.3.5 (propolice)
 dar is part of the Disk ARchive suite (Release 2.3.7)
 dar comes with ABSOLUTELY NO WARRANTY; for details
 type `dar -W'. This is free software, and you are welcome
 to redistribute it under certain conditions; type `dar -L | more'
 for details.