前の月 / 次の月 / 最新

01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31

2007-08-31 Fri

ssh-agent 用の関数

function PS-ssh-agent
{
    param([switch]$k)
    if($k)
    {
        $con = ssh-agent -k;
        $reg = new-object System.Text.RegularExpressions.Regex("echo (.*)");
        echo $reg.Match($con).Groups[1].value;
        Remove-Item env:SSH_AUTH_SOCK
        Remove-Item env:SSH_AGENT_PID
        return;
    }else{
        $con = ssh-agent -c;

        $reg = new-object System.Text.RegularExpressions.Regex("SSH_AGENT_PID (\d+)");
        New-Item env:SSH_AGENT_PID -value $reg.Match($con).Groups[1].value | Out-Null;

        $reg = new-object System.Text.RegularExpressions.Regex("SSH_AUTH_SOCK (/tmp/ssh-\w+/agent\.\d+)")
        New-Item env:SSH_AUTH_SOCK -value $reg.Match($con).Groups[1].value | Out-Null;

        $reg = new-object System.Text.RegularExpressions.Regex("echo (.*)");
        echo $reg.Match($con).Groups[1].value;
        return;
    }
}

eval したときと同じように環境変数を設定する。

-k でプロセスの削除

2007-08-30 Thu

windows でも ssh-agentが使える。

windows のシェルでも環境変数を指定すれば使うことができる。

ssh-agent cmd

で呼び出す方法ではコンソールがおかしい。

リポジトリへのコミット

svn+ssh でするようにした。
http はチェックアウトのみ。

ログインできない

/etc/passwd のログインシェルを変更した。

ログインできなくなった。

ぎゃー

Windows 版の Subversion を入れている環境で、svn+ssh スキームで接続する。

現象
Windows 版の Subversion で svn+ssh スキームで接続できない。

環境
Windows 版 Subversion
Cygwin 版 OpenSSH

原因
svn+ssh スキームでの接続では、SSH 接続後、svnserve を起動している。
この時、 Cygwin 版が導入されていないと、windows 版が起動してしまう。
bash で Windows 版はメッセージが文字化けを起こす。

解決方法
Cygwin 版の svnserve を起動できるようにする。

メモ
ログインシェルを cmd.exe に変更する方法はどうだろう?
こうすると Windows 版でもよさそうな気がする。

Windows 版の OpenSSH を入れるのもよさそうだ。

Referrer (Inside): [2007-10-07-1]

2007-08-29 Wed

Restart-Service

blogの調整

#本当はGet-service | ? {$_.Name -eq 'W3SVC'} | % $_.Restart() みたいにしたいけど、リスタートがない+Stop() & Start()ではどうも非同期に要求が完了しちゃうので、だめぽということで。

Restart-Service が使えそう。

Restart-Service 'W3SVC'

これも「非同期に要求が完了しちゃう」のかな?

2007-08-28 Tue

PowerShell と cygwin

PowerShell を cygwin のシェルの代わりに使うと楽しそうだ。

Bookmark

UTF-8 化した cygwin の話が載っている。
20. UTF-8 Cygwin

2007-08-27 Mon

VNC over SSH

SSH 上で VNC を使うには、ポート転送をするといい。

TeraTerm を使う方法があるが「ソケットの初期化失敗」
の意味のメッセージが出てポート転送ができない。

そこで OpenSSH の ssh でポート転送を行う。

ssh -L 5901:example.com:5901 foobar@example.com

2007-08-26 Sun

Cygwin を導入した。

Cygwin を入れて SSH もいれた。

設定をもう少し調べないと
リモートアクセスに不安がある。

エディタはデフォルトでインストールされない。
vim を入れた。

OpenSSH と Cygwin

Windows 版 OpenSSH は Cygwin 上で動いている。
Windows 版のバイナリでインストールすると cygwin.dll が入る。

Bookmark

Cygwin に関する情報
Project HeavyMoon

2007-08-25 Sat

部屋にバッタがいた

ぎゃー

Todo

SSH 環境作成
SSL 環境作成
サーバ再構築

2007-08-24 Fri

PowerShell でフィボナッチ2 [PowerShell]

