nDiki : UNIX
Related term
2004年11月25日 (木)
■ nmake で毎回 pl2bat されるのを何とかしたい

EXE_FILES でインストールするスクリプトを指定してある Makefile.PL を ActivePerl 上で実行して nmake をかける。 また nmake する。
するとソースを書き換えてないにもかかわらず、EXE_FILES指定ファイルの blib/script へのコピーと pl2bat の実行が行われる。 嫌な感じ。
追いかけてみると
- UNIX上の場合 FIXIN *1 が blib/script にコピーされたスクリプトを上書きするため更新時刻が変更され、次の make では最新と判断される。
- Windows上の場合 FIXIN *2 は blib/script にコピーされたスクリプトからバッチファイルを生成する。このためコピーされたファイルの更新時刻は、ソースと同じのまま。依存関係で指定されている Makefile の方が新しいので次の nmake でも同じ処理が繰り返される。
というわけ。コピーした後 touch するようにすればよい。
perl -MExtUtils::Command -e touch %1 pl2bat %1
という内容の touchpl2bat.bat を作って
nmake FIXIN=touchpl2bat
とすればきちんと更新時刻が反映されビルドは1回だけになる。 毎回指定するのは面倒なので、MSWin32 なら自動的にそうするようにパッケージングしたいのだが nmake で他にうまく FIXIN を上書きする方法がみつからず (MY::postamble で書き出しても、WriteMakefile(macro => {FIXIN => 'touchpl2bat'}, ...) しても駄目)。
- Module::Build でソースパッケージング (2005-08-24)
- ActivePerl で Ming (2005-02-23)
- [ Perl ] PDL::PP で C extension を書く (2004-02-19)
- PAR::Repository でビルド済み Perl モジュールをネット... (2006-12-12)
- SCons は GNU Autotools のかわりになるか (2005-04-20)
2004年12月31日 (金)
■私的10大ニュース2004 [ comp ]

@ cool programs
- pdumpfs
- Memcached
- 簡単・高速なキャッシュシステム。使える。
- Firefox
- Subversion
- 将来的に CVS から移行する事を考えて試験的に導入。良い。Windows でも TortoiseSVN のおかげで簡単に利用できる(CVS にも TortoiseCVS が出て便利になった)。
- 影舞
- 今年前半のプロジェクトで活躍。
- PAR
- NSIS
- Template Toolkit
- Webアプリケーション開発プロジェクトで採用。www.naney.org の静的コンテンツの生成でも使い始めた。
@ Palm OS 生活復活
PEG-TJ25を購入し、Palm OS 生活復活。 最初はおもちゃのつもりで買ったのだが、プロジェクトマネジメントなどにシフトした仕事のスケジュール管理などで大活躍。
PDA 市場の明るい話はあまり聞かないが、末長く製品が出て続けて欲しい。
- DAR で差分/増分バックアップ (2005-04-02)
- Module::Build でソースパッケージング (2005-08-24)
- 普通の人向けに svnserve を立ち上げるか (2005-07-26)
- wxPerl PPM パッケージ (2006-12-13)
- [ Perl ] Memcached を使ってみる (2004-01-12)
2005年3月12日 (土)
■ UNIXアカウントの方に大量にたまっていたfml管理メール

