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 する以外に方法がない様です。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#// 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;
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
#// 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

辛つけ麺 (中) + 半熟玉子
三田製麺所 (つけ麺) で開店間もない御茶ノ水店を訪れて 1 週間も空けずに再び訪れました。辛つけ麺が気になっていたからです。つけ麺さとう (辛つけ麺)つけ麺屋やすべえ (辛味つけ麺)近場にすでにある
Drive Network Philosophy
迷惑メールが蔓延してかなりの時が過ぎた様に感じます。Drive Network で メールフィルタ 機能の提供を開始するにあたり、課金体系や内部エンジンの選定には時間と力を注ぎました。アンチウイルス特
ブルーシール 川平食堂
石垣島 (No. 9 ? 川平湾 Part 3) の続きです。スタート地点から 5 分程歩いていますが、まだまだ続いていそうです。海が近づきつつあります。行き止まりが見えて来ました。スローペースとは言
野菜炒め + コンビーフハッシュ (5)
銀座わしたショップ 2014/07/03 (コンビーフハッシュ) でようやく入手したコンビーフハッシュを、まずどんな料理で試すかを考えました。最初から作ったことがないちゃんぽんやチャンプルーよりは、手
デミグラスハンバーグと海老フライ定食
世間はクリスマスイブでチキン真っ盛りですが、この日のランチはなぜか無性にハンバーグが食べたくなりました。ザ・ハンバーグ (300g) も考えましたが、沖縄出張 (No. 24 – きょんた
FreeBSD Logo
今回の適用内容は FreeBSD のバージョンよりインストールされている Perl のバージョンに依存するため、他の FreeBSD のバージョンや OS (CentOS, Mac OS 等) でも有
Office Desk
今でも移転元の船橋にはほぼ 2 週間毎には訪れています。普段腰の重い私が 印鑑登録・印鑑証明 の手続きをしている最中、また訪れる機会がありました。住民票はすぐ移したものの、本籍地は船橋のまま未処理でし
山形水ラーメン
久しぶりに訪れた Pour~cafe’ (ロコモコ テリヤキソース) から 3 ヶ月程空きましたが、再び Pour~cafe’ (プルーカフェ) を訪れました。夏真っ盛りで暑い気候でしたし
FreeBSD Logo
通常 SSH で接続する場合、初めての場合は $HOME/.ssh/known_hosts に公開鍵が追加されます。hs.drive.ne.jp,192.168.100.10 ssh-dss AAAA
釜上げ (中盛 + ちくわ天)
うどん 丸香 (きつねうどん・釜上げ) で初めて "かけうどん用のトッピング" 以外の天婦羅を試しました。おそらく "classic (定番の焼ちくわ)" です
Valid HTML5 Valid CSS3 Another HTML Lint