function fib{param($x)
    if($global:m.$x -isnot [int]){
        if($x -le 1){
            $global:m += @{$x = 1}
         }else{
            $global:m += @{$x = (fib ($x - 1)) + (fib ($x - 2))}
         }
     }
     return $global:m.$x
}

メモ化してみた。
ハッシュ $m を作成してから、実行する。

$m = @{}
fib 40
165580141

fib 47 以上だとエラーが出る。

2007-08-23 Thu

関数を定義する関数 [PowerShell]

関数内で global: をつけて関数を定義する。

PowerShell でフィボナッチ [PowerShell]

function fib {
    param([int]$x)
    if($x -le 1)
    {
        return 1
    }else{
        return (fib ($x - 1)) + (fib ($x - 2))
    }
}

fib 30 を呼び出したら戻ってこない…35分かかった。

PowerShellが楽しい。 [PowerShell]

PowerShell をインストールしました。
かなり楽しい。
GUI より CUI の方がコンピュータを操っている感じが強い。

PowerShell をインストールした時点では、スクリプトが動作しない。

set-executionpolicy remotesigned

このコマンドを入れるとスクリプトを動かせる。

プロファイルを作成していないと、
エイリアスや関数と変数が保存されない。

new-item -path $profile -itemtype file -force

このコマンドでプロファイルが作成される。

function で定義する関数が今までのバッチファイルのようなもの。

参考
Windows PowerShell でのスクリプティング

2007-08-22 Wed

xerces をビルド

問題なくビルドができた。

ICU は icu4c-3_8_d01-src.zip でビルドした。

参考
Xerces使おう

2007-08-20 Mon

ICU のビルド失敗の原因

ICU を入れようと思って icu4c-3_6-src.zip をダウンロードしてきた。

readme を見ながら VS2005 でビルドしました。

未解決の外部参照が大量に出ました。

プロジェクトのプロパティを見たら「追加の依存ファイル」に一つも入ってない。
allinone.sln が間違ってるような?

make でやるとうまくビルド出来そう。

icu4c-3_8_d01-src.zip をダウンロードしてきて比較しました。
同じく「追加の依存ファイル」に一つも入ってない。
コマンドラインを見るとライブラリの指定が追加されている。

やっぱり icu4c-3_6-src.zip には追加するべきライブラリの指定が入ってなかった。

プロジェクトの依存関係も不完全だった。
i18n のビルドの前に common をビルドしなければならない
common のビルドで作成されたライブラリをリンクしなければならない。

2007-08-18 Sat

chalow 更新したものだけ出力

chalow は更新したエントリーのみを出力することができない。
指定日までを出力するか、全部出力する仕様になっている。

chalow の出力ファイルを subversion で管理すると内容が変更されたものだけ出力することができる。

次の方法で実現できた。

実行時間で内容が変化しないように chalow を修正する。
cl.conf のテンプレート内の最終更新時間を削除
chalow の RDF <dc:date> を削除

出力データのリポジトリ作成する。
出力データをインポートする。
2種類のフォルダにチェックアウト
chalow を実行し、出力データをコミット
別フォルダで update する。

後は、 update コマンドで更新されたファイルのみを、
サーバへアップロードすればいい。

RDF <dc:date> を削除するとまずいか?
cl.conf 内の最終更新日は subversion のキーワード置換を使うといいかも。

subversion をリモートアクセスできるようにしてみる

http でアクセスできるように apache を設定する。

mod_dav_svn.so を apache の modules ディレクトリにコピーする
LoadModule dav_module modules/mod_dav.so コメントをはずす
LoadModule dav_svn_module modules/mod_dav_svn.so を
LoadModule dav_module modules/mod_dav.so より後ろに追加

単一のリポジトリを使う場合

<Location /svn/repos>
    DAV svn
    SVNPath /absolute/path/to/repository
</Location>

複数のリポジトリを使う場合

<Location /svn/repos>
    DAV svn
    SVNListParentPath on
    SVNParentPath /absolute/path/to/repository
</Location>

/absolute/path/to/repository の下に複数のリポジトリを作成する

このままだと読み書きが自由に行われるので、
apache の認証を設定する。

DB のバージョンの違いで問題が発生するかもしれない。
libdb をコピーするように書いてあるドキュメントがある。

公式のインストールのドキュメントは mod_dav.so を静的に組み込む方法で書いてある。