先日メールサーバのメンテをしていたら、自分のアカウントにメールが700通弱たまっているのを発見。
常用しているバーチャルドメインの naney@example.co.jp の方はもちろん定期的に fetch している。 naney 宛のメールも全て naney@example.co.jp に流れると勘違いしていた。 UNIXアカウントの方にもたまっているとは思っていなかったので見落し。マズイ。
@ 吸い出し
vpopmail のPOPサーバから吸い出そうとしたところ失敗。
maildirmake maildirmake $HOME/Maildir echo $HOME/Maildir/ > $HOME/.qmail
naney UNIX用アカウント用の maildir を作成し.qmail を書いて、mbox からこちらへ一旦流すことで吸い出せるようになった。
幸い「メーリングリストが配送するメールの中に配送できないアドレス(退職により削除されたアドレス)があるよ」というエラーメールがほどんどで、重要なものはなかった。 一安心。
@ fmlの管理メールアドレスの送り先を修正
/var/spool/ml/etc/qmail/alias 以下にある設定ファイルで、転送先が
naney
となっているのを
&naney@example.co.jp
に修正し、vpopmail 上のバーチャルアカウントの方に届くようにする。
for f in `grep -l naney .*`; do echo '&naney@example.co.jp' > $f ; done
以前 qmail+vpopmail+fmlの設定をした時にこれらのファイルを ~vpopmail/domains/example.co.jp/ にコピーしたのだが、確認したところ実はこれは不要だった。削除。
- [ Debian ] woody + qmail + vpopmail +... (2004-01-08)
- [ Debian ] qmail + vpopmail + fml でポカミス (2004-01-19)
- ブレーカー + メーリングリストアカウント中の'-' (2004-01-22)
- メインノート PC の MTA を sendmail から qmail に変更 (1999-10-28)
- Debian + qmail + fml で複数管理者の場合は user/... (2005-04-04)
2005年4月20日 (水)
■ SCons は GNU Autotools のかわりになるか

NSIS のサイトによるとビルドに「SCons」を使うようしたらしい。
と興味深いツールになっているようだ。
現在プロジェクトLaTeXベースのドキュメント生成には GNU Make を使っているのだが、UNIX、Windows の両方でビルドできるようにするには ComSpec 環境変数の有無で使用するコマンドを切り換えたり等いろいろ面倒なので、代替ツールとして使えないかなと。
基本的な機能は Make に対する改良がなされているようであるし、コピー等ファイル操作も SCons 自体がもっているのでクロスプラットフォームでビルドできるようにするのも楽そうだ。
一方 Autoconf 系の機能については、インストール済みのライブラリの検出や実装レベルのチェック等を実装しているようである。 make check や make dist、make install 等にあたるターゲットに関する機能(あるいは規約)のようなものは無い。これは非常に残念。 結局自分が Ant を使わなくなったのも GNU Autotools にあるこれらの機能に欠けているからであるし。
実は私がPerl が好きな理由の一つとして、これらサポートが充実しているという点がある。Perl では ExtUtils::MakeMaker (あるいは Module::Build)があり、ビルドからテスト、ソースパッケージのパッケージングまでフレームワークが整っている。
SCons は Python ベースで、Makefile にあたるファイルも Python スクリプトである。 SCons が影響を受けた Cons は Perl ベースであったのだが、既に2001年5月ごろから開発が止まってしまっている。残念。
ということで Make の代替には使えそうであるが、GNU Autotools と同じようなことをするにはいろいろ手をかけないといけないといった印象。
- Module::Build でソースパッケージング (2005-08-24)
- 私的10大ニュース2004 [ comp ] (2004-12-31)
- Windows 向けソフトウェア開発者はソースパッケージを作る習慣がない (2007-07-31)
- ActivePerl で Ming (2005-02-23)
- NSIS 2.22 は Linux でビルドできず (2006-12-20)
2005年4月21日 (木)
■ base64 亜種でのファイル名生成と、Windows

重要な事を忘れていた。
perl -MMIME::Base64 -e "print encode_base64('abc')"
perl -MMIME::Base64 -e "print encode_base64('abI')"
先日のピリオド問題発覚以前に、Windows には大文字小文字を区別しないという問題があるんだった……。
今回のファイル名生成規則の見直しにあわせて、今までの WiKicker のデータベースをどう簡単にコンバートするかということをずっと考えていたのだが、そういうレベルではないな。
Windows 版と UNIX 系版は、ファイル名生成規則は別物でいっか。
[ MIME::Base64 ]
- 最後がピリオド(.)で終わるファイル名をつけられない (2005-04-19)
- Windows 上での Apache 2.0.53 では PATH_INF... (2005-04-10)
- WiKicker における PageName 最長文字数 (2006-06-10)
- WiKicker 0.35 リリース - 添付機能の修正など (2006-06-20)
- WiKicker 実装 (2002-10-20)
2005年8月24日 (水)
■ Module::Build でソースパッケージング

