トップ(最新) | <前

nDiki : UNIX

UNIX

関連情報

  • ディレクトリ

スポンサード リンク

Related term

2004年11月25日 (木)

nmake で毎回 pl2bat されるのを何とかしたい このエントリーを含むはてなブックマーク

EXE_FILES でインストールするスクリプトを指定してある Makefile.PLActivePerl 上で実行して nmake をかける。 また nmake する。

するとソースを書き換えてないにもかかわらず、EXE_FILES指定ファイルの blib/script へのコピーと pl2bat の実行が行われる。 嫌な感じ。

追いかけてみると

  • UNIX上の場合 FIXIN *1blib/script にコピーされたスクリプトを上書きするため更新時刻が変更され、次の make では最新と判断される。
  • Windows上の場合 FIXIN *2blib/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'}, ...) しても駄目)。


[ ExtUtils::MakeMaker ]

*1= perl -MExtUtils::MY -e "MY->fixin(shift)"

*2= pl2bat

スポンサード リンク


[ 11月25日全て ]

2004年12月31日 (金)

私的10大ニュース2004 [ comp ] このエントリーを含むはてなブックマーク

@ cool programs

@ Palm OS 生活復活

PEG-TJ25を購入し、Palm OS 生活復活。 最初はおもちゃのつもりで買ったのだが、プロジェクトマネジメントなどにシフトした仕事のスケジュール管理などで大活躍。

PDA 市場の明るい話はあまり聞かないが、末長く製品が出て続けて欲しい。

http://www.naney.org/img/2004/X/X2004-03-05-0003.jpg http://www.naney.org/img/2004/X/X2004-03-14-0004.jpg http://www.naney.org/img/2004/X/X2004-04-10-0001.jpg


[ 12月31日全て ]

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/ にコピーしたのだが、確認したところ実はこれは不要だった。削除。


[ 3月12日全て ]

2005年4月20日 (水)

SConsGNU Autotools のかわりになるか このエントリーを含むはてなブックマーク

NSIS のサイトによるとビルドに「SCons」を使うようしたらしい。

  • クロスプラットフォーム
  • AutoconfAutomake と同様の機能を統合
  • LaTeX もビルトインサポート

と興味深いツールになっているようだ。

現在プロジェクトLaTeXベースのドキュメント生成には GNU Make を使っているのだが、UNIXWindows の両方でビルドできるようにするには ComSpec 環境変数の有無で使用するコマンドを切り換えたり等いろいろ面倒なので、代替ツールとして使えないかなと。

基本的な機能は Make に対する改良がなされているようであるし、コピー等ファイル操作も SCons 自体がもっているのでクロスプラットフォームでビルドできるようにするのも楽そうだ。

一方 Autoconf 系の機能については、インストール済みのライブラリの検出や実装レベルのチェック等を実装しているようである。 make check や make dist、make install 等にあたるターゲットに関する機能(あるいは規約)のようなものは無い。これは非常に残念。 結局自分が Ant を使わなくなったのも GNU Autotools にあるこれらの機能に欠けているからであるし。

実は私がPerl が好きな理由の一つとして、これらサポートが充実しているという点がある。Perl では ExtUtils::MakeMaker (あるいは Module::Build)があり、ビルドからテスト、ソースパッケージのパッケージングまでフレームワークが整っている。

SConsPython ベースで、Makefile にあたるファイルも Python スクリプトである。 SCons が影響を受けた Cons は Perl ベースであったのだが、既に2001年5月ごろから開発が止まってしまっている。残念。

ということで Make の代替には使えそうであるが、GNU Autotools と同じようなことをするにはいろいろ手をかけないといけないといった印象。


[ 4月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 ]


[ 4月21日全て ]

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 でもアーカイブ化できるようにしたい。

あたりを考慮しなければならない時は面倒くさくなってくる。

自動化としては

あたりがぱっと思い浮かぶ。 しかし、最初の2つは毎回同じようなものを書くのが面倒だし保守もしにくい。 GNU Autotools はちょっとごっつすぎだし、Windows での環境構築も面倒。

