Dec 18, 2005
rsyncによるバックアップのメモ
今度、回線が増強されるようで、そのためにサーバのデータバックアップを復習しておくことにする。メモしておかないと忘れてしまうので。
バックアップはrsyncが究極の手段だと思う。
2台のLinuxマシンが前提である。片方がサーバ、片方がデスクトップを兼ねたクライアントで通常使っているとする。このクライアントが次のサーバになるわけである。
動的ファイル、BBSのログなどが、ユーザ自身がオーナーならば、「.netrc」ファイルを作りその中にマクロを書いてサーバからクライアントに転送するように、クライアント側からコマンドを実行すればいいので、それがいちばん簡単だと思う。
しかし、セキュリティのためもあるし、動的ファイルもapacheやwww-dataがオーナーであるようにblogなどはなっている。それにrsyncは変更部分だけをダウンロードしたり、サーバベース認証ならばパスワードがいらないので、シェルスクリプトを書いてcronに登録しやすい。ただし以下のメモは「public_html」をそのままバックアップするので、オーナーがapacheやwww-dataのファイルがある場合には、整合性をとる必要がある。
rsyncによるバックアップ
A 前作業
サーバ側 /etc/ssh/sshd_configをサーバベース認証に変更し再起動(マシンを再起動するわけでなく、sshdを再起動。Linuxを再起動する必要があることはサーバではほとんどない)
クライアント側 /etc/ssh/ssh_configをサーバベース認証に変更
B 1
暗号化パスワード認証には、最新のSSH2を使う。rsaには2種類の認証があるが、現在一般的にはrsa2を使う。「ssh-keygen」コマンドのrsaといえばrsa2のことである。rsa1の場合は「rsa1」のコマンドを使う。
◯クライアント側で、公開鍵と秘密鍵を作成する。
$ssh-keygen -t rsa
すると、
~/.ssh
というディレクトリができ、そのなかに、
~/ssh/id_rsa
~/ssh/id_rsa.pub
というファイルができる。
B 2
サーバ側に公開鍵を転送する。
まず、サーバに
~/.ssh
というディレクトリを作り、アクセスモードを700にする。
id_rsa.pubをこのディレクトリに転送して、名前を、
authorized_keys
に変更して、アクセスモードを600にする。
B 3
サーバのホームディレクトリに、
「.shosts」
というファイルをつくる。アクセスモードは644。
内容は次の1行。
192.168.0.8 shimirin
これはクライアント側のLAN内IPアドレスとユーザである。
クライアント側にも、「.shosts」として、
192.168.0.5 shimirin
という1行を書いたファイルをつくる。これはサーバのIPアドレスとユーザである。
B 4
サーバ側からクライアントにsshでアクセスする。
$ssh 192.168.0.8
すると、サーバ側の「.ssh」ディレクトリに「known_hosts」というファイルが、
192.168.0.8 (以下暗号省略)
という内容でできるので、これの頭に、
i.love.belle.cxm
などの「/etc/hosts」で「192.168.0.8 i.love.belle.cxm」というふうに書いてある名前を、
i.love.belle.cxm,192.168.0.8 (以下暗号省略)
のようにカンマを最後にいれて書き換えてセーブする。
C
これでクライアントから、サーバにパスワードなしにアクセスできるはずなので、
サーバ側から、
$ssh 192.168.0.5
としてアクセスしてみる。パスワードを要求されなければ成功。
以下の行を入れたファイルを「backup.sh」としてセーブ。アクセスモードは700。
rsync -av shimirin@192.168.0.5:/home/shimirin/public_html/ /home/shimirin/public_html
前はスラッシュあり、後はなしでないとまずい。
D
cronジョブにユーザ権限でこのファイルの実行を登録(たとえば毎日午前4時に実行など)。
Dec 05, 2005
MySQLのデータ型
DBIでやることといえば、
データベースのテーブルにデータを追加
HTMLの各ページにたとえば5つ分のデータを整理して表示
ひとつのフィールドから語句検索
というようなことだ。
MySQLのデータ型は単純である。文章のデータが主なのであまり整数計算することはない。
int(整数) idや表示順。auto_incrementする。
text ほとんどのフィールドはtext型
datetime 書き込み日時取得
NOT NULLの属性を持たせる。
あとは書き込み者の端末のIPその他の環境変数を格納するフィールド。
とても単純な道のりのように見える(^^;;)。
Nov 30, 2005
データベースへの接続
PerlのDBIモジュールや、PHPからのデータベースへのアクセスはホームページを全体的に再構築できる可能性に満ちている。
MysqlやPostgresqlへの接続をすぐ実験できるのは、自作サーバの強みだと思う。必要なモジュールをCPANからインストールするのも簡単だし。
静的HTMLは、ほかのプロトコルで転送しなくてはならないが、全体的にweb上で操作できる方向に行くと思う。
いちばん簡単なデータ保存は一つのファイル(カンマ区切りファイル=CSVや適当な区切り子を使ったテキストファイル)への蓄積だろう。しかし、データが多くなってきて複雑になってきた場合、MysqlやPostgresqlのほうが全体的なデータを、データベースで直接管理できるのが違う。それに大きくなった一つのファイルへのアクセスよりも間違いなく高速であるし、負荷が少ない。検索なども簡便になりそうだ。
すると、ホームページ領域の楽しさ、豊富さを追求するうえでは、この方向でいろいろやってみるのがやはり楽しそうだ。そのなかで独自のアイデアが出てきたらさらにおもしろい。
ただ、こういう試みは実際に新しいデータを追加しつつ遊ばないと楽しくない。
Nov 28, 2005
Nov 27, 2005
fortuneとblogpetのテスト
fortuneプラグインと、blogpetを試験的に右サイドに入れてみた。
fortuneはLinuxのシステムに組み込まれている引用のエントリを取り出すが、これは独自に新しい辞書を作ることは可能である。
長尾高弘さんが、ご自分のサイトで詩の引用をアクセスするごとに表示するのをやっているが、それと同じような感じのpluginである。UNIXのfortune cookieの説明は長尾さんが日本語で詳しく書いている。
longtail
blogpetはflashが使われている。このシステムは、伝言などいろいろ機能があるが、枠の下に広告が出るので(月315円を払うとプラチナ会員になり、広告を出ないようにできるらしいが)、数日でやめるかもしれない。
ただ灰皿町以外のblogを使う方は、おもしろくて参考になるかもしれないので、試しに入れてみた。また、「これはおもしろい、315円払っても……広告が出て無料のほうがいいけど、やりたい」ということになれば検討しますが、なんとなく灰皿町では広告は出てほしくない感じ……。
Nov 25, 2005
MysqlでSQLテーブルの作成
Mysqlをインストールしてあれば、データベースにたとえば歳時記(俳句)のデータベースを作成することができる。
データベースはほとんど使ったことがない(web関連以外)。なぜかというと処理したいデータが住所録ぐらいしかない(^^)。
でもこれは普通に考えればとても便利だ。エクセルやOpenOfficeOrgのデータをたやすく入れることができるだろう。しかもそれはwebのPerlのCGIやPHPのページから使える!
というわけでパラシュート型勉強法(泥縄式ともいう^^)で、たとえばpoembookというデータベースを作り、その中に俳句のテーブルを作る。
以下のファイルを適当な名前で保存して、phpmyadminのpoembookというデータベースの中でSQLコマンドを参照ファイルから実行する。
CREATE TABLE haiku (
id int(11) NOT NULL auto_increment,
p_name text NOT NULL,
p_id int(11),
p_tit text NOT NULL,
p_auth text NOT NULL,
p_hon text NOT NULL,
g_date datetime,
PRIMARY KEY (id)
);
Nov 24, 2005
歳時記スクリプト
『俳句歳時記』を書けるようにするために、CGIを書いているが、やっとperl-mysqlの連係というところまでいった。
たぶんPHPのほうが書きやすいが、なんとかPerlで書いてみようか、というところ。
データベースを使うのは検索時にたぶんやりやすいなど、いろんな意味でいいと思ったので。しかし、DBIというperlモジュールを使うのは初めて。
でもこれ完成するかな?(^^)
blogのようにカレンダーの数字から、その日に書かれたものを表示するようにしたい、などいろいろと複雑化してしまう。カレンダーからの表示は項目数の設定が、前に作ったデータベースと互換性があるようにしたいと思っているので無理かもしれない。
互換性を持たせておけば、データベースの全データから検索することができるようになるはずだ。
でもこれはちょっと1年ぐらいかかりそう。
とりあえずはperlとデータベースの連係を理解する楽しみというところかもしれない。
やはりもう少しphpで作った詩集生成スクリプトを洗練させるべきかな。
Nov 21, 2005
CGIを書く
いざ書くとなると、過去に書いたのの切り張りふうになってくる。
いろいろと一気に作るのも大変なので、モジュールの実験などしつつ、ひとつひとつ書いていこうと思う。
CGIはソースを公表しつつ、という具合にはなかなかいかない。手の内がそのまま見えるからだ。
書き込みページ
表示ページ
と中心は「データ入出力」だ。
Nov 18, 2005
灰皿町 俳句歳時記
「灰皿町 俳句歳時記」のCGIをテスト的に作ろうと思っている。
なぜなら、分類ということでも、データベースということでも、日常の季節の流れということでももっともやりやすいからだ。
せっかくなので、写真もアップロードOKというのもいいかもしれない。植物ならばpecoさんの植物園の検索に飛ばせられる。
これをとりあえずはパスワードをかけて限定された書き手によって評釈する。
ただし、初め体裁をあまり考えないので、表示は汚なくなるかもしれない。
「詩作品」もやり方によってはおもしろいが、これは海外のサイトを参考にしていずれやってみたい。
自宅サーバでPerlモジュールのインストール
下のやり方でちょっとテストでDate::Calcを使ったスクリプトを動かしたら、どうもDate::Calcが入っていない。
そこでCPANモジュールからインストールである。
rootになって、
#perl -MAPAN -e shell
と起動する。
最初にこのコマンドを実行すると、
Are you ready for manual configuration? [yes]
と質問されるので、yesと入力してエンターキーを押す。
その後の質問では、エンターキーを押し続け、ミラーサイトの選択で、地域の数字を入力する。
国名の数字を入力する。
ミラーサイトの選択で、適当に選んで選択。
cpan>
というプロンプトが出るまでエンターキーを押し続ける。
cpan>
が表示されたら、
cpan>install DBD::CSV
など必要なモジュールをインストールできる(この場合はDBD::CSV)。
終わったら、
cpan>quit
で抜ける。
自宅サーバでは必要になったモジュールを自由にインストールできるところがうれしい。
Nov 17, 2005
詩のデータベース
去年だったか、PHPとMySQLを使って、詩集を構築するスクリプトを書いた。
これは、検索や統合などをやるときにも(まだ利用していないが)、単純なデータベースを作れる。
要は、それをweb上にアップロードした日付、作品を書いた日付、書き手、タイトル、詩の本文、註、作品表示順ぐらいの項目にweb上から書き込めればそれでOKなのだが、じつはこのデータベースはリアルタイムで書かれる作品集にいちばん向いている。
たとえば30編ぐらいでまとめた詩集は、入力して、しばらく推敲するという半静的なテキストだ。
ほんとうは流動的な日常に沿ったテキストを新しく作っていくところに醍醐味がある。
しかし、過去のテキストの整理、校訂の仕事のインターフェースに特化させてしまえば、著作権の問題をクリアしながらであれば、過去のテキストの電子化にインターネットほど向いているものはないように思う。
ただ淡々と入力するのはおもしろくない仕事だろうと思う。テキストを引用しつつ、批評を書いていく形式がいいかもしれない。
国歌大観はすでにCD-ROMで売られているが、webで公開されているのだろうか。
Nov 16, 2005
Perlモジュールの確認
モジュールがインストールされているかどうかは、
shimirin@debian:~$ perl -MCGI -e 'print "HTML::Embperl version $CGI::VERSION\n";'
HTML::Embperl version 3.04
とやれば確認できる。
いろいろ確認してみたが、ほとんどがインストールされていた。
HTML::Embperlもインストールされていた。
Nov 15, 2005
CGI
このblosxomなどのblogプログラムは、ほとんどCGIの集大成に近い。
汎用性があり、拡張性があり、インターフェースはしっかりしている。
pluginなどの開発も、アイデアがあればだれでも参加できる。
ローカルなデータ処理、そのサイトに特徴的なデータ処理には、応用問題として、CGIの知識は役に立つ。そこにとりあえずはCGIの楽しみがあるのだが、blosxomに寄与するためにも、いろんなものを作ってみないとCGIが体感できない感じ。
CSSやJavascript、Perlのいろいろなモジュール、XML、RSSと仕込むものが多い。
Nov 14, 2005
Nov 13, 2005
Perlモジュールの日本語マニュアルページ
perlモジュールの中に内部マニュアルとしてpodという仕組みがあるのは知っていたが、実際に、モジュールのある場所に行き、
#pod2html
とやると、htmlファイルが表示される。リダイレクトして保存すれば、マニュアルのHTML版ができるが、英語である。
これを日本語に訳しつつあるプロジェクトがあるようだ。
CGI - 簡単なCGI(Common Gateway Interface)クラス
HTML::Template - CGI スクリプトから HTML テンプレートを使うための Perl モジュール
『CGIプログラミング 第2版』におもに紹介されているモジュールにEmbperlがあるが、これはまだ訳されていない。
Embperlはまだ入手していないが、いちおう入手しようと思っている。
Nov 12, 2005
CGI.pmのドキュメント
インターネットに英文だったがあったので、97枚プリントしたら邦文もその後に見つけた。
英文でわかりにくくても、またプリントするのも面倒だしなんとか解読しつつ利用してみよう。
実用的なCGIの本に、いろいろと例が出てきて、基本的ドキュメントと現場のプロの文書と並行して参照するのがいいのは、こういう類の本の特徴だと思う。
CGIというのはめったに作ることはないし、時間はかかるが、HTMLにかかわる静的ファイルに役立てるところから、やはり始めるべきなんでしょうね。
Nov 11, 2005
またPerlのCGIを作ってみたくなってくる
『CGIプログラミング 第2版』を読みつつ、とりあえず、静的HTMLをCGI.pmなどのモジュールを使って、エレガントに作成できなかな、と思いはじめた。
それにこのblosxomなどのcssファイルを参考にしてデザインもちょっといいものにしてみるという感じで。
ほんとうは普通のゲストブックなどの掲示板もモジュールを使えば、rssを吐けるはずだ。
さらに自作のCGIの改造も単純化と汎用化。
そうとういろいろなことを仕込む必要があるけれど、出来合いのCGIを改造するのでもエレガントにできるように思う。
使い回しという点でいえば、たとえば掲示板のページめくりヘッダ、フッタなどは、別モジュールにして、オブジェクト指向!にするべきだし。
Nov 10, 2005
MarkdownによるMarkup支援
blosxomのpluginでおもしろいのはないかな、と思って見ていて、実用性のあるものなど導入したいと思っているのだが、普通のテキスト入力なら、とりあえずはやはり、brタグの自動追加だろうか。
Markdownでは、改行の前に3つ以上空白を入れるとbrタグを追加してくれる。
行頭に#を入れた文章はまずないと思うので、副作用はないだろうけど、意外にアンダースコアで囲まれた文字列や、アステリスクで囲まれた文字列はあるかもしれない。導入すると、その修正(アンダースコアやアステリスクのバックスラッシュ=円マークによるescape)は手作業になる。
Markdown Syntax Documentation
しかし、ほとんどbrタグしか使わない人も多いだろう。
その場合、Markdownは必要かどうか、はっきりわからない。
通常CtrlプラスcとCtrlプラスvでコピーアンドペーストをおこなっているだろうし。
もうすこし使ってみよう。
ほかにLinuxに普通に入っているfortune cookieを表示されるものをちょっとローカルで入れてみたが、一回のアクセスで余分にそれを読むだろうか、という疑問が湧いてサーバには入れていない。
blosxom :: the zen of blogging :: plugins/display/fortune.htm
Nov 09, 2005
『CGIプロブラミング 第2版』
オライリー・ジャパンの『CGIプロブラミング 第2版』は自宅サーバにCGIやblogを導入する際に、必要な知識が網羅されている本だ。
とはいうものの、ぼくはパラパラめくるだけだったのだが、なんとなく知っているところが出てきたので、ちゃんと読んでみるかなと思いだした。
oreilly.com -- Online Catalog: CGI Programming with Perl, Second Edition
の、
Index of /cgi2
からこの本のサンプルコードの圧縮ファイルを入手できる。
入手したら、
shimirin@debian:~$ tar xvzf cgi2_examples.tar.gz
で解凍すれば、チャプターごとのサンプルコードができる。サンプルコードを試したり改変したりしたテストをするときには、ローカルのcgi-binディレクトリなどに入れて、ブラウザで実行してみる。
Markdownの副作用
Markdownを入れたら、行頭に#があるとh1タグに展開されるため、rootでの実行を示す#を行頭に入れたのがh1になってしまった。(^^)
でも大きいほうが見やすいのかな。
#や_があるファイルがやはり、まずいのでescapeしたら、いっぱい今日編集のファイルが今日付になってしまった。
これを避けて、古いタイムスタンプのままにすることはできないのかな?
Debian GNU/Linuxのkernelのupdate
Debian GNU/Linux sargeのkernelのupdateをやってみた。
とても簡単。
まず自分のkernelのバージョンを確認する。
shimirin@debian:~$ uname -r
2.6.8-1-386
これ以上の数字があればupdateできるわけだ。
rootになって調べる。
shimirin@debian:~$ su
Password:********
debian:/home/shimirin# apt-cache search kernel-image
……
kernel-image-2.6.8-2-386 - Linux kernel image for version 2.6.8 on 386.
……
2.8.6-2-386があるからこれを取得。
debian:/home/shimirin# apt-get install kernel-image-2.6.8-2-386
ぼくの場合、たぶんivtvのモジュールをインストールするとき、2.6.8-2のヘッダーを使った関係(未確認)で、
I suggest you move /lib/modules/2.6.8-2-386 out of way.
Perhaps to /lib/modules/2.6.8-2-386.old.
というメッセージが出たので、一度中止して、mvコマンドでディレクトリの名前を替えて、やり直したらうまくいった。インストール後の作業として、『Debian GNU/Linux Expert』(技術評論社)には、
カーネルの起動パラメータの追加(手動で設定する必要がある)
と書いてあるが、再起動したらそのままでOKだった。
Logicool Pro 4000をLinuxで動くようにする
Logicool Pro 4000というウェブカメラでwebcamを復活した。
ライブ映像実験である。
ぼくのLinuxの環境は、Debian GNU/Linux sarge 2.6.8-2-386である。
デバイスドライバの入手から始める。
まず、/linux/pwc/filesから最新のソースコードを入手する。
原則的にはCompilation and installation of the PWC moduleに書いてあるとおりにインストールすればいい。
しかし、ぼくは最初上のなかの、すでにあるpwc.koをpwc.ko.oldに変えてコピーして、pwc.koを上書きする方法をとったが、その場合、うまくいかなかった。
そこで、示唆のように/lib/modules/2.6.8-2-386/extraというディレクトリを作り、そこにできたpwc.koを収めたらうまくいった。
/lib/modules/2.6.8-2-386/kernel/drivers/usb/mediaには最近Nucleus blogに書いていたように、ov511などが収められている(下にlsで出てくるファイル名をコピーした)が、これからインストールしようとするpwc.koという同じ名前のファイルがある。これはそのままにして、
/lib/modules/2.6.8-2-386/extra
に、新しいpwc.koを入れた。
shimirin@debian:/lib/modules/2.6.8-2-386/kernel/drivers/usb/media$ ls
dsbr100.ko konicawc.ko pwc.ko sn9c102.ko ultracam.ko vicam.ko
ibmcam.ko ov511.ko se401.ko stv680.ko usbvideo.ko w9968cf.ko
これで、
#lsmod | grep pwc
(たぶん古いのが動いている)
#depmod -a
#rmmod pwc
#modprobe pwc
として、usbポートにLogicool Pro4000の端子を挿し込んで、
$xawtv
とすると部屋の様子が映し出された。
これで、「.webcamrc」というファイルを作って設定する。
前にはxawtvをインストールすると、webcamも一緒に入ったが、別々になったようである。webcamもインストールする必要がある。
それで、もしwebcamのみを使うのなら、xawtvをインストールする必要もないらしい。
だが映像のローカルでの映像の確認はxawtvがやりやすい。
「.webcamrc」の設定で、つまずいたのは、input = webcamではなく、
input = usb
とするところと、
norm = ntsc
はシャープを付けてコメントアウトするところだ。それがなぜかはわからない。
あと、前には「.netrc」を利用してftpログインしていたが、ftpの設定も全部「.webcamrc」に書く。
詳細は次の書き込みで。
usbフラッシュメモリを使う
このあいだCPUなどを買ったときに、PC-Successという店で3万円以上買った人はくじを引けた。usbフラッシュの128Mのメモリに、当たると何か書いてあるらしい。メモリはそのままもらえた。
usbメモリというのを手にしたのは初めてである。
昨日ファイルをusbメモリを使って移動することがあって、初めて使った。
usbフラッシュメモリの認識は次のようにする。
1 差し込む。
2 rootになって、/mnt/ディレクトリに、「usbfm」などとディレクトリを作る。
#mkdir usbfm
2 usbフラッシュメモリの点滅が落ち着いたら、
#mount -t vfat /dev/sda1 /mnt/usbfm/
などとする。「sda1」の部分は、dmesgで確かめてから。
これで、パソコン内部から、ファイルをコピーできる。
#cp *.jpg /mnt/usbfm/
など。
かならずアンマウントする。
#umount /mnt/usbfm/
このとき時間が多少かかる場合があるが、メモリを抜いてはいけない。
しばらくしてプロンプトが出たら、メモリを抜ける。
下の写真は、もらったusbフラッシュメモリ。

