Amandaでさくらのオブジェクトストレージにバックアップを取得する(CentOS6)

By | 2017年5月19日

amanda-backup_server-3.4.4-1.rhel6.x86_64.rpmではS3にバックアップを置くことができます。
本物のS3だと問題なく動作するのですが、さくらのオブジェクトストレージではBad Requestが
発生してまともに動きません。S3の互換実装だとこのようなことが起こるようでして、解決するには
curlのライブラリを入れ替えなくてはいけません。再ビルドするのは面倒なので、LD_PRELOADで解決します。

curlの最新版を/usr/local/にインストールする。
/etc/xinetd.d/amandaserver を以下のように修正する
 service amanda
 {
 disable = no
 flags = IPv4
 socket_type = stream
 protocol = tcp
 wait = no
 user = amandabackup
 group = disk
 groups = yes
 # server = /usr/libexec/amanda/amandad
 server = /usr/local/sbin/amandad-hooked
 server_args = -auth=bsdtcp amdump amindexd amidxtaped senddiscover
 }
/usr/local/sbin/amandad-hooked は以下の通りとする
 #!/bin/sh
 export LD_PRELOAD=/usr/local/lib/libcurl.so.4
 /usr/libexec/amanda/amandad $*
amandaのコマンドを実行する環境でも
 export LD_PRELOAD=/usr/local/lib/libcurl.so.4
 を設定しておく。