@ ExtUtils::MakeMaker の欠点

ということで最初は ExtUtils::MakeMaker を使うという線で考えてみた。 もともと Perl モジュール用で汎用用途にはちょっと邪魔な振舞いもあるが、使えないことはないと思う。 しかし make (GNU Make あるいは nmake など) に依存しているという欠点がある。

@ Module::Build

ということで ExtUtils::MakeMaker の代替である Module::Build ベースで汎用用途に使えないか検討してみた。こちらは pure Perl で make を必要としない。

Module::BuildPerl モジュールビルドにあわせた振舞いがあるものの、ちょっとカスタマイズすれば使えそうだ。 で、いろいろいじった結果、次のような感じにすると使いやすそうだ。

 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

等として、アーカイブ作成が容易にできるようになる。

しばらくこの方法でいろいろ試してみることにしてみよう。


[ 8月24日全て ]

2006年7月18日 (火)

第10回 社内 Perl 勉強会 このエントリーを含むはてなブックマーク

リャマ本を使用した社内 Perl 勉強会の10回目を開催。今日は6人。

今日は「初めてのPerl 第3版」第11章「ファイルハンドルとファイルテスト」が範囲。

@ 今回の反省点

今回はパーミッションの話など Windows 環境よりも UNIX 系環境の話が多かったのだが、皆慣れてきたのか特に大きな混乱はなかった様子である。

open / close はそれこそ頻繁に使うのであるが、本書では思ったよりライトな扱いな感じ。

初めてのPerl 第3版の練習問題は、いままで問いてみて「確信犯的」に問題があいまいに書かれている。 要求仕様書だったらまずいかもしれないが、練習問題だと頭を使うので悪くない。 また他人をまじえた回答レビューでも他の読解によるプログラムを見られたりして、単純な答え合わせ以上の理解ができ面白い。


[ 7月18日全て ]

2006年7月31日 (月)

第12回 社内 Perl 勉強会 このエントリーを含むはてなブックマーク

リャマ本を使用した社内 Perl 勉強会の12回目を開催。今日も7人でフルメンバ。

今日は「初めてのPerl 第3版」第13章「ファイルとディレクトリの取り扱い」が範囲。

ある文化では「13」という数字を極めて不吉なものと考えます。われわれ著者は、この題材を意図的に13章に配置しました。なぜなら、もしコードにバグが潜んでいたら、かなり危険なこと(例えば、問い合わせをせずにファイルを消してしまう)を行ってしまう可能性があるからです。-- 初めてのPerl 第3版 p.209

こわーい。

@ 今回の反省点

i ノードの話やハードリンク・シンボリックリンクの話など、いつにも増して UNIXOS の話に関連の深い話が多い章である。 Windows 中心で使っている人にはあまり馴染みのない話であるが、知っておいて損はない話である。

欲を言えば Windows ではどうなっているかの話も載っていると嬉しかった。 NTFS なら ハードリンクを使えるよという話とか。

自分自身も Perl からハードリンク・シンボリックリンクの作成なんてしたことなかったな。 これからもそうそうしない処理だと思うけれど、いい勉強になった。


[ 7月31日全て ]

2006年12月21日 (木)

ノート PC を持たずに会社に行きたい このエントリーを含むはてなブックマーク

今日は夕方から社外でミーティングWindows 環境でのデモンストレーションが必要なため、普段持ち歩いている自分の ThinkPad X31 (Linux BOX) に加えて会社の Dellノート PC を持って出発。重い。

メール開発環境などは一元管理したい派なので普段の通勤でノート PC を持って往復するのはまあしょうがないのだが、こういう日は家に置いてきてせめて1台にしたいところである。

オフィスで開発などのヘビーな作業をしない日は、最近構築を進めている USB メモリによるポータブル環境で済ませられるようにぜひしたい。

@ 母艦でしていることを思いつく範囲で列挙

ノート PC (母艦)USB メモリポータブル環境 + Windowsオフィスの WindowsLinux
メーラ×
TeX?
UNIX開発×
パスワード管理××
ナレッジベース× (メモだけしておいて母艦へ)×
Skype×
SSH
フレッシュリーダー××