@ ExtUtils::MakeMaker
私が Perl が好きな理由の一つに、標準でExtUtils::MakeMakerという Makefile ジェネレータがついているところである。これを使って Makefile.PL を書くと
perl Makefile.PL make manifest make make test make dist
で <pacakge>-<versionno>.tar.gz というソースパッケージを作ることができ、
tar zxvf <pacakge>-<versionno>.tar.gz cd <pacakge>-<versionno> perl Makefile.PL make make test make install
という手順でインストールする事ができるようになる。 パッケージの作り方が確立されているので、容易に新しいパッケージを開発しはじめられる。
逆に Java でプログラムを書くのが億劫なのは、このあたりの準備が面倒だからである。 Ant を使っても結局ここら辺自分でやらなければならないし。
@ ちょっとしたアーカイブの作成
ちょっとしたパッケージを作りたいと思うことは良くある。 例えばいくつかのデータファイルと、READMEファイルなんかをひとまとめにしてアーカイブにするとか。
本当にちょっとしたであれば、手動でアーカイブすれば良いのだが、
- アーカイブしたいファイル群がバージョン管理下にあって、CVS ディレクトリや .svn ディレクトリがある (除外してアーカイブする必要がある)
- 同じディレクトリにある、作業用のファイルはアーカイブしたくない (除外してアーカイブする必要がある)
- アーカイブする前に、チェック用のリグレッションテスト一式を走らせたい (リグレッションテストをかけられるようにする)
- UNIX でも Windows でもアーカイブ化できるようにしたい。
あたりを考慮しなければならない時は面倒くさくなってくる。
自動化としては
- シェルスクリプト/バッチファイルを書く
- Makefile を書く
- GNU Autotools を使う
あたりがぱっと思い浮かぶ。 しかし、最初の2つは毎回同じようなものを書くのが面倒だし保守もしにくい。 GNU Autotools はちょっとごっつすぎだし、Windows での環境構築も面倒。
@ ExtUtils::MakeMaker の欠点
ということで最初は ExtUtils::MakeMaker を使うという線で考えてみた。 もともと Perl モジュール用で汎用用途にはちょっと邪魔な振舞いもあるが、使えないことはないと思う。 しかし make (GNU Make あるいは nmake など) に依存しているという欠点がある。
@ Module::Build で
ということで ExtUtils::MakeMaker の代替である Module::Build ベースで汎用用途に使えないか検討してみた。こちらは pure Perl で make を必要としない。
Module::Build も Perl モジュールビルドにあわせた振舞いがあるものの、ちょっとカスタマイズすれば使えそうだ。 で、いろいろいじった結果、次のような感じにすると使いやすそうだ。
use Module::Build;
my $class = Module::Build
->subclass(class => 'NonmoduleBuilder',
code => q{
# Don't make blib
sub ACTION_code {};
# Don't make blib
sub ACTION_docs {};
# Don't make META.yml
sub ACTION_distmeta {
# no warning on ACTION_distdir
$_[0]->{metafile} = 'MANIFEST';
};
# Don't add MEATA.yml to MANIFEST
sub ACTION_manifest {
$_[0]->{metafile} = 'MANIFEST',
$_[0]->SUPER::ACTION_manifest(@_);
};
});
# Set your archive name and version.
$class->new(dist_name => 'mypackage',
dist_version => '1.0.2',
)->create_build_script;
カスタマイズした部分は以下(Module::Build 0.26 で動作確認)。
- Perl モジュールビルドに特有の blib ディレクトリを作らないようにする。
- META.yml を生成しないようにし、アーカイブに含まれないようにする。
上記のようなファイルを Build.PL という名前で作っておけば
perl Build.PL ./Build manifest ./Build ./Build test ./Build dist
等として、アーカイブ作成が容易にできるようになる。
しばらくこの方法でいろいろ試してみることにしてみよう。
- SCons は GNU Autotools のかわりになるか (2005-04-20)
- ActivePerl で Ming (2005-02-23)
- nmake で毎回 pl2bat されるのを何とかしたい (2004-11-25)
- 私的10大ニュース2004 [ comp ] (2004-12-31)
- bundle を作成して Perl モジュールをまとめてインストール。 (2004-10-21)
2006年7月18日 (火)
■ 第10回 社内 Perl 勉強会

