Home » FreeBSD » Migrate 32bit to 64bit (FreeBSD, GDBM) (Tag: )

Migrate 32bit to 64bit (FreeBSD, PostgreSQL) に続いて、単なるデータコピーで移行が完了しないケースに 1 つに GDBM (GNU dbm) があります。

現在メールフィルタの学習型データベースに bsfilter + gdbm を使用しています。このデータベースファイルが、互換性がありません。

32bit の環境で bsfilter mail_file とすれば即結果が返るにも関わらず、データコピーしただけの 64bit 環境では 完全に沈黙 します。

別の用途と事例では Invalid argument で先に進まないこともある様ですね。PostgreSQL 同様 dump -> restore する以外に方法がない様です。

#// dump

use GDBM_File;
use Fcntl;

    my $src  = 'src.gdbm';
    my $txt  = 'src.dump';

    my %str  = ();
    my $dbh  = tie (%str, 'GDBM_File', $src, O_RDWR|O_CREAT, 0600);
    my $line = '';

    foreach (keys %str) {
        $line .= $_ . "\t" . $str{$_} . "\n";
    }

    undef $dbh;
    untie %str;

    open WRITE, "+>$txt";
    print WRITE $line;
    close WRITE;
#// restore

use GDBM_File;
use Fcntl;

    my $txt  = 'src.dump';
    my $dist = 'dist.gdbm';

    my %str  = ();
    my $dbh  = tie (%str, 'GDBM_File', $dist, O_RDWR|O_CREAT, 0600);

    open READ, "<$txt";
    my @line = <READ>;
    close READ;

    foreach my $line (@line) {
        chomp $line;
        my ($key, $value) = split(/\t/, $line);

        $str{$key} = $value;
    }

    undef $dbh;
    untie %str;

Random Select

野菜炒め + タコハッシュ (5)
久しぶりに自分で作った野菜炒めが食べたくなり、ふとキッチンのストックを見ると、先日差し入れでいただいた 【オキハム】タコハッシュ (ロングタコス) 75g と目が合いました。コンビーフハッシュとの組み
クリスマスツリー 2012
銀座・有楽町は最低でも 1 ヶ月に 2, 3 回は訪れるスポットです。クリスマス付近になると恒例の 「ミキモト ジャンボクリスマスツリー」点灯中です。カメラも解像度もまちまちなので統一感がありませんが
海鮮サラダ
沖縄本島 (No. 43 – ステーキハウス四季) -> 沖縄本島 (No. 44 – タコス専門店メキシコ) とハシゴランチした後は、那覇に移動しました。久しぶりに国際
白神山地の四季 (1)
沖縄本島 (No. 5 – 名護の涌水) の続きです。名護を後にし、前日お泊りしたメンバー宅に移動しました。沖縄市に着く頃にはすっかり晩御飯時でした。普段は運転もあって飲めない方も今日は気
FreeBSD Logo
My DeskTop のデスクトップでは、3.5″ 2TB x 2 (SATA 3.0) の構成ですが、RAID1 にはせず起動パーティションとバックアップ用ディスクの様にセパレートして使
氷ぜんざい (2)
瀬底島 (No. 2 – 瀬底ビーチ) の続きです。曇天ではあるものの瀬底ビーチを独り占めした後は、以前から予定していた 新垣ぜんざい屋 に向かいます。が、12:00 の開店まで時間がある
一番搾り フローズン (3)
今年の夏から開始して話題となっている 一番搾り フローズン <生> を是非専門店 一番搾り FROZEN GARDEN でまず試してみたいと 8/14 に行ってみました。最寄りの一番搾り
らーめん 中 (全部入り)
横浜らーめん武蔵家 (ほうれん草増) の続きです。以前場所もお店もまったく違いますが、同じ系統と思われるお店に入ると、麺の硬さ・味の濃さ・油の量の "お好み" を聞かれることがあり
玄米 (3)
長谷園 eco かまど (三合炊き – 玄米二合 ふたたび) の続きです。1, 2 回目は、火加減・水加減の違いのためか、会心の出来とは言えませんでした。長谷園 eco かまど (三合炊き
フェリーくだか (3)
沖縄入り 3 日目は久高島を訪れることに決めていました。前回同様、安座真港 11:30 発高速船ニューくだか (久高島行き 時刻表・運賃表) で訪れ、久高港 15:00 発で帰る予定でした。ところが、
Valid HTML5 Valid CSS3 Another HTML Lint