認証がからむものをできるだけポータブル環境にまとめたいところ。 データはさすがに全部 USB メモリに入れて持ち歩けないので、どんどん Subversion リポジトリに置くようにして必要なものだけ取れるようにした方がいいかな。


[ 12月21日全て ]

2007年12月19日 (水)

初めての PerlC 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プログラミング言語になるとは思ってもみなかった。


[ 12月19日全て ]

Related web page

ウノウラボ Unoh Labs: daemontoolsでデーモン管理
Emacsでbackward-charをC-lに割り当てているbokkoです。「指相撲で相手の指に届かないくらい指が短いので一回も勝ったことがないんです。だからそんな短い指でC-bなんて押してたら指が痛いんです」と言ってもなかなか信じてもらえないのですが、そんな私でも(global-set-key &quot;&#92;C-l&quot; &#39;backward-char)というelispを評価するだけで快適にプログラミングさせてくれるEmacsが大好きです。 と、タイト
http://labs.unoh.net/2008/07/daemontools.html
screenを初めて使うためのチュートリアル - Unix的なアレ
screenというものすごく便利なアプリケーションがあります。上記写真のように、1つのターミナル内で、仮想的に複数の端末を起動させることができるものです。 ただ慣れるまでは少々使い方がとっつきづらいという話も聞きますので、今回はscreenを基本的に使えるまでのチュートリアルを紹介したいと思います。 どんなことができるの? 複数の仮想端末をあげるとどういったメ
http://d.hatena.ne.jp/wadap/20080114/1200288402
Apacheの負荷の状況を監視できる、apachetop - Unix的なアレ
<strong>Unix</strong>/Linux系OSの場合で、負荷監視のツールといえばtopが有名ですが、apacheの詳細までは監視することができません。 とくに、ある程度のアクセス数のあるWebサイトを運用したことのある方ならわかると思いますが、攻撃と思われるような負荷に出くわすことはあると思います。 そんなときに、簡単にapacheの状況を調べることができるのがapachetopです。 どんなときに使う? apachetopと
http://d.hatena.ne.jp/wadap/20080113/1200221517
uname の 'u' とは - まだ見えない先の
OFTC #kernelnewbies DejaIRC 13 December 2002, 19:30-20:30 で議論されている.uname の &#39;u&#39; は utsname*1 の &#39;u&#39; だとすると, utsname の &quot;uts&quot; は &quot;<strong>Unix</strong> Timesharing System&quot; の略なんだろうか.OS の名前情報を格納する構造体の名前であることを考えると,これが正しい気がする.調べてみると,下記が見付かった.uname の u は … <strong>UNIX</strong> の U である。uname(2) は … 昔は uname(II) と書いていた。http://x68000.q-e-d.net/~68user/cg
http://d.hatena.ne.jp/junkawa/20071020/1192858935
PC View: UNIXという基本
内容はそうだが「アプリ」と略すのはどうも。
http://www.pc-view.net/article/253/1.html
404 Blog Not Found:書評 - The Art of Unix Programming (邦訳版)
このギーク度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のパスワードは潰さないほうがいいと思う件 - mputの日記。 (2007-03-15)
rootのパスワードは潰さないほうがいいと思う件 http://labs.unoh.net/2007/03/post_73.html 俺も昔は親の仇でもとるように片っ端からrootのパスワード潰してた時期がありましたわ。 でも今はやってない。なんでかというと、rootのパスワードを潰しちゃうとシングルユーザーモードが使えないし、コンソールからrootログインができないから。 もちろんみんなも普段はssh使って公開鍵認証がデ
http://mput.dip.jp/mput/?date=20070315#p02
uwin/uwin.mm mm document
http://www.research.att.com/sw/tools/uwin/
UNIX History
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/
プログラミングと開発者のためのCodeZine:コマンドの出力をtop風に表示させるtopless(シェルスクリプト, 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)

この日記のはてなブックマーク数 Add to Google RSS

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)