リャマ本を使用した社内 Perl 勉強会の10回目を開催。今日は6人。
今日は「初めてのPerl 第3版」第11章「ファイルハンドルとファイルテスト」が範囲。
@ 今回の反省点
今回はパーミッションの話など Windows 環境よりも UNIX 系環境の話が多かったのだが、皆慣れてきたのか特に大きな混乱はなかった様子である。
open / close はそれこそ頻繁に使うのであるが、本書では思ったよりライトな扱いな感じ。
初めてのPerl 第3版の練習問題は、いままで問いてみて「確信犯的」に問題があいまいに書かれている。 要求仕様書だったらまずいかもしれないが、練習問題だと頭を使うので悪くない。 また他人をまじえた回答レビューでも他の読解によるプログラムを見られたりして、単純な答え合わせ以上の理解ができ面白い。
- 第12回 社内 Perl 勉強会 (2006-07-31)
- 第2回 社内 Perl 勉強会 (2006-04-28)
- 第1回 社内 Perl 勉強会 (2006-04-21)
- 第13回 社内 Perl 勉強会 (2006-08-07)
- 第11回 社内 Perl 勉強会 (2006-07-24)
2006年7月31日 (月)
■ 第12回 社内 Perl 勉強会

リャマ本を使用した社内 Perl 勉強会の12回目を開催。今日も7人でフルメンバ。
今日は「初めてのPerl 第3版」第13章「ファイルとディレクトリの取り扱い」が範囲。
ある文化では「13」という数字を極めて不吉なものと考えます。われわれ著者は、この題材を意図的に13章に配置しました。なぜなら、もしコードにバグが潜んでいたら、かなり危険なこと(例えば、問い合わせをせずにファイルを消してしまう)を行ってしまう可能性があるからです。-- 初めてのPerl 第3版 p.209
こわーい。
@ 今回の反省点
i ノードの話やハードリンク・シンボリックリンクの話など、いつにも増して UNIX 系 OS の話に関連の深い話が多い章である。 Windows 中心で使っている人にはあまり馴染みのない話であるが、知っておいて損はない話である。
欲を言えば Windows ではどうなっているかの話も載っていると嬉しかった。 NTFS なら ハードリンクを使えるよという話とか。
自分自身も Perl からハードリンク・シンボリックリンクの作成なんてしたことなかったな。 これからもそうそうしない処理だと思うけれど、いい勉強になった。
- 第14回 社内 Perl 勉強会 (2006-08-25)
- 第5回 社内 Perl 勉強会 (2006-05-29)
- 第13回 社内 Perl 勉強会 (2006-08-07)
- 第10回 社内 Perl 勉強会 (2006-07-18)
- 第2回 社内 Perl 勉強会 (2006-04-28)
2006年12月21日 (木)
■ ノート PC を持たずに会社に行きたい