Solaris10でのshutdownコマンド
昨日、久しぶりにSolaris10でマシンを起動した。
もともとサーバとしてつけっぱなしにするのが普通であるSolarisだが、shutdownコマンドがLinuxとちょっと違って、戸惑う。
rootで、
#shutdown -i 0 -y
である。これでユーザにshutdownへの時間をアナウンスしながら、1分後に停止する。「Press any key to reboot」と出たら電源を切れる。
Linuxでは、
#shutdown -h now
rebootするなら、
#shutdown -r now
である。
デジタルカメラから、webアルバムまで。
デジタルカメラから、webアルバムまでを普通作りたくなる。
その場合、前提としてwebサーバ(apache)が動いていることがあるが、さらに、
デジタルカメラの認識
画像のハードディスクへの取り込み
web領域へのコピー
プライベート写真ならばBASIC認証の設定
画像を適当な大きさに全部縮小(mogrifyを使用)
web領域で、igalを実行して、サムネイルを作り見やすくする
という手順が必要だ。
このうち上の4つはできているとして、下の2つは、次のようにする。
$mogrify -resize 640x480! *.jpg
これが同一ディレクトリの、jpgファイルのサイズを一括変換するコマンドだ。ImageMagickをインストールしてある必要がある。
サイズの縮小は、ピクセル数を指定して行うが、実際の写真をThe Gimpなどで縮小してみて、比率を確かめたほうがいい。
同じカメラならば、一度比率を確かめれば640x480などの数字は決まってくる。
igalの実行は、
$igal --title "album(05_8_21)" --as
などとする。
--as をつけると画像の重さがサムネイル写真の下に表示される。
デジタルカメラから映像を取り込む
ウチで使っているデジカメはSanyoのXactiである。
mp4ファイルとなる動画も撮れて、楽しい。
デジカメから、自分のユーザディレクトリに、取り込んで個人用のアルバムを作ったり、igalでweb用のアルバムを作ったりするとき、いろいろなアプリケーションソフトがDebian GNU/LinuxのPackageにあるが、ぼくは結局コマンドラインだけ使うようになってきた。
カメラをマシンが認識しさえすれば、かえってコマンドラインだけのほうが手間がない。
dmesgで調べればわかるが、たとえば、USB接続したデジカメは、
/dev/sda
と認識されている。スカジーの記憶デバイスとして認識されるわけだ。
その1番目、
/dev/sda1
がデジカメの記憶装置である。
まず、デジカメの映像を一挙に移すディレクトリを作る。たとえば、
images/05/aug/05_8_22
というディレクトリを作る。
rootになる。
デジカメをマウントする。
mount /dev/sda1 /mnt/camera
(あらかじめroot権限で/mnt/cameraディレクトリを作っておく)
マウントしたディレクトリに移動する。
cd /mnt/camera/
通常、この下にディレクトリがあり、ウチのでは、
/mnt/camera/dcim/100sanyo/
とかいうディレクトリにjpgファイルとmp4ファイルが格納されている。
そこで、
cp *.jpg /home/shimirin/images/05/aug/05_8_22/
cp *.mp4 /home/shimirin/images/05/aug/05_8_22/
として、
cd /home/shimirin/images/05/aug/05_8_22/
と移動して、
全部rootの所有者、グループになっているので、
chown shimirin *.*
chgrp shimirin *.*
と実行し、なぜか、アクセスモードが755になっているので、
chmod 644 *.*
とする。
ここで、すでにマウントしたカメラの内部にはいないので、アンマウントする。
umount /mnt/camera
ユーザに戻る。
exit
これでめでたく、取り込みが終わる。
あとは加工するだけ。
Linuxでのcanna辞書
うろこ新聞のLinux Desktop Tips(略してLDT)でも最初は、ユーザ辞書(cannaの)について覚え書を書いたが、今日ちょっとユーザ辞書を作ったので、書いておく。
Debian GNU/Linux sargeの場合でcannaを使う場合には、「.canna」というファイルは次のようになっている。
shimirin@debian:~ cat .canna
; ---- language-env DON'T MODIFY THIS LINE!
; デフォルトの設定
(load "/etc/canna/default.canna")
; Backspaceキーでカーソル直前の文字が消えるようにする
(global-set-key "\Delete" 'delete-previous)
; ---- language-env end DON'T MODIFY THIS LINE!
default.cannaでは辞書関係は下のようになっている。
;;; 利用する辞書
;
; ただ単に書き並べているのは単語登録を行わない辞書でシステム辞書などが
; これに当たります。
;
; 部首辞書に関しては :bushu を先行させて記述します。
;
; 単語登録をしたい辞書に関しては :user を先行させて記述します。単語登
; 録をする辞書はテキスト形式辞書でなければなりません。単語登録させたい
; 辞書は mkdic user の様なコマンドを打つことで簡単に作成することがで
; きます。
;
; :katanana を先行させて記述した辞書は、カタカナ語の自動登録辞書に
; なります。字種変換でカタカナに変換して確定すると、自動的にサ変
; 名詞として登録されます。
;
(use-dictionary
"iroha"
"fuzokugo"
"hojomwd"
"hojoswd"
:bushu "bushu"
:user "user"
; :katakana "katakana"
)
それで、
shimirin@debian:~$mkdic user
とやると、
shimirin@debian:~$lsdic
で、
user
と表示され、「user」という辞書ができていることがわかる。
これに、
shimirin@debian:~$ echo 'りんぞう #JN 清水鱗造' | addwords user
とやると辞書に追加される。「user」辞書を作ったら、一度ログアウトして再ログインする。
一挙にやってしまうなら、次のようなシェルスクリプトを書いて、そのファイルを、
shimirin@debian:~$chmod 700 rin_jisho.sh
のように実行権限を与えて、
shimirin@debian:~$./rin_jisho.sh
のように実行すると、辞書に言葉が追加される。
#!/bin/sh
echo 'しみずりんぞう #JN 清水鱗造' | addwords user
echo 'りんぞう #JN 鱗造' | addwords user
以下はソースコードから抜き出された品詞コードの引用の孫引用。
品詞コード 品詞名 例 #T35 一般名詞 山, 本 #T30 サ変名詞 努力, 検査 #KK 固有名詞 #JN 人名 #CN 地名 #NN 数詞 何 #KJ 単漢字 #RT 連体詞 #PRE 接頭語 お、各 #CNPRE 接頭地名 #NNPRE 接頭数詞 #SUC 接尾語 #JSSUC 接尾助数詞 #JNSUC 接尾人名 #CNSUC1 接尾地名 #N2T30 サ行(する)&名詞化接尾語 #JCN 人名&地名 #K5 カ行五段活用動詞 描く #G5 ガ行五段活用動詞 注ぐ #S5 サ行五段活用動詞 倒す #T5 タ行五段活用動詞 絶つ #N5 ナ行五段活用動詞 死ぬ #B5 バ行五段活用動詞 転ぶ #M5 マ行五段活用動詞 住む #R5 ラ行五段活用動詞 威張る #W5 ワ行五段活用動詞 言う #KS 上/下一段活用動詞 降りる #KX カ行変格活用動詞 来る #ZX ザ行変格活用動詞 感ずる #SX サ行変格活用動詞 関する #K5r カ行五段活用動詞(連用形が名詞) 動く #C5r カ行(行く) #L5 ラ行(下さい) #kxo 来(こ) #kxi 来(き) #kxuru 来(く) #sxi 為(し) #sxuru 為(す) #sxe 為(せ) #G5r ガ行五段活用動詞(連用形が名詞) 行く #S5r サ行五段活用動詞(連用形が名詞) 急ぐ #T5r タ行五段活用動詞(連用形が名詞) 写す #N5r ナ行五段活用動詞(連用形が名詞) 勝つ #B5r バ行五段活用動詞(連用形が名詞) 遊ぶ #M5r マ行五段活用動詞(連用形が名詞) 歩む #R5r ラ行五段活用動詞(連用形が名詞) 見張る #W5r ワ行五段活用動詞(連用形が名詞) 扱う #KSr 上/下一段活用動詞(語幹が名詞) 生きる #KY 形容詞 美しい, 早い #KYT 形容詞 古い #T00 形容動詞(サ変名詞としても使う) 心配だ #T05 形容動詞(詳細の品詞を必要としない場合) 幸運だ #F00 形容動詞(たる) #F04 副詞 #F06 副詞 #F12 副詞 #F14 副詞(詳細の品詞を必要としない場合) 飽くまで #CJ 接続詞/感嘆詞 及び #D2T35 接尾動詞 #D2KY 形容詞化接尾動詞 #N2T17 形容動詞化接尾語 #JS 助数詞、接頭助数詞
そのまま記号を張り付けたら、たぶん、その原因でRSSの出力に問題があったので、記号類を全角ものに変換しました。
ホームページのバックアップ
ときどき思い立ってバックアップしようとする。
いちばん単純なのはユーザごとに、
$tar -cvzf archive.tar.gz public_html
とし、
これをクライアントLinuxマシンに転送して、
$tar xvzf archive.tar.gz
とすることだ。
日付つきのファイルを作るには、
tar cvf /home/shimirin/backup/backup-date +%Y%m%d.tar ./public_html
gzip /home/shimirin/backup/backup-date +%Y%m%d.tar
としてシェルスクリプトにする。これをcronで毎日ぐらい実行させればいいのだが、問題は2つある。
ひとつは、ユーザによってはかなり大きいサイズのディレクトリなので、(なんとなく)気が引ける。
ひとつはCGIが作るファイルが、オーナー、グループとも独自のものになって、これは問題が生じることがないかな、ということだ。
画像をアップロードする。
pluginを入れたので、blogのトップページの右下に「新規投稿」のリンクができました。
いままではファイル名をmar8_1などと決めなければなりませんでしたが、今度は書き込む時刻をもとにファイル名が自動的に作られています。
また書き込むときに現れるページに書き込むフォームが3つ、増えました。
If you want to upload the jpeg file:
の下にあるフォームは、その右の「参照」ボタンを押して、自分のハードディスク内にある画像ファイルを選ぶことによって入力されます。
Rename file_name:
の下に数字が入りますが、「新規投稿」を押すと生成されるファイル名です。
ファイル名を変更する必要はあまりないので、ここはそのままで普通はいいです。
Add comment(Comment is NOT appear on this page):
の下のフォームも通常は書き込む必要はありません。HTMLのコメントタグに囲まれる文字列の入力です。
上の3つが増えましたが、残りのフォームは前と同じです。
もう一度説明すると……。

画面右下の「新規投稿」を押すと、

上のようにフォームが増えました。
ひとつは「参照」の左にあるフォームです。これは画像アップロードするときに押して、自分のHDDからファイルを選びます。幅に気を付けてください。
Rename file_name(英語いいかげん^^)でファイルの名を変えることができます。
Add comment のフォームでは、コメントタグに入る文字列を入れることができます。通常は使うことはないでしょう。
アップロードされた画像は自動的にimg srcタグが追加されます。
2つアップロードしたい場合、1つアップロードしてsaveし、改めてEditを押して新たにアップロードしてください。
Nov 08, 2005
Perlのモジュール
このごろ、nucleusやこのblosxom blog(ブロッサム・ブログ)についていろいろとやったので、前にも紹介したかもしれないが『Blog Hacks』という本や、『CGIプログラミング』という本を地下鉄読書でめくっている。
なんとなく、webにかかわるPerlのモジュールってよく理解すればおもしろそうで便利そう。
まずは自作の掲示板スクリプトなどに導入したりすることだろう。
Perlのモジュールって自宅サーバならば、自由自在にインストールできる。
Markdownというpluginをここに入れてみた。
テストであるが、「edit」を押してみると、HTMLタグにどう変換されるがわかると思う。
たとえばアステリスク3つは水平線に変換される。
また、改行の前に半角空白3つ入れるとbrタグに変換される。そして、これは水平線から4行目であるが、ここから1行あけるとするとPタグが挿入される。リンクは下の書式である(editで開かないとソースは見られません)。下のリンクはこのpluginを使う書式。でも、とりあえず、このぼくのblogでテストして実用にいい、ということであれば各blogにpluginを追加します。
テスト行 <<<<
Nov 07, 2005
php.iniの設定
Debian GNU/Linuxでは、phpはPackageに入っているので、インストールは簡単。webで日本語を使うときに、php.iniの設定が必要である。
output_buffering = Off
magic_quotes_gpc = Off
default_charset = EUC-JP
mbstring.language = Japanese
mbstring.internal_encoding = EUC-JP
mbstring.http_input = auto
;mbstring.http_output = (コメントアウトしないと駄目だった)
mbstring.encoding_translation = On
;mbstring.detect_order = auto(コメントアウトしてもいい。ウチの場合はコメントアウト)
mbstring.substitute_character = none
2台Linuxマシンがあるので、片方で設定しながら、適当なphpテストファイルを作って実行しながら、文字化けを確認する。
今回のnucleusの文字化けトラブルと、rss出力の設定で、php.iniの設定を見直した。
上の設定はすべてphpのページはeucで書かれることを前提とする。
phpMyAdminもphp-Mysqlでblogを入れるのなら、必要だろう。というのも、コメントスパムやトラックバックスパムは必ず来る。pluginを入れる前に気づくとすでにたくさん来ている場合が多いと思う。そのときに、防御のpluginを入れることになるが、いっぱい来たら、nucleusの管理者権限で消去するのは、できるけれどもちょっと面倒なのだ。
またスパムのipとかいろいろ調べたい場合は調べられる。
phpMyAdminを使えば、該当するデータベースの項目でスパムをチェックマークをつけて一挙に削除できる。
backupをするときにも使えるが、ぼくはコマンドライン1行でやってしまうので、phpMyAdminは使っていない。
文章をどうしても直したいときにも使える。
Nov 04, 2005
Nov 01, 2005
nucleusの異本を避ける
結局、ローカルのApacheにnucleusのデータを展開して、サーバのバックアップができているかな、と思ってアクセスすると、そのアクセスした情報が新たにログとして残る(アクセスの環境変数の一部がデータベースに格納される)。このログはローカルの固有の情報だ。
それぞれのApacheで展開されるデータが、その時点を境に違ったものになっていくというわけである。
よくテキストデータなども、コピーするとそこから異本ができていって、数種の異本ができてしまうようなこともあるが、それと同じように二つのパソコンに異本ができる。
これを避けるためには、とりあえず、ちゃんとバックアップされることを検証したら、それ以後は「見ない」ということだろう。自分で見なければ、データベースはそのままなので、翌日バックアップされたnucleusのデータを追加しても問題は起きない。
たまに検証したら、テーブルのデータをphpmyadminなどを使って空にしてから、バックアップされたデータを展開すればよさそうだ。
もし、時系列で多少データを保存しておくならばローカルにrsyncで取得したファイル名を替えて、日付などつけて格納しておけばいい。でもそこまでやることないかな、と思う。
Oct 30, 2005
nucleusのデータ復元で
下のcron登録で、3.の復元の前にクライアント側のnucleusにアクセスしてしまうと、復元できない。
どうしてもちゃんとバックアップされているか確かめたくなるのだが、もしアクセスした場合は、復元する前にnucleusのデータベースの中身を削除しないとエラーが出る。
クライアントにインストールされたphpmyadminを使って、クライアント側のnucluesのデータを削除してから、コマンドラインを実行すればいい。
クライアント側にデータはバックアップされているのだが、一度手動の手続きが必要なのは改善できたらな、と思う。nucleusにはバックアップ・リストアという独自の機能がある(backup.phpというスクリプトをnucleusから呼び出す)。これをなんとかコマンドラインにして、バックアップ、リストアが自動的にできるようにすることができないのかな。
とりあえずは下のcron登録で、「サーバ側のnucleusのデータをバックアップして、それをクライアント側が毎日定時に保存する」というところまではできる。
Oct 29, 2005
データベースのバックアップ・リストアの覚書
nucleusやMT、xoopsなどのデータベースを使うCMSのデータのバックアップのまとめを書いておきたい。
自分のための覚書でもある。
1.
たとえば、サーバ側のcronに次のようなコマンドライン入れたシェルスクリプトを登録する。個別のデータベースをバックアップする方式(全部のデータベースではなく。いっぱいバックアップすべきデータベースがあるのなら、いっぺんに全部をバックアップするコマンドラインのほうがいいかもしれない)。
mysqldump -uroot -p(mysqlのrootのパスワード、pにくっつけて) poem(これはデータベースの名前) >/home/shimirin/backup/poembk(バックアップするファイルの名前。フルパスで書かないと、cronが理解しない)
2.
rsyncでクライアント側からデータを取得するシェルスクリプトに次のような1行を含める(クライアント側のcronにそのシェルスクリプトは登録されている)。
rsync -avz -e ssh 192.168.0.8:/home/shimirin/backup/poembk /home/shimirin/backup/
(最後のスラッシュがないと、shimirinディレクトリにbackupというファイルがpoembookの内容でできてしまうので注意)
3.
クライアント側にリストアのスクリプトを作ってcronに登録する。
mysql -uroot -p(mysqlのrootのパスワード、pにくっつけて) poem < /home/shimirin/backup/poembk(リストアするファイルの名前。フルパスで書かないと、cronが理解しない)
時刻は1.--2.--3.の順にする。
rsyncの情報源
Rsyncによるデータバックアップ
rsync + cron + ssh (rsyncd を立てない編)
linuxwiki@ぱ研 - rsyncでお手軽バックアップ
rsync
これらのサイトの要点を読んでいけば、設定が試行錯誤のうえ、できると思う。
しかし、バックアップというのは地味な仕事だなあ。重要だけど。
自宅サーバというのは、アタフタするところから脱出する喜びを味わうというマゾなところがあるが、アタフタしないようにする志向。
しかし、やっぱりそれでもアタフタすることはあるんですよね。
Oct 27, 2005
HostbasedAuthenticationsの設定で、もうひとつ
rsyncをパスワードなしで行うHostbasedAuthenticationsの設定でもうひとつハマったのを忘れていた。rootから、
/etc/ssh/shosts.equiv
を作って、
192.168.0.8 shimirin
などと書いてもいいが、それをするまでもなくホームディレクトリに「.shosts」というファイルを作り、上の一行を書き込めばいい。
「/etc/ssh/shosts.equiv」
をまず見にいって、次に「.shosts」を見にいく。
どちらもないとパスワードを要求される。
バックアップの自動化スクリプトをつくる
とりあえず、バックアップの自動化はめんどうなところから始めて成功した(と思う^^)。
rsyncではもちろん、root権限ではアクセスできないようにする。
とすると、www-dataがオーナーでありグループのファイルは、バックアップする前にshimirinのオーナー、グループにしてコピーし、バックアップが終わったら、また元のwww-dataに戻す必要がある。
このオーナー、グループの変更はrootの仕事だ。
つまり、この部分は、一日の一定時刻に実行するようにcronに登録するときに、rootで登録しなければならない。考えてみると、ディトリビューションが同じでも、別のユーザが他のユーザのファイル属性を変えられないので、この作業は必須のようだ。
というわけで、この2つの作業をサンドイッチのパンのようにして、バックアップをrsyncで行うことにした。
またデータベースにつながったページもある。これは、mysqlだのpostgresqlだのがオーナー、グループなので逆にその点は心配りすることはない。
しかし、
$mysqldump -A -uroot -p(パスワード。pにくっつけて)--opt -r(適当なファイル名。rにくっつけて)
をサーバ側で行い、これをrsyncでクライアント側が取得して、リストアしなければならない。
$mysql -uroot -p(パスワード。pにくっつけて)<(上の適当なファイル名)
このファイルの取得は、上のバックアップをするときのシェルスクリプトにいれればいいので、cronの作業としてはユーザとしてサンドイッチの上のパンをサーバ側で作り、下のパンをクライアント側で作る。
動的なファイルを作らないユーザのweb公開ディレクトリはしごく簡単だ。ただ、一定時刻にrsyncを使い、更新されたり、新たにアップロードされたファイルを取得するだけでいい。
rsyncのいいところは、もうあとは気にしないでいい(^^)ということだ。
みんなやってくれる!
Oct 25, 2005
やっとできた!
rsyncでパスワード入力なし(HostbasedAuthentications)で、cronで自動的にバックアップする方法で、ハマっていたが、やっとできた。
たぶん、ぼくぐらいのスキルの方はハマることがあるだろうが、ぼくの場合のpointは次の2つだった。
名前解決は/etc/hostsの次にDNS。
hostsには双方に正確に名前を書かなければいけない。
192.168.0.8 you.love.belle.cxm
192.168.0.5 i.love.chaos.cxm
とか。
サーバ側の「~/.ssh/known_hosts」には、
you.love.belle.cxm,192.168.0.8 ssh-rsa 以下暗号化鍵
というようにIPアドレスだけでなく、hostsに登録してある名前が必要。
Oct 23, 2005
Oct 22, 2005
rsyncによるバックアップ
ぼくのhomeディレクトリの、web公開ディレクトリはけっこう複雑ではある。
webサーバとしてのルートディレクトリは、/var/www/(これはDebian GNU/Linuxの場合)。
homeディレクトリのweb公開ディレクトリはpublic_html。
サーバとクライアントが同じLAN上にあり、両方Linuxならば同期するのはそれほど難しくはない。ただ、別のディストリビューションだと、web公開ディレクトリ上で動的に生成されるファイルのオーナー、グループの名前が違う。もし、同じディストリビューションで、同じApacheのバージョンならば、
$rsync -avz -e ssh shimirin@example.com:/home/shimirin/public_html/ /home/shimirin/public_html
とやって、バックアップしたくなったら、このコマンドを打てば全部のファイルの同期がとれる。
-a
は、アーカイブモードでの転送。ファイルのオーナー、グループ、パーミッション、時間(、デバイス、シンボリックリンク)を保存する。
動的ファイルが生成されていないならば、これですべてOKの感じ。
この場合、rsyncが両方のマシンにインストールされている必要がある。
rsyncは2つの同名の内容が異なるファイルのとき、「異なる部分」だけを抽出して転送するらしい。効率的。
ぼくもこのrsyncをだんだん利用しはじめた。
自宅サーバをやっている人がいつも感じると思われる「喉の小骨」が、バックアップだ。
一歩進めば、暗号化技術のrsaの公開鍵を生成して、cronで30分おきなどに自動でやれば、「喉の小骨」はもうないような(^^)。
Oct 20, 2005
kakasiとchasen
全文検索システム「namazu」に使われる、kakasiのコマンドラインの例が『Debian辞典』に載っていて面白そうなのでやってみた。
検索するときのindex形式には、品詞分解や、ひらがら化が必須だと思う。
-JHは漢字をひらがなに、-fはルビをブラケットに入れて表示する。ルビは固有名詞などはうまくいかない場合もあるが、いろいろ利用できそうである。
shimirin@debian:~$ echo "日本語環境の設定" | kakasi -JH -w -f
日本語環境[にほんごかんきょう] の 設定[せってい]
chasenは品詞分解をする。
shimirin@debian:~$ echo "立体などがきれいに映る。" | chasen
立体 リッタイ 立体 名詞-一般
など ナド など 助詞-副助詞
が ガ が 助詞-格助詞-一般
きれい キレイ きれい 名詞-形容動詞語幹
に ニ に 助詞-副詞化
映る ウツル 映る 動詞-自立 五段・ラ行 基本形
。 。 。 記号-句点
Oct 19, 2005
i915GMm-HFSとDebian GNU/Linux Debian kernel
i915GMm-HFSとDebian GNU/Linux sargeを組み合わせて使うときに、わかったことは以下のようなことだった。
(ただし、ぼくの力量によるので、スキルによっては解決できることもあると思われる)
kernel2.4.7だと、alsaモジュールはインストールしなければならないが、HD Audioコーデック「ALC880」は認識してオンボードのサウンド機能がすぐに使える。
kernel2.6.8-2だと、alsaモジュールはkernelに組み込まれているが、2.4のalsaに入っているHDAコーデックは認識されるものの、なんか変。
したがって、音が鳴らない。
普通の外部モジュールにして、ossとalsaを無効にして、サウンド機能だけ有効にしてkernelを再構築してみたが、それでもだめだった。
それで、ぼくの場合、kernel2.6に外部モジュールとして入れたalsaモジュールで認識されることがわかっている、次のボードを買った。
Sound Card Creative Labs CT4750
Sound Blaster 128 PCI Bulk PCI/ドライバ無 1 400円(中古品・税込み)
400円とはいうものの、代金引換えで、1555円。
これで音楽CDを聴ける。
たぶん、kernel2.6系がupgradeしていき、HDAは認識されるようになるのではないかと思う。
MarvelのギガビットLANコントローラ「88E8053」は、ソースを入手してkernelを再構築すればたぶん認識しそう。ぼくはやっていない。
このLANボードのほうが、Debian GNU/Linuxのプロジェクトはサウンドチップより対応が早そうな気がする。つまり、何回かkernel2.6系をupgradeするうちに、突然、2つのLAN差し込み口が使えるようになると思う。
不思議な感じもするが、SATAのHDDを使う場合、kernel2.4.7ならスムーズにいく。ただし、kernel2.6系がSATAを「sda」と認識するはずだが、「hda」と2.4系は認識する。普通に2.4から2.6にupgradeするときにも、なんか今忘れてしまったが、ユーティリティを一つインストールする必要があったと思うが、SATAの場合は、2.4系をインストールしたら、しばらくそのバージョンで使うのが正解だと思う。
ぼくの場合は、なんとか2.6系を使いたいと思ったので、2.6系にパラレルHDDを使い、サウンドボードを400円で買ったわけだ。
しかし、速い! と思う。それに静かだ。
Oct 17, 2005
ImageMagickのマジック
Linuxで画像を処理するなら、いろいろソフトがある。
The Gimpと、KDEの画面キャプチャなどよく使っていたが、ImageMagickというコマンドラインの画像処理ソフトでは意外に使いやすいものがあることがわかった。
もともとImageMagickはPerlのCGIなどの解説で見かけていたものだ。
きっかけはnucleus blogのほうで書いた、画像一括web用アルバム変換ソフトの「igal」を使うときに、画像のサイズを一気に変換できるものはないだろうか、というので調べてみたときだった。
たとえば、ImageMagickに含まれる、「mogrify」というコマンドを使うと、同じディレクトリにある多数の画像ファイルのサイズを全部一度に変換することができる。
ただし、普通デジカメなどではセブン-イレブンなどのデジカメプリント(今1枚30円)などを使うときには、解像度が高いほどいい。
しかし、いろいろな方にweb上で見せるときには、640x480ピクセルぐらいが適当だ。
たとえば、1600x1200のサイズで撮った写真のフォルダの中身を全部、igalコマンドでアルバムを作成するディレクトリにコピーして、
$mogrify -resize 640x480! *.jpg
を実行すればいい。縦横の比は同じ数字でないとまずいかもしれないが、ほかに柔軟なオプションがあるかもしれない。
また、昨日はwebcamの多数の静止画像から、アニメgifを簡単に作れないかと思って調べたところ、
$convert -delay 10 *.jpg anime.gif
と実行すれば、「anime.gif」というファイルができることがわかった。
ちなみに、昨日作ったのは、05年10月13日というファイルである。
Oct 16, 2005
LinuxでMOを認識する
まず、dmesgコマンドでつながれたmoを確認する。
debian2:/home/shimirin$ dmesg
……
usb 5-8: new high speed USB device using address 3
Initializing USB Mass Storage driver...
scsi0 : SCSI emulation for USB Mass Storage devices
Vendor: FUJITSU Model: MCN3064UB Rev: 0020
Type: Direct-Access ANSI SCSI revision: 02
USB Mass Storage device found at 3
usbcore: registered new driver usb-storage
USB Mass Storage support registered.
Attached scsi removable disk sda at scsi0, channel 0, id 0, lun 0
……
次にrootになって、fdiskを実行する。
1 既存のパーティションを削除する。
(pで実行する)
2 新しいパーティションを作成する。
(nで実行する。)
3 新しいパーティションをディスクに書き込む。
(wで実行する。)
下の引用は1を実行して一度抜けたので、2から。
shimirin@debian2:~$ su
Password:
debian2:/home/shimirin# fdisk /dev/sda
Note: sector size is 2048 (not 512)
Command (m for help): n
Command action
e extended
p primary partition (1-4)
p
Partition number (1-4): 1
First cylinder (1-254, default 1):
Last cylinder or +size or +sizeM or +sizeK (1-254, default 254):
Using default value 254
Command (m for help): p
Disk /dev/sda: 635 MB, 635600896 bytes
20 heads, 61 sectors/track, 254 cylinders
Units = cylinders of 1220 * 2048 = 2498560 bytes
Device Boot Start End Blocks Id System
/dev/sda1 1 254 619638 83 Linux
Command (m for help): w
The partition table has been altered!
Calling ioctl() to re-read partition table.
Syncing disks.
次にmoをフォーマットする。
debian2:/home/shimirin# mkfs -t ext2 -b 2048 /dev/sda1
mke2fs 1.37 (21-Mar-2005)
Filesystem label=
OS type: Linux
Block size=2048 (log=1)
Fragment size=2048 (log=1)
77520 inodes, 309818 blocks
15490 blocks (5.00%) reserved for the super user
First data block=0
19 block groups
16384 blocks per group, 16384 fragments per group
4080 inodes per group
Superblock backups stored on blocks:
16384, 49152, 81920, 114688, 147456
Writing inode tables: done
Writing superblocks and filesystem accounting information: done
This filesystem will be automatically checked every 22 mounts or
180 days, whichever comes first. Use tune2fs -c or -i to override.
moをマウントするにはマウントポイントのディレクトリを作る。
debian2:/home/shimirin# mkdir /mnt/mo
debian2:/home/shimirin# mount /dev/sda1 /mnt/mo
moをアンマウントすれば、usbの差し込み口から、moをはずしても大丈夫。
debian2:/home/shimirin# unmount /mnt/mo
mountしたmoの中にいるときには、当然unmountできないので、外に出てから。
Oct 15, 2005
i915GMm-HFSマシンのHDDを付け替える
やはり、kernel2.6で使いたいのでシリアルATAのHDDをパラレルATAのHDDに付け替えた。
どうもSATAの認識の問題があって、kernel2.6.13あたりから大丈夫になりそうだが、もうひとつのマシンのDebianが正式Packageのkernel2.6.8-2なので、これと同じにしたいと思ったからだ。
ただ音源チップの認識は、2.6系列からalsaがkernelに組み込まれ、このマザーボードのチップは、逆に2.4のalsaconfのようにうまく稼働しなかった。
2.4系列のmodulesは、kernelと分離して扱われるから稼働するのかなあ。まだ原因追求中。
音はそれほど聞くわけでもないし、サーバは逆に音を出なくするのが普通だが、やはりゲームなどのときに欲しい。
Oct 12, 2005
i915GMm-HFSマシンを組み立てる
冷や汗をかいたというのも、マザーボードの説明書に、
「電源をオンにし、電源装置、ケースファン、およびCPUファンが正しく動作しているか確認します」
という項目で「No」の場合、「メモリがシステムと互換性を持たないか、VGAカードまたはモニタが故障している可能性があります」とあったからだ。
ぼくが適当に買ってきたものは24ピンではあるが、4ピンを折り曲げられるタイプ。
電源の会社に聞くと、切り離してもいい、という。でも電源ファンも回らないので、メモリの相性問題発生かと思ったのだった。
メモリは、FSB533の速度を出すために、
DDR2 4200 512M CL4 SAMSUNG
を2枚。PC-SUCCESSという店で、1枚5880円だった。
相性保証を付けて(1枚315円)、2枚で税込み12390円。
これを相性がだめということで買い直すという恐れが浮かんだ。
しかし、ほかのパソコンの普通のATX電源を装着したら、問題なく動くのでひと安心。
たぶん、メモリはバルク品でも大丈夫だと思う。バルク品だとSAMSUNGより2枚で5000円ぐらい安いので、念のため相性保証を付けて、これで試してもいいかもしれない。
パソコンを組み立てるのは、基本的なパーツを適切に選んでおけば、プラモデルより簡単だ。プラスドライバ1本で作れる。
強いていえば、1カ所だけ細かい部分がある。いわゆる針山だ。ケースのスピーカー、リセットスイッチ、電源スイッチ、ハードディスクアクセス時のLEDの線をつなげるところはピンセットが要るかもしれない。ぼくは手でやってしまう。
今度のパソコンの場合、i915GMm-HFSなので、
CPUは、ぼくの場合、Pentium M 750 1.86GHz PGA(PC-SUCCESSの店頭売りで30429円=税込み)
メモリは、DDR2 4200 512M CL4 ×2枚で1G
で、グラフィックボードはせっかくのマザーボードなので、PCI Express規格のGeFORCE 6600GT(nVIDIA)128Mぐらいのもの。これはWindowsでゲームをやることも考えていいものにする。
というぐらいで、DVDドライブなど適当に選べばあとは組み立てるのみ。
Debian GNU/Linuxをインストールすることがあらかじめ決まっているのならば、1枚確実に動くLANカードを用意すべきである。ぼくの場合、Intel Pro/100 S Server Adapterを用意したが、Coregaなどの1500円ぐらいのLANカードでもいいと思う。
このマザーボードにはDual Marvell Gigabit PCI Express LANチップというのが載っている。こんなにカッコいい名前でしかもデュアルギガビットLANチップは聞いたことがないので、たぶん、Linuxで動かないことが想像できる。もし、動かないとインストール時にすぐインターネットを使う必要があるので面倒なのだ。
しばらく経つと、このデュアルギガビットLANチップも使えるようになるのは確実なので、用意したLANカードを使って、しばらくの辛抱。
ぼくはオンボードの音源チップ、Azalia Codecというのも使えないかもしれないと思っていたが、al


