$value ) if( $value['eid'] == $eid ) return $value; return null; } function RecommendedEntry_updateIndexFile( $eid_updated, $eid, $direction ) { $filename = '/var/www/VirtualDomain/kenji00.com/blog/recommend_data'; is_dir( $filename ) || mkdir( $filename ); $filename .= '/'. substr( $eid_updated, -1 ); is_dir( $filename ) || mkdir( $filename ); $filename .= sprintf( '/%d.txt', $eid_updated); file_exists( $filename ) || touch( $filename ); $fp = @fopen( $filename, 'r+' ); if( $fp ) { if( flock( $fp, LOCK_EX | LOCK_NB )) { $ret = ''; $not_found = 1; while( !feof( $fp ) && ( $buf = fgets( $fp ))) { list( $_eid, $_n0, $_n1 ) = split( "[\t\r\n]", $buf ); if( $eid == $_eid ) { $not_found = 0; $direction ? $_n1++ : $_n0++; } $ret .= sprintf( "%d\t%d\t%d\n", $_eid, $_n0, $_n1 ); } if( $not_found ) $ret .= sprintf( "%d\t%d\t%d\n", $eid, 1 - $direction, $direction); rewind( $fp ); fwrite( $fp, $ret, strlen( $ret )); } fclose( $fp ); } } function RecommendedEntry_incoming() { $eid_prev = $_COOKIE['mtrcmnd_eid']; if( isset( $eid_prev )) { if( $eid_prev != 95 && RecommendedEntry_getEntryData( $eid_prev )) { RecommendedEntry_updateIndexFile( 95, $eid_prev, 0 /*incoming_from*/ ); RecommendedEntry_updateIndexFile( $eid_prev, 95, 1 /*outgoing_to*/ ); } } else { RecommendedEntry_updateIndexFile( 95, 95, 0 /*incoming_from*/ ); } } RecommendedEntry_incoming(); function RecommendedEntry_outgoing() { setcookie( 'mtrcmnd_eid', 95, time() + 2592000, '/' ); } RecommendedEntry_outgoing(); function RecommendedEntry_initialize( $mode = 0 ) { global $RecommendedEntry_table; $RecommendedEntry_table = array(); $filename = '/var/www/VirtualDomain/kenji00.com/blog/recommend_data/'. substr( '95', -1 ). '/95.txt'; $fp = @fopen( $filename, 'r' ); if( $fp ) { if( flock( $fp, LOCK_SH | LOCK_NB )) { while( !feof( $fp ) && ( $buf = fgets( $fp ))) { list( $_eid, $_n0, $_n1 ) = split( "[\t\r\n]", $buf ); if( 95 == $_eid ) continue; else if( $mode == 1 ) $RecommendedEntry_table{$_eid} = $_n0; else if( $mode == 2 ) $RecommendedEntry_table{$_eid} = $_n1; else $RecommendedEntry_table{$_eid} = $_n0 + $_n1; } arsort( $RecommendedEntry_table, SORT_NUMERIC ); } fclose( $fp ); } } function RecommendedEntry_GetEntry( $_index ) { global $RecommendedEntry_table; foreach( $RecommendedEntry_table as $eid => $count ) { if( --$_index ) continue; $entry = RecommendedEntry_getEntryData( $eid ); if( $entry ) $entry['count'] = $count; return $entry; } } ?> GmailFSでVPSサーバのディスク容量を増加しようとして挫折。 - 寝不足にて候(仮)
Jul
02
2007

GmailFSでVPSサーバのディスク容量を増加しようとして挫折。

レンタルしているVPSサーバのディスクが不足気味なので、バックアップ・ファイル等を置いておく先としてGmailFSでディスク容量増をはかるテスト。

GmailFSとは、

Gmail Filesystem provides a mountable Linux filesystem which uses your Gmail account as its storage medium.

Google社のディスクをマウント!するわけではなく、ファイルをメールとして送受信/削除したりして、擬似的にディスクに見せるというというド変態アプリケーションです。

Python 2.3以降を必要とするようですが、現在使用しているCentOS3には、Python 2.2.3がインストールされており、OS標準のツール等にもPythonなものがあるので、今回はPython 2.5を/usr/local/Python_2.5に入れてみる。

$ wget http://www.python.jp/pub/ftp.python.org/python/2.5/Python-2.5.tar.bz2
$ bunzip2 -dc Python-2.5.tar.bz2 | tar xvf -
$ cd Python-2.5
$ ./configure --prefix=/usr/local/Python_2.5
$ make
$ make test
# make install

続いて、FUSE (Filesystem in USErspace)を。

$ wget http://nchc.dl.sourceforge.net/sourceforge/fuse/fuse-2.6.5.tar.gz
$ gunzip -dc fuse-2.6.5.tar.gz | tar xvf -
$ cd fuse-2.6.5
$ ./configure
checking kernel source directory... Not found
configure: error:
*** Please specify the location of the kernel source with
*** the '--with-kernel=SRCDIR' option
configure: error: ./configure failed for kernel

エラーです。kernelのソースが必要みたい。

で、もう、ここで挫折ですわ。:-)
VPSだけあって、
$ rpm -q kernel
package kernel is not installed

などという出力。
/bootや/initrdの中も殆ど何も入ってない。:-)


$ cat /etc/redhat-release
CentOS release 3.8 (Final)
$ uname -r
2.6.9-023stab033.9-enterprise

ですが、そもそもCentOS3は2.4.xなカーネルかと。

ふふん。

このエントリを読んだ人はこんなんも読んでいます

トラックバック(1)

トラックバックURL: http://blog.kenji00.com/MT/mt-tb.cgi/94

FUSEで挫折したエントリの続き。 --disable-kernel-modul... 続きを読む

コメントする

過去のエントリ(一覧)

Powered by Movable Type 4.261
Creative Commons License
このブログはクリエイティブ・コモンズでライセンスされています。