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

エクストラコールド BAR (1 DRINK TIME)
エクストラコールド BAR には、出来た年に長蛇の列に並んで行きました。一番搾り FROZEN GARDEN で少し火がついたので、久しぶりに訪れてみました。普通の時間に行っても面白くないので、今回は
肉うどん (中盛)
10 月を過ぎた頃から うどん 丸香 (まるか) の夏メニューがお休みに入り、冬メニューが登場しました。肉うどんは冷が消えただけで、温かい方は通年でしたね。"カレー" が登場しまし
野菜炒め定食 (ライス 大)
現在利用しているデータセンターの前にあることはずっと気が付いていましたが、つい最近まで単なるお弁当屋さんだと思い込んでいました。ところが、お店の中に入っていく人に初めて気が付きました。何気にお店をよく
辛つけ麺 (中) + 半熟玉子
三田製麺所 (つけ麺) で開店間もない御茶ノ水店を訪れて 1 週間も空けずに再び訪れました。辛つけ麺が気になっていたからです。つけ麺さとう (辛つけ麺)つけ麺屋やすべえ (辛味つけ麺)近場にすでにある
ロコモコ (テリヤキソース, 大盛り)
以前、銀座にサテライトオフィスを設けてそちらに勤務していたことがありました。日本一美味しいサバの塩焼き串八珍 (かつ丼)その時に開拓した Pour~cafe’ (プルーカフェ) に久しぶりに足を延ばし
FreeBSD Logo
FreeBSD Brute Force Attack Counter Tool (No. 1) の続きです。ハッシュリファレンスを多用しています。理解している前提で書いているので予めご了承ください。処
ネストビール ペールエール
先日プレゼントに常陸野ネストビールを数本いただきました。製造元 木内酒造 は初めて聞いた名前ですが、調べるとビール製造は 1996 年からでも清酒では 180 年近い歴史を持つ老舗です。木彫りを思わせ
WS-C2960S-48TS-L (1)
Cisco Catalyst 2960S IOS Update (Part 2) の続きです。今回は 15.0 系からのアップデートですが、12.2 系とはやや出力が異なりました。アップデート 15.
エチオピア テレビ取材 (2015/05/15)
カリーライス専門店 エチオピア 本店 (No. 14 – 辛さ 70 倍メドレー 2) で全メニューを辛さ 70 倍で制覇した後は、1 ヶ月に 1, 2 度訪れますがやはり辛さ 70 倍で
リブアイステーキ (200g)
前回 2014/09 の沖縄入りから 8 ヶ月ぶりに再び訪れることが出来ました。前回同様プライベートで予定満載です。初日 05/28 は 11:30 到着のため、初体験の 沖縄鉄板焼きステーキハウス
Valid HTML5 Valid CSS3 Another HTML Lint