参考
TortoiseSVN
daily dayflower
Subversionのインストールと設定(Apache編)
Subversion メモ

2007-08-17 Fri

subversion を入れてみる

subversion インストールするログ

現在の最新バージョンは 1.4.4
公式サイトからダウンロードしてくる。…どれを?

svn-1.4.4-setup.exe でインストールしてみる。

apache.exe の場所を聞かれる。
apache が 2.2 だからか

apache 2.2 用のバイナリに -setup.exe がない。
手動ですか?

zip からインストール
svn-win32-1.4.4.zipをダウンロード
svn フォルダに解凍

環境変数
解凍先の bin フォルダにパスを通す。
APR_ICONV_PATH に解凍先のiconv フォルダを指定。

参考
公式サイト
インストール方法
解説書の日本語訳
ソースコード管理システムSubversionを使ってみました
Subversionの基礎練習

2007-08-16 Thu

W3C Markup Validator で Bad hostname

W3C Markup Validator でサイトをチェックしたら Bad hostname が出た。
バーチャルホスト上の別サイトは問題がなかった。
何が原因だろうか?

ログに接続の形跡がないので、
W3C Markup Validator が名前解決できないのが原因だろう。

DNS が原因か?
W3C CSS Validator は正しく動作する。
Another HTML-lint も正しく動作する。
DNS が原因でないようだ。

W3C Markup Validator のバージョンアップが関係している?

なぜか直った。

タフブック最高

タフブックを使い始めて1週間たった現在の感想。

タッチパネル最高。
ハードディスクの容量が少ない。

ハードディスクは 120G に交換した。

2007-08-15 Wed

みんなのGOLF5

練習コースにいろいろな物が置いてある。
バケツやドラム缶。

無風状態。
キャラ ジャスミン スタンダード

バケツの中に入れるには sw で 65% 位で打つ。
ドラム缶の中に入れる sw で 55%
カップめんの中に入れる sw バックスピン 9%

2007-08-08 Wed

タフブックを買いました

オークションで CF-28 を買った。
OSのインストール。
USB から起動しない。
起動ディスクを作る。
Windows XP のインストール用起動ディスクを入手する方法を参照
これで作ったディスクが起動しない…ディスクが壊れていた。
回復コンソールからUSB CD-ROM ドライブ内のメディアが見れた。
インストールを開始することができた。3時間経過した。

2007-08-07 Tue

xhtml 1.1 に対応の chalow

chalow を xhtml 1.1 に対応させた。

2007-08-06 Mon

windows 版バイナリには、 mod_filter が存在しない。 [Apache]

apache 2.2.4 windows 版バイナリには、 mod_filter が存在しない。
自分でコンパイルしないといけないようだ。

2007-08-03 Fri

XHTML の MIME [Apache]

XHTML の MIME は application/xhtml+xml
XHTML の 拡張子 は .xhtml で登録されている。

Content-Type は application/xhtml+xml でレスポンスがある。

IE は XHTML の MIME を認識しないので表示できない。
IE に HTML の MIME で送信すると表示できる。

mod_rewrite で書き換える方法が見つかる。

mod_rewrite を使う場合

    <FilesMatch "\.xhtml\.?">
        Options FollowSymLinks 
        RewriteEngine On
        RewriteCond %{HTTP_ACCEPT} !application/xhtml\+xml
        RewriteRule .* - "[T=text/html]"
    </FilesMatch>

mod_rewrite だと期待した動作をする。

mod_rewrite を使わない設定だと、

    <FilesMatch "\.xhtml$">
        SetEnvIf Accept "application/xhtml\+xml" ACCEPT_XHTML
        Header set Content-Type text/html env=!ACCEPT_XHTML
    </FilesMatch>

で出来そうだが Content-Type がセットできない。
Content-Type をセットした後に上書きされている気がする。

過去ログ

2011 : 01 02 03 04 05 06 07 08 09 10 11 12
2010 : 01 02 03 04 05 06 07 08 09 10 11 12
2009 : 01 02 03 04 05 06 07 08 09 10 11 12
2008 : 01 02 03 04 05 06 07 08 09 10 11 12
2007 : 01 02 03 04 05 06 07 08 09 10 11 12