今日は夕方から社外でミーティング。 Windows 環境でのデモンストレーションが必要なため、普段持ち歩いている自分の ThinkPad X31 (Linux BOX) に加えて会社の Dell のノート PC を持って出発。重い。
メールや開発環境などは一元管理したい派なので普段の通勤でノート PC を持って往復するのはまあしょうがないのだが、こういう日は家に置いてきてせめて1台にしたいところである。
オフィスで開発などのヘビーな作業をしない日は、最近構築を進めている USB メモリによるポータブル環境で済ませられるようにぜひしたい。
@ 母艦でしていることを思いつく範囲で列挙
| ノート PC (母艦) | USB メモリポータブル環境 + Windows | オフィスの Windows、Linux |
| メーラ | △ | × |
| TeX | ? | ○ |
| UNIX 系開発 | × | △ |
| パスワード管理 | × | × |
| ナレッジベース | × (メモだけしておいて母艦へ) | × |
| Skype | ○ | × |
| SSH | △ | △ |
| フレッシュリーダー | × | × |
認証がからむものをできるだけポータブル環境にまとめたいところ。 データはさすがに全部 USB メモリに入れて持ち歩けないので、どんどん Subversion リポジトリに置くようにして必要なものだけ取れるようにした方がいいかな。
- Linux 母艦ノート PC を使わずに仕事ができるかチャレンジ (2007-08-20)
- 普通の人向けに svnserve を立ち上げるか (2005-07-26)
- 納品前日なのに /var が壊れた! HDDからのブートで Debian ... (2005-09-27)
- Linux で入力して Windows で参照できるパスワード管理ツール ... (2006-12-31)
- sniffit 0.3.7 beta をインストール (1999-01-22)
2007年12月19日 (水)
■ 初めての Perl は C MAGAZINE

