パスワードを忘れた? アカウント作成
690516 journal

nekoie02の日記: \

日記 by nekoie02

2003-02-19

* sv.tir.ne.jp: tcc
を、何時の間にか、インストール。
http://fabrice.bellard.free.fr/tcc/
コレで、cも立派なスクリプト言語ッ!
http://www.tir.ne.jp/~nekoie/tcctest/

* work: samba
今日は何故か、社内の開発サーバのsambaを入れ替えた。
とりあえず、今入っているsambaを
rpm -e samba
で削除し(註:後で気付いたが、今動いてるsmbdを殺すの忘れてた)、
ソースからインストール。ja開発版。

configureのオプションはなんとなく
./configure --prefix=/usr/local/samba --disable-debug --with-smbwrapper --with-smbmount --with-ssl
とした。最適化オプションはなんとなくつけなかった。会社だからか。
あとは普通にmake allしてmake install。
そのあと、
chmod u+s /usr/local/samba/bin/smbmnt
chmod u+s /usr/local/samba/bin/smbumount
しておく。コレで一般ユーザからもsmbmount/smbumount可能に。

幸運な事に、古いsmb.confが/etc/smb.conf.rpmsaveとして残っていたので、
コレを/usr/local/samba/lib/smb.confとする。
コレの中身がどうなっているかは自分には極めて不明。

/usr/local/samba/bin/smbmount //192.168.0.1/common /home/nekoie/file-s -o iocharset=euc-jp,codepage=sjis
のように実行するが(192.168.0.1はゲイツサーバ)、
上手い事sjis→euc-jp変換を行ってくれない。
/var/log/messagesを見たら、どうやらnls_euc-jpとかが無いらしい。
適当に/usr/src/linux/fs/nls/Makefileをいじってから、
/usr/src/linuxにてmake modulesし、できたnls_*.oを、
/lib/modules/バージョン番号/kernel/fs/nlsの中につっこむ。
depmod -av。
これでmodprobe nls_euc-jpとかしても、エラーが出る。
おかしいと思ったら、なんか/etc/modules.confが怪しい状態になっていた。
適当に怪しい部分をコメントアウトしたら正常にinsmodされるようになった。
そして、sjis→euc-jp変換もできるようになった。

smbdがちゃんと動いていないという苦情がきた。
よく考えたら、rpm -eする時にsmbd止めるのを忘れていた。
元々はrpmで入っていたので、/etc/rc.d/init.d/smb startとかで
動かしていて、最早削除してしまったので分からない……。

みかたんに、古いsmbdを殺してから手動でsmbdを起動してもらった。
そして、よく見たら、/etc/rc.d/init.d/smb.rpmsaveなるものが
残っていた。素晴らしいrpm。
コレを元に、/etc/rc.d/rc.localに、
/usr/local/samba/sbin/smbd -D
/usr/local/samba/sbin/nmbd -D
の二行を追加。initスクリプトにはしないのか自分……と思ったが、
面倒なのでそのまま。

本業の仕事は全然すすまなかった。

* work: smbmountされた、日本語ファイル名を含むデバイス
コレの中の日本語ファイル名を見るには、lsに--show-control-charsなる
オプションをつけなくてはならない。
zshの補完機能を使えば、tabで日本語ディレクトリへと容易に移動可能だが、
バックスペースでは一バイトずつしか削れないので、文字化けを起こす。
それ以外でも、時々文字化けを起こす。
zshマルチバイトパッチとかあるのだろうか。
bash用ならあるが‥‥。
http://www.studio-racsho.shibuya.tokyo.jp/SKK/bash/

* diary: 何も憶えていない

2003-02-18

* diary: 眠い

* perl: 正規表現中の$は\nを吸収する
perl -e 'print "match\n" if ("moge\n" =~ /^\w+$/)'
↑は、マッチしてしまう。
末尾の改行をマッチしないようにするには、\zを使う。
perl -e 'print "match\n" if ("moge\n" =~ /^\w+\z/)'
コレで、マッチしなくなる。
‥‥という事を、すぎさんに教わる。

* perl: $IFS
$IFSは、単語区切りを示すシェル内部変数。
コレを突っ込めば、system("")や``内で空白文字が使えなくても、
コマンドに引数を突っ込むことが出来る。
perl -e 'system("ls\$IFS-al")'
↑は、ls -alの結果が実行されてしまう。
‥‥という事を、すぎさんに教わる。

* diary: 疲れた‥‥

* programming: Nを一からやり直し
schemeを勉強しているお陰で、プログラマとしてのスキルが数段ほど
向上したような気分であり(まだまだ向上の余地あり)、Lをまた
作り直す前準備として、Nを一から作り直し始めた。
今回は、
- perldoc対応(但し日本語)
- さらなるモジュール細分化/よりシンプルで正しい構造設計
を実現する予定。
http://d.tir.jp/perl/Nondakure04/

この議論は賞味期限が切れたので、アーカイブ化されています。 新たにコメントを付けることはできません。
typodupeerror

「毎々お世話になっております。仕様書を頂きたく。」「拝承」 -- ある会社の日常

読み込み中...