12月18日に Perl v5.10.0 がリリースされた。 1987年12月18日にリリースされた 1.000 (perlhist(1) より) から数えて20年目にあたるリリースである。
思い起こしてみると、自分が初めて Perl を知ったのは C MAGAZINE 1991年9月号の 特集フィルタ系言語研究,Part3 Perl入門 (前田薫氏) だったと思う。
当時は PC-88VA2 を使っていて、DOSエクステンダ版を試した記憶がある。 動いたような動かなかったような。
当時は UNIX 系システムは全く触れたことがなく、スクリプト言語もほとんど知らなかったので $ とか @ にはめまいを感じたものだ。
まさかあの Perl が今の自分にとって、第1プログラミング言語になるとは思ってもみなかった。
- SCons は GNU Autotools のかわりになるか (2005-04-20)
- 第12回 社内 Perl 勉強会 (2006-07-31)
- PAR (2004-07-19)
- 私的10大ニュース2004 [ comp ] (2004-12-31)
- Module::Build でソースパッケージング (2005-08-24)
Related web page
Emacsでbackward-charをC-lに割り当てているbokkoです。「指相撲で相手の指に届かないくらい指が短いので一回も勝ったことがないんです。だからそんな短い指でC-bなんて押してたら指が痛いんです」と言ってもなかなか信じてもらえないのですが、そんな私でも(global-set-key "\C-l" 'backward-char)というelispを評価するだけで快適にプログラミングさせてくれるEmacsが大好きです。 と、タイトhttp://labs.unoh.net/2008/07/daemontools.html
screenというものすごく便利なアプリケーションがあります。上記写真のように、1つのターミナル内で、仮想的に複数の端末を起動させることができるものです。 ただ慣れるまでは少々使い方がとっつきづらいという話も聞きますので、今回はscreenを基本的に使えるまでのチュートリアルを紹介したいと思います。 どんなことができるの? 複数の仮想端末をあげるとどういったメhttp://d.hatena.ne.jp/wadap/20080114/1200288402
<strong>Unix</strong>/Linux系OSの場合で、負荷監視のツールといえばtopが有名ですが、apacheの詳細までは監視することができません。 とくに、ある程度のアクセス数のあるWebサイトを運用したことのある方ならわかると思いますが、攻撃と思われるような負荷に出くわすことはあると思います。 そんなときに、簡単にapacheの状況を調べることができるのがapachetopです。 どんなときに使う? apachetopとhttp://d.hatena.ne.jp/wadap/20080113/1200221517
OFTC #kernelnewbies DejaIRC 13 December 2002, 19:30-20:30 で議論されている.uname の 'u' は utsname*1 の 'u' だとすると, utsname の "uts" は "<strong>Unix</strong> Timesharing System" の略なんだろうか.OS の名前情報を格納する構造体の名前であることを考えると,これが正しい気がする.調べてみると,下記が見付かった.uname の u は … <strong>UNIX</strong> の U である。uname(2) は … 昔は uname(II) と書いていた。http://x68000.q-e-d.net/~68user/cghttp://d.hatena.ne.jp/junkawa/20071020/1192858935
内容はそうだが「アプリ」と略すのはどうも。http://www.pc-view.net/article/253/1.html
このギーク度120%のタイトルにだまされてはいけない。 The Art of <strong>UNIX</strong> Programming Eric S. Raymond / 長尾高弘訳 [原著:The Art of <strong>UNIX</strong> Programming] なぜなら、本書はギークとつきある必要のあるすべてのスーツ必携の一冊。http://blog.livedoor.jp/dankogai/archives/50859964.html
rootのパスワードは潰さないほうがいいと思う件 http://labs.unoh.net/2007/03/post_73.html 俺も昔は親の仇でもとるように片っ端からrootのパスワード潰してた時期がありましたわ。 でも今はやってない。なんでかというと、rootのパスワードを潰しちゃうとシングルユーザーモードが使えないし、コンソールからrootログインができないから。 もちろんみんなも普段はssh使って公開鍵認証がデhttp://mput.dip.jp/mput/?date=20070315#p02
http://www.research.att.com/sw/tools/uwin/
This is a simplified diagram of <strong>unix</strong> history. There are numerous derivative systems not listed in this chart, maybe 10 times more! In the recent past, many electronic companies had their own <strong>unix</strong> releases. This diagram is only the tip of an iceberg, with a penguin on it ;-).http://www.levenez.com/unix/
この記事では<strong>UNIX</strong>サーバ管理という側面からのシェルスクリプトプログラミングを取り上げます。またシェルスクリプトを自作するときのポイントも解説します。 <strong>UNIX</strong>サーバを管理するときは、道具としてのシェルスクリプトが重宝します。常時ログを監視するにしても、入力するコマンドをまとめるにしても、<strong>UNIX</strong>に用意されているコマンドを有効活用するにはシェルスクリプトがhttp://codezine.jp/a/article.aspx?aid=67
■よく検索されるキーワード
torrent(174) expressions(80) 竹内まりや(62) ドラマ(27) x31(25) linux(24) windows(23) 壁紙(22) 動画(21) 手帳(21) wiki(20) perl(20) 画像(19) debian(19) 蘇える金狼(18) 吉瀬美智子(18) mp3(16) 使い方(15) 秋葉原(14) thinkpad(14) ダウンロード(14) usb(14) 竹内まりあ(13) バッグ(13) ヨドバシカメラ(12) リフィル(12) ubuntu(12) ノート(11) xp(11) ヨドバシ(11) 作り方(11) skype(10) so905ics(10) nikon(10) ほぼ日手帳(10) porter(10) 無印(9) cvs(9) サンプル(9) 生年月日(9) a6(9) ヤマダ電機(9) 評判(9) 写真(9) firefox(8) 書き方(8) 方眼(8) .torrent(8) 万年筆(8) 日本語(8) apache(8) tc-1(8) 無料動画(8) 冷蔵庫(8) 設定(8) 修理(8) 今村恵子(8) インストール(7) ダイソー(7) 無料(7) 無印良品(7) ほぼ日(7) nikkor(7) dvd(7) システム手帳(7) 水谷ケイ(6) cgi(6) c#(6) うなぎ(6) スーパー(6) hdd(6) 変換(6) ssh(6) vq1005(6) 2009(6) 風邪(6) centos(6) 機内持ち込み(6) 2008(6) 比較(6)■注目キーワード
購入 買った 発売日 フリー 無料 価格 値段 作り方 選び方 方法 設定 サンプル ダウンロード セール 限定 在庫 予約 穴場 比較 検証 レビュー 感想 評価 評判 使用感 使ってみた 口コミ 最新 MP3 動画 Torrent 解説 意味 用語集 参考文献 お薦め お勧め おすすめ 便利 Blog ブログ mixi 待受画面 修理Process Time: 0.1739s / load averages: 0.38, 0.29, 0.35
nDiki by WATANABE Yoshimasa (profile)
Powered by DiKicker
Base theme by Nana (for tDiary)



スポンサード リンク