2011年12月1日木曜日

dll の場所

ばかのひとつおぼえ

みたいに,こんな風に書いてたの。

Public Shared Function ApplicationPath() As String
  Return System.IO.Path.GetDirectoryName( _
      System.Reflection.Assembly.GetEntryAssembly().Location)
End Function

dll のときは

exe のとなりにおいてるときには問題ないんだろうけれど,dll ディレクトリにまとめて~,とかやってるとダメ。そんなときは,

System.Reflection.Assembly.GetExecutingAssembly().Location)
とするみたい。

りんく

現在実行しているDLLのパスを取得する。(GetExecutingAssembly ) - tekkの日記 C#,VB.NET

2011年10月11日火曜日

Aptana:タスクが文字化け

ことのおこり

コメントに日本語なんて使っちゃいけなかったんだ……。

ちょうさ

TODO を Aptana のワークスペースで検索してみると,workspace\.metadata\.plugins\org.eclipse.core.resources\.projects\projectname\.markers ファイルがあやしい。さくっと削除してみて再起動。

このままだと文字化けしたまま復活してくるので,Aptana と同じディレクトリにある AptanaStudio3.ini に以下を追加。

-Dfile.encoding=utf-8
これでなおるっぽいよ。
.markersをさくっと削除した副作用は知らないので,your own risk でね)

Aptana はソフトのメニューからアップデートしようね,ってお話

きょうのやらかし

Aptana のアップデートを,前のバージョンをアンインストールしてから行ったらプラグインが消えてた…。 って,前回の時点で初めてでなくって,こんなぢぶんを信用して記録に残しておいたんだと思うんだ。過去のあたし,ぐっじょぶ!

そうそう,Aptana は 3.0.5 になったらしいよ。

2011年8月18日木曜日

Firefox のプロファイルをいぢる

ぴーおぷしょん

Windows なら,コマンドプロンプトで,

>firefox.exe -p
すればいろいろいぢれる。(多分パスが通ってないからがんばってね)

実際には %USERPROFILE%\Application Data\Mozilla\Firefox\profiles.ini を適切に書けばいいんだけれども。

てきせつにかいてみた

プロファイル名を Firefox6.0 としたけれども,思い立って Firefox6 に変えたくなって,ディレクトリをリネームして,profiles.ini も適切に変更したの。

…アドオンたちが「(アドオン名)は Firefox6.0 と互換性がありません。」って。全部ではないけれど,半分くらい。

「今すぐ更新を確認」したらなおった。また再インストールかと思ってあせったんだよ……

Firefox のアドオンの,互換情報を上書きする

ことのおこり

Firefox6 に,まちがってばーじょんあっぷしたんだよ……。

てじゅん

  1. アドオンを,右クリックして「名前をつけて保存」してダウンロードする。
  2. ファイルの拡張子をzipにする。
  3. アーカイブから install.rdf を取り出す。
  4. <em:maxVersion>部分をよきにはからう。 とりあえず今回は 6.* とでもしとけばいいよ
  5. install.rdf(改造済み) をアーカイブに戻し,拡張子を xpi に戻す
  6. Firefox にたべさせる

2011年8月16日火曜日

Aptana に Subversion クライアント プラグイン その 2

えら~w

前回のままだとこんなエラーが。

すべてのリソース取得操作に失敗しました。
Selected SVN connector library is not available or cannot be loaded.
If you selected native JavaHL connector, please check if binaries are available or install and select pure Java Subversion connector from the plug-in connectors update site.
If connectors already installed then you can change the selected one at: Window->Preferences->Team->SVN->SVN Connector.

と同時に「コネクターのインストール」とかいうウインドウが開いてくれる親切っぷり。Subversion は 1.6系のはずなので,SVN Kit 1.3.5 でいいらしいよ。Native JavaHL とやらは選ばなくていいって(なぜかは知らない)。

変更ありとか,リビジョン番号とか

がなぜがアイコンに表示されなくなった。2時間ほど悩んでいたけど,ここっぽいよ。設定の,「一般」 → 「外観」 → 「ラベル装飾」 の,「SVN」

Aptana に Subversion クライアント プラグイン とか, zen-codeing プラグイン とか

きょうのやらかし

Aptana のアップデートを,前のバージョンをアンインストールしてから行ったらプラグインが消えてた…。

Subversion くらいあんと

Pleiades - Eclipse プラグイン日本語化プラグイン でにほんごかしてるよ~。

  1. 「ウインドウ」 → 「設定」
  2. 「インストール/更新」 → 「使用可能なソフトウェア・サイト」を選んで,Eclipse Helios Update Site にチェック
  3. 戻って,「ヘルプ」 → 「新規ソフトウェアのインストール」
  4. 「作業対象」のコンボボックスから Eclipse Helios Update Site を選び,「フィルター入力」に SVN と入力。検索(?)が思いっきり遅い…。
    「Subversive SVN チーム・プロバイダー」とやらにチェック
  5. 何回か次へを選んで再起動

zen-coding

そういえばこれも試しに入れてたっけ。使いこなせてないけれど,ふとしたときにあると便利くらいには使っているかも。

  1. 使用可能なソフトウェアで,サイトを追加
  2. 名前は何でも。ロケーションに http://zen-coding.ru/eclipse/updates/
  3. 「Zen Coding for Eclipse」にチェック
  4. 何回か次へを選んで再起動

2011年8月9日火曜日

Subversion:commit も update もできないんだよ

今日のやらかし

Subversion さんがごきげんななめ。

REPORT (URL: '/svn/repos/!svn/vcc/default'): Could not read chunk size:
connection was closed by server (http://svn.example.local)

ぐぐる

「subversion エラー could not read chunk size」でぐぐるといきなり SVNがらみ - PukiWiki(AkiWiki) がヒット。

REPORT (URL: '/svn/hogehoge/hogehoge'): Could not read chunk size:
Secure connection truncated (https://some.where.repository.jp/ )

チェックアウトしなおしですか…。まあ,今回のタイミングでは,損害無しなのでいいんだけれど。

2011年8月5日金曜日

CSS で画像を透明にしたり,マウスオーバーでまた表示させたり

ついざ~ど

Twizard(ツイザード) とかいうサービスがあって。マジックタイムラインとやらを育ててみたくなって。

すたいりっしゅ

FirefoxStylish にこんなコードを書いてみたり。

@namespace url(http://www.w3.org/1999/xhtml);
@-moz-document domain("twizard.net") {
  body {
    background-image: none !important;
  }
  header {
   display: none !important;
  }
  div#prof dt.fl img,
  .tweetBoxUserImage img,
  .profileImage img {
    opacity:0 !important;
  }
  div#prof:hover dt.fl img,
  .tweetBoxUserImage:hover img,
  .profileImage:hover img {
    opacity:1 !important;
  }
}

2011年8月2日火曜日

へーへーへー(swfでなくてflvのとき)

あらすじ

へーへーへーのつづきなんだけど。

flvファイルは?

DreamWaverくんにお願いしたらものすごくごてごてしたものを書いてくれたけれども,前回の経験を生かすと……。

<object type="application/x-shockwave-flash" data="FLVPlayer_Progressive.swf" width="422" height="277" />
  <param name="movie" value="FLVPlayer_Progressive.swf" />
  <param name="FlashVars" value="MM_ComponentVersion=1&amp;skinName=Clear_Skin_3&amp;streamName=flv/flash_movie1&amp;autoPlay=true&amp;autoRewind=false" />
</object>

ファイルの場所は?

  • <object data="..." ...<param name="movie" value="..." は,html ファイルから見たパス。
  • <param name="FlashVars" value="..." の,skinName=... は,html ファイルから見たパス。
  • <param name="FlashVars" value="..." の,streamName=... は,<object data="..." ファイルから見たパス。

なんか skinName が納得できない…。

りんく

結局SWFObjectとやらはまったく使わなくなっちゃったんだけど,このあたりをぐるぐるしてた。

2011年7月19日火曜日

へーへーへー

たんとうちょくにゅうに

これでいいの?

<object data="movie/something.swf"
        type="application/x-shockwave-flash"
        width="400" height="300">
  <param name="movie" value="movie/something.swf" />
</object>

結局こんな風に使ってみたの。

<object data="movie/something.swf"
        type="application/x-shockwave-flash"
        width="400" height="300"
        title="movie">
  <param name="movie" value="movie/something.swf" />
  <param name="quality" value="high" />
  <param name="play" value="true" />
  <param name="loop" value="true" />
</object>

りんく

という訳で,flash を XHTML で Valid にするときには embed 要素使えないよね~,ってお話。

2011年7月11日月曜日

Aptana で えらーえらーえらー

ことのおこり

Aptana (そして Pleiades - Eclipse プラグイン日本語化プラグイン - MergeDoc Project )っていう素敵なソフトがあるんだけど。なんだか嫌われているらしくって,

replacing illegal character code 128
ってエラーが延々と…。

ぐぐる

replacing illegal character code 警告を抑止する - Aptana - centromezzo wiki ここがそのものずばりかも。場所は微妙に違ってて,Window → 設定 → Aptana → 検証 で HTML 選んで,フィルタに

replacing illegal character code \d+
とでも書いておけばおけ。

2011年7月5日火曜日

adm ファイルをつくるよ

ことのおこり

これだ~!こいつだ~!!

たいおうほうほう

ってのが,

  1. ネットワーク上のファイル共有からローカルに XLS ファイルをコピーしてから開く
  2. Microsoft Office File Validation Add-in を無効化する EnableOnLoad レジストリを設定する
  3. Excel 2007 または Excel 2010 を使用する
ってのはどうかとおもうんだよ。

グループポリシーで展開する

要は,HKEY_CURRENT_USER\Software\Policies\Microsoft\Office\11.0\Excel\Security\FileValidationEnableOnLoad0 を設定してあげればいい。

こんな感じでテンプレートを作ってしまえばいいよ。

CLASS USER
CATEGORY !!PCATEGORY
    POLICY !!PPOLICY
        KEYNAME "Software\Policies\Microsoft\Office\11.0\Excel\Security\FileValidation"
        PART !!PPART
            CHECKBOX
            VALUENAME "EnableOnLoad"
            VALUEON NUMERIC 1 DEFCHECKED
            VALUEOFF NUMERIC 0
        END PART
        EXPLAIN !!PEXPLAIN
    END POLICY
END CATEGORY
[strings]
PCATEGORY="Microsoft Office Excel 2003"
PPOLICY="セキュリティ"
PPART="Office ファイル検証 を行う"
PEXPLAIN="Office ファイル検証機能を有効化します。\n\n Microsoft Office File Validation Add-in (OFV: Office ファイル検証機能) が有効な Office 2003 環境で、ネットワーク上のファイル共有から XLS ファイルを開く時、ファイルが開かれるまでに時間がかかります。OFV を無効化するときにはチェックをはずします。\n\n Office File Validation (OFV) アドインがインストールされた Excel 2003 でネットワーク上のファイル共有から XLS ファイルを開く時に時間がかかる - http://support.microsoft.com/kb/2575312/ja"

ADMスクリプト作成フォームであらかた作って,後は微調整。

  • VALUENAME は,VALUEONVALUEOFF の前に。
  • [strings] 以下は,= の前後にスペースがあっちゃだめ。

りんく

2011年6月27日月曜日

コマンドプロンプト の RANDOM

ことのおこり

60台ほどの PC にちまちま再起動するタスクを登録したんだけれど,みんなおんなじ時間に再起動しちやうからちょっと幅を持たせたいなって。

RANDOM のつかいかた

%RANDOM%すればいいんだけれど…。

ぐぐる

教えて!Ziddyちゃん - WindowsのRANDOM関数を用いたバッチファイル なるページを発見。実験してみましょう…。

まずはコード。

test.cmd
@for /L %%I in (1,1,100) do @cmd /c rand.cmd
rand.cmd
@ECHO %TIME% %RANDOM% %RANDOM%
@for /L %%I in (1,1,300) do @DIR > NUL

そして,実行結果。

>test.cmd
17:24:13.66 280 7936
17:24:13.88 280 7936
17:24:14.11 284 18684
17:24:14.35 284 18684
17:24:14.56 284 18684
17:24:14.80 284 18684
17:24:15.02 287 29432
17:24:15.25 287 29432
17:24:15.49 287 29432
17:24:15.71 287 29432
17:24:15.94 287 29432
17:24:16.17 290 7413
17:24:16.39 290 7413
17:24:16.63 290 7413
17:24:16.85 290 7413
17:24:17.08 293 18161
17:24:17.31 293 18161
17:24:17.53 293 18161
17:24:17.77 293 18161
17:24:18.00 297 28910

 :

17:24:31.77 339 4799
17:24:32.00 342 15547
17:24:32.22 342 15547
17:24:32.44 342 15547
17:24:32.69 342 15547
17:24:32.91 342 15547
17:24:33.14 346 26296
17:24:33.38 346 26296
17:24:33.60 346 26296
17:24:33.81 346 26296
17:24:34.05 349 4276
17:24:34.27 349 4276
17:24:34.50 349 4276
17:24:34.74 349 4276
17:24:34.97 349 4276
17:24:35.19 352 15024
17:24:35.42 352 15024
17:24:35.66 352 15024
17:24:35.89 352 15024
17:24:36.11 355 25773
17:24:36.35 355 25773
…つかえない。

2011年6月21日火曜日

シェルスクリプトと相対パスとシンボリックリンク

シェルスクリプトと相対パスとシンボリックリンク

ことのおこり その 1

シェルスクリプト内に相対パスばりばり書いちゃってはまって。

ぐぐる

こんなページを発見。

こんな感じかな~?
ABS_DIR=`cd \`dirname $0\` && pwd`
 
. ${ABS_DIR}/../etc/hogehoge

ことのおこり その 2

作ったシェルスクリプトのシンボリックリンクを作って実行!

…あれ?

ぐぐる

こんなサイトを発見。

こんな感じ?
if [ -L $0 ]; then
        ABS_DIR=`cd \`dirname \\\`readlink -f $0\\\`\` && pwd`
else
        ABS_DIR=`cd \`dirname $0\` && pwd`
fi
 
. ${ABS_DIR}/../etc/hogehoge

きょうくん

  • シェルスクリプトに相対パスを書かない。
  • シェルスクリプトをシンボリックリンクにしない。

ProFTPd の DisplayFirstChdir ディレクティブ

logcheck さんからおてがみ

Jun 21 12:00:00 ftp-sv proftpd[xxxx]: warning: the DisplayFirstChdir directive is deprecated and will be removed in a future release.  Please use the DisplayChdir directive.
意訳:それってじだいおくれだよ♪

ぐぐる

便利な世の中だよね。

DisplauFirstChdir の昔の挙動が欲しい場合,オプション "true" を使用して下さい.
という訳で,こんな感じに変更でいいのかな?
--- proftpd.conf.org    2007-05-17 18:21:27.000000000 +0900
+++ proftpd.conf    2011-06-21 09:30:11.000000000 +0900
@@ -22,7 +22,7 @@
 TimeoutIdle    1200

 DisplayLogin    welcome.msg
-DisplayFirstChdir    .message
+DisplayChdir    .message true

 ListOptions    "-al"

 DenyFilter    \*.*/

2011年6月14日火曜日

チャーハン諸島のポータブル化

ちゃ~はん!

Twitter クライアント「チャーハン諸島」 - ぐま あーかいぶ って素敵なソフトがあるんだけれども,要Java なんだよね~。でも,ラーメン大陸も .net4.0(3.5?)いるしね~

jPortable

PortableApps には,jPortable - portable Java® runtime environment なんてものがあるんだよ。さっそくインストール。

ちゃーはんのさぎょう

rice_win を,P:/PortableApps にほうりこんで,rice.exe のとなりに rice_run.cmd …名前は何でもいいんだけれど… を作るよ。

SET PATH=..\CommonFiles\Java\bin\client
START rice.exe
あとは,このバッチをたたいてあげればおけ。

GIMPPortable で eps ファイルを開く そのに

どらいぶれたー

を書くなんて,すまーとぢゃないよね。

GIMPPortable.ini

GIMPPortable\Other\Source には GIMPPortable.ini ってファイルがある。くわしくは同じディレクトリにある Readme.txt を読んでもらうとして。

この GIMPPortable.iniGIMPPortable …ええと,GIMPPortable.exe のあるディレクトリにコピーして編集。

--- P:/PortableApps/GIMPPortable/Other/Source/GIMPPortable.ini    Tue Aug 26 03:25:22 2008
+++ P:/PortableApps/GIMPPortable/GIMPPortable.ini    Tue Jun 14 18:27:02 2011
@@ -2,7 +2,7 @@
 GIMPDirectory=App\gimp
 GTKDirectory=NONE
 SettingsDirectory=Data\settings
-GIMPExecutable=gimp-2.4.exe
+GIMPExecutable=..\..\..\gimpportableRun.cmd

 AdditionalParameters=

 # This is an example INI and will not work from it's present location.

gimpportableRun.cmd

GIMPPortable.ini と同じディレクトリに,gimpportableRun.cmd を作成。

SET GS_PROG=..\..\..\..\CommonFiles\GhostScript\gs9.02\bin\gswin32.exe
SET GS_DLL=..\..\..\..\CommonFiles\GhostScript\gs9.02\bin\gsdll32.dll
SET GS_LIB=..\..\..\..\CommonFiles\GhostScript\gs9.02\Resource\Init;..\..\..\..\CommonFiles\GhostScript\gs9.02\Resource;..\..\..\..\CommonFiles\GhostScript\gs9.02\lib;..\..\..\..\CommonFiles\GhostScript\gs9.02\kanji;..\..\..\..\CommonFiles\GhostScript\fonts;C:\WINDOWS\fonts
 
START gimp-2.6.exe
カレントディレクトリが GIMPPortable\App\gimp\bin なもんだから,なんだかそうぜつだねぇ。

あとはいつもどおり,GIMPPortable.exe を起動すればいいよ。

GIMPPortable で eps ファイルを開く

ことのおこり

GIMP には Portable なのがここにある。

これで eps ファイルを開くときには……。

せんじんたち

GIMP Portableでepsやaiファイルを開く -GhostScriptとGSviewをポータブル化 /AGPP といったお方もおられるけれども,なんかすまーとではないよね?

ひとつめのはっけん

ぐぐってるとこんなリンクを発見。

GIMPPortable\App\gimp\lib\gimp\2.0\environ\default.env

ふたつめのはっけん

Ghostscript 9.02 and GSview 4.9 J ここから Ghostscript をダウンロード。まずは実際にローカルにインストールしてみるよ。uninstal.txt なるファイルができてる。…なんかレジストリにかきこんでるね。

default.env

に設定を書き加えてみる。ってあとでわかったことだけど,GIMPPortable\App\gimp\lib\gimp\2.0\environ にあるファイルはなんでも (?) 読み込んでくれるみたいなので,新たなファイル ghostscript.env として。

GS_PROG=P:\PortableApps\CommonFiles\Ghostscript\gs9.02\bin\gswin32.exe
GS_DLL=P:\PortableApps\CommonFiles\Ghostscript\gs9.02\bin\gsdll32.dll
GS_LIB=P:\PortableApps\CommonFiles\Ghostscript\gs9.02\Resource\Init;P:\PortableApps\CommonFiles\Ghostscript\gs9.02\Resource;P:\PortableApps\CommonFiles\Ghostscript\gs9.02\lib;P:\PortableApps\CommonFiles\Ghostscript\gs9.02\kanji;P:\PortableApps\CommonFiles\Ghostscript\fonts;C:/WINDOWS/fonts
USB メモリは P ドライブ固定なの。

Ghostscript のはいち

P:\PortableApps\CommonFilesGhostscript ディレクトリほって,ダウンロードしてた Ghostscript 解凍してその中の gs9.02 ディレクトリをほおりこんでおく。

2011年6月12日日曜日

見えてない

ことのおこり

のに気づいたの。blockquoteoverflowhidden っぽいの。

やったこと

blockquote で検索したんだけど overflow は定義されてなくって,とりあえず auto にしておいたよ。

Firefox では scroll,Chrome だと…,折り返し?

2011年6月7日火曜日

Debian な MySQL には

/etc/mysql/debian.cnf というファイル

…があって,中身はこう。

# Automatically generated for Debian scripts. DO NOT TOUCH!
[client]
host     = localhost
user     = debian-sys-maint

password = ぱすわぁど
socket   = /var/run/mysqld/mysqld.sock
[mysql_upgrade]
host     = localhost

user     = debian-sys-maint
password = ぱすわぁど
socket   = /var/run/mysqld/mysqld.sock

basedir  = /usr
で,こんな風につかうといいらしいよ。

ためしてみる

かかれている通りに試してみる。

$ sudo mysqldump --defaults-file=/etc/mysql/debian.cnf --all-databases > backup.sql
mysqldump: Couldn't execute 'show create table `viewのなまえ`': SHOW VIEW command denied to user 'debian-sys-maint'@'localhost' for table 'viewのなまえ' (1142)
…あれ?

ぐぐる

…までもなく権限不足なんだろうけれども,ぐぐると「バグだ!」とか何とかいってるような…。

mysql> GRANT SHOW VIEW ON *.* TO 'debian-sys-maint'@'localhost';

Query OK, 0 rows affected (0.00 sec)
してあげればいいみたい。

めったに起動しない VMware 上の Debian Squeeze の logrotate

ことのおこり

未だに /etc/logsyslog.1 が現れないので不安になって。

たぶんこう

logrotate くんは,/etc/cron.daily/logrotate で動いていて,cron.daily って /etc/crontab

# /etc/crontab: system-wide crontab
# Unlike any other crontab you don't have to run the `crontab'
# command to install the new version when you edit this file
# and files in /etc/cron.d. These files also have username fields,
# that none of the other crontabs do.
 
SHELL=/bin/sh
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
 
# m h dom mon dow user  command
17 *    * * *   root    cd / && run-parts --report /etc/cron.hourly
25 6    * * *   root    test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cro
n.daily )
47 6    * * 7   root    test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cro
n.weekly )
52 6    1 * *   root    test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cro
n.monthly )
#
ええと, 6:25 に動くことになっているのかな?

…そんな時刻には起動していないのである。

手動くーろん

くーろんって呼ぶよね?呼ぶよね?

閑話休題。まずは直接コマンド打ってみましょう。どうせ cron.daily 自体が動いていないのだから……。

$ sudo run-parts --report /etc/cron.daily
ん゛~。/var/log/syslog.1 が出来ないよ?

いぢったものたち

/etc/logrotate.conf

…はこんな感じ。

# see "man logrotate" for details
# rotate log files weekly
weekly
 
# keep 4 weeks worth of backlogs
rotate 4
weekly といっておられる部分を daily に変更。 daily なら 28 日かな~?

/var/lib/logrotate/status

Debian ではここみたい。ぐぐってると /var/lib/logrotate.status ってあるとこが多いけれど。これを昨日にしちゃえばいいのかな?

けっか

もういちど手動くーろんかましたら syslog.1 できました。

…ここまで書いているうちに,anacron とやらを発見。これ入れときゃいかったんでは……。

open-vm-tools とやら

ことのおこり

vmware-tools インストールしなきゃな~。一回だけのことだから憶えられないんだよ…。といつものごとくぐぐっていると,open-vm-tools とやらが目に付いた。Debian 6 Squeeze なら簡単インストール?

さぎょう

どうやら contrib らしいので,/etc/apt/sources.list を編集。って main のうしろに contrib くっつければいい。vim ならこう。

:%s/main$/main contrib/

続いてインストール。…ええと,新規インストール50個とかいってますね。

$ sudo apt-get update
 :
パッケージリストを読み込んでいます... 完了
$ sudo apt-get install open-vm-tools open-vm-source
パッケージリストを読み込んでいます... 完了
依存関係ツリーを作成しています
状態情報を読み取っています... 完了
以下の特別パッケージがインストールされます:
  autopoint binutils build-essential cpp cpp-4.4 debhelper diffstat dpkg-dev ethtool
  fakeroot g++ g++-4.4 gcc gcc-4.4 gettext git html2text intltool-debian
  libalgorithm-diff-perl libalgorithm-diff-xs-perl libalgorithm-merge-perl libc-dev-bin
  libc6-dev libcroco3 libcurl3-gnutls libdpkg-perl liberror-perl libfuse2 libglib2.0-0
  libglib2.0-data libgmp3c2 libgomp1 libicu44 libmail-sendmail-perl libmpfr4
  libstdc++6-4.4-dev libsys-hostname-long-perl libtimedate-perl libunistring0
  linux-libc-dev make manpages-dev module-assistant po-debconf quilt rsync
  shared-mime-info zerofree
提案パッケージ:
  binutils-doc cpp-doc gcc-4.4-locales dh-make debian-keyring g++-multilib
  g++-4.4-multilib gcc-4.4-doc libstdc++6-4.4-dbg gcc-multilib autoconf automake1.9
  libtool flex bison gdb gcc-doc gcc-4.4-multilib libmudflap0-4.4-dev libgcc1-dbg
  libgomp1-dbg libmudflap0-dbg libcloog-ppl0 libppl-c2 libppl7 gettext-doc git-doc
  git-arch git-cvs git-svn git-email git-daemon-run git-gui gitk gitweb glibc-doc
  fuse-utils libstdc++6-4.4-doc make-doc open-vm-toolbox libmail-box-perl graphviz
以下のパッケージが新たにインストールされます:
  autopoint binutils build-essential cpp cpp-4.4 debhelper diffstat dpkg-dev ethtool
  fakeroot g++ g++-4.4 gcc gcc-4.4 gettext git html2text intltool-debian
  libalgorithm-diff-perl libalgorithm-diff-xs-perl libalgorithm-merge-perl libc-dev-bin
  libc6-dev libcroco3 libcurl3-gnutls libdpkg-perl liberror-perl libfuse2 libglib2.0-0
  libglib2.0-data libgmp3c2 libgomp1 libicu44 libmail-sendmail-perl libmpfr4
  libstdc++6-4.4-dev libsys-hostname-long-perl libtimedate-perl libunistring0
  linux-libc-dev make manpages-dev module-assistant open-vm-source open-vm-tools
  po-debconf quilt rsync shared-mime-info zerofree
アップグレード: 0 個、新規インストール: 50 個、削除: 0 個、保留: 0 個。
48.4 MB のアーカイブを取得する必要があります。
この操作後に追加で 135 MB のディスク容量が消費されます。
続行しますか [Y/n]?

これだけ?

VMware Infrastructure Web Access では VMware Tools が Running になっているから,これでいいんだよね?

2011年5月19日木曜日

バッチファイルの変数にコマンドの実行結果を代入したい

とはいうものの

これ,ふつうにやっても無理なんだね~。SET TempVar=sed s/hoge/foo/ hogera.txt なんてのがうまくいくわけもなく。

ぐうぜんみつけた!

バッチファイル/コマンドの実行結果を変数に入れる方法 - TOBY SOFT wikiというそのまんまなタイトルのサイト。あたしのぐぐりかたが悪いせいで 2日かかったよ。

FOR /F "USEBACKQ TOKENS=*" %i IN (`sed s/hoge/foo/ hogera.txt`) DO @SET TempVar=%i
こんな感じで。バッチファイルの中だったら,%i%%iになるね。

ああそう,sedGnuWin プロジェクト日本語トップページ - SourceForge.JPから探せばいいんぢゃないかな/p>

2011年5月6日金曜日

TraceFileName パラメータ とか,TraceLevel パラメータ とか

ことのおこり

イベントログを見ていたら,アプリケーションでこんな警告が。

ソース イベント ID 説明
EvntAgnt 1003 TraceFileName パラメータがレジストリにありません。 使用した既定のトレース ファイルは です。
EvntAgnt 1015 TraceLevel パラメータがレジストリにありません。 使用した既定のトレース レベルは 32 です。

ぐぐる

evntagnt TraceFileName でぐぐるとすぐにヒット。

…うん,こころあたりが。

2011年4月21日木曜日

Application.Run と Application.ThreadException

まちがい

こんなフォームを作ってエラーを投げます。

Public Class Form1

  Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click

    Throw New IO.FileNotFoundException("ファイルないねん")
  End Sub

End Class
エントリポイントはこれ。
Public Class Program
  <STAThread()> _
  Public Shared Function Main(ByVal CmdArgs() As String) As Integer

    Application.EnableVisualStyles()
    Application.SetCompatibleTextRenderingDefault(False)

    Try

      Application.Run(New Form1())

    Catch ex As Exception
      MessageBox.Show("エラーだよ。" & ex.Message & "なんだって。おわるね。")

    End Try

  End Function
End Class

これ,きゃっちされないんですよ…。

しゅうせい・そのいち

ここを参考に おまじない。

Public Class Program
  <STAThread()> _
  Public Shared Function Main(ByVal CmdArgs() As String) As Integer

    Application.EnableVisualStyles()
    Application.SetCompatibleTextRenderingDefault(False)

    AddHandler Application.ThreadException, AddressOf Application_ThreadException
    AddHandler Threading.Thread.GetDomain().UnhandledException, AddressOf Application_UnhandledException

    Application.Run(New Form1())

  End Function

  Public Shared Sub Application_ThreadException(ByVal sender As Object, ByVal e As Threading.ThreadExceptionEventArgs)
    ShowErrorMessage(e.Exception, "Application.ThreadException をきゃっち!")
  End Sub

  Public Shared Sub Application_UnhandledException(ByVal sender As Object, ByVal e As UnhandledExceptionEventArgs)
    Dim ex As Exception = CType(e.ExceptionObject, Exception)
    If Not ex Is Nothing Then
      ShowErrorMessage(ex, "Application.UnhandledException をきゃっち!")
    End If
  End Sub

  Public Shared Sub ShowErrorMessage(ByVal ex As Exception, ByVal extraMessage As String)
    MessageBox.Show("エラーだよ。おわるね。" & vbCr & extraMessage & vbCr & ex.Message)
  End Sub
End Class
ん,うまくいくみたいだね。

ここからがほんだい

これは……?

Public Class Program
  <STAThread()> _
  Public Shared Function Main(ByVal CmdArgs() As String) As Integer

    Application.EnableVisualStyles()
    Application.SetCompatibleTextRenderingDefault(False)

    AddHandler Application.ThreadException, AddressOf Application_ThreadException
    AddHandler Threading.Thread.GetDomain().UnhandledException, AddressOf Application_UnhandledException

    Application.Run(New Form1())

    Application.Run(New Form2())

  End Function
    :
    :
End Class
Form2 のほうがきゃっちできないんだよ……。

かいけつ

よくわかんないけどこうするといいみたい。

Public Class Program
  <STAThread()> _
  Public Shared Function Main(ByVal CmdArgs() As String) As Integer

    Application.EnableVisualStyles()
    Application.SetCompatibleTextRenderingDefault(False)

    AddHandler Application.ThreadException, AddressOf Application_ThreadException
    AddHandler Threading.Thread.GetDomain().UnhandledException, AddressOf Application_UnhandledException

    Application.Run(New Form1())

    AddHandler Application.ThreadException, AddressOf Application_ThreadException
    AddHandler Threading.Thread.GetDomain().UnhandledException, AddressOf Application_UnhandledException

    Application.Run(New Form2())

  End Function
    :
    :
End Class
…そもそも,Application.Run() がふたつあるのがまちがいらしいんだけど。

VMWare:LSI Logic な SCSI ハードディスク イメージ に WindowsXP SP2 をインストール

こんかいのやらかし

SCSI と IDE では SCSI のほうが速いらしいんですよ。で,Bus Logic と LSI Logic は公式にはパフォーマンスに差はないってことらしいんだけれども,LSI Logic のほうが速い? ってな話が。

ためしてみた

いや,ベンチマークするわけではなくて,ちょうど仮想環境を用意する必要があったんだよ。

ハードディスクを LSI Logic な SCSI で作って,Windows XP をインストール…。

ハードディスクがみつからないそうです…。

ぐぐる

なるほど,ドライバがないのかっ。というわけでダウンロード。なかなか F6 のタイミングが難しいというか,これでいいのか不安になるというか…。

やっぱりハードディスクがみつからないそうです…。

ぐぐる,そのに

なるほど,LSI Logic のドライバはちがうのかっ!というわけでダウンロード。

ちゃんと認識してくれましたよ。

2011年4月20日水曜日

Redmine:ぢつはメールの設定ができていなかった件について

げんしょう

管理 → 設定 → メール通知 の下のほうにある テストメールを送信 をクリックすると,

メール送信中にエラーが発生しました (getaddrinfo: 名前またはサービスが不明です)
などとおっしゃっている。

ぐぐっても…

よくわかんないんだよ。

せってい

conf/email.yml は,ここにあるように conf/email.yml.example をコピーして,15~19行目をコメントアウトしてつくったもの。

げんいん

ぢつは,conf/email.yml.example の 69行目以降にはコメントアウトされていない設定がががが。こんなもん削除っ!!!

そのご

$ sudo /etc/init.d/apache2 restart したらエラーメッセージが

501 Syntactically invalid HELO argument(s)
にかわったけれど,これは conf/email.ymldomain: redmine.example.net みたいなのを入れればだいじょうぶ。

2011年4月8日金曜日

Redmine:まだまだごきげんななめ

ことのおこり

これ。

ろぐ

こんなことを言っておられる。

Processing GanttsController#show to png (for 192.168.0.1 at 2011-04-08 09:43:34) [GET]
Parameters: {"format"=>"png", "month"=>"4", "project_id"=>"projectx", "action"=>"show", "year"=>"2011", "controller"=>"gantts", "months"=>"6", "zoom"=>"2"}

Magick::ImageMagickError (unable to read font `/usr/lib/ImageMagick-6.6.0/config//usr/share/fonts/type1/gsfonts/n019003l.pfb' @ error/annotate.c/RenderFreetype/1044: `(null)'):
lib/redmine/helpers/gantt.rb:507:in `draw'

 :

/usr/lib/phusion_passenger/passenger-spawn-server:61

Rendering /var/www/redmine-1.1.2/public/500.html (500 Internal Server Error)
…フォントが入ってない?

いんすとーる

$ aptitude search gsfont すると,そのまんま gsfonts ってパッケージがあるから,インストールしてみる。

$ sudo aptitude install gsfonts
おおっ,ひょうじできたっ

サーバで X環境全く入れてないからはまるのかしらねぇ…。

2011年4月7日木曜日

Redmine:Subversion に日本語名ファイルを使うと diff 出来ない

はっせいじょうけん

は,%たいとる% のとおりのようですね。日本語でないファイル名ならば diff できるみたいだし。

ろぐには

Shelling out: svn diff -r 161:162 'http://subversion.example.local/svn/repos//'@
162 --username xxxx --password xxxx --no-auth-cache --non-interactive
Rendering template within layouts/base
Rendering common/error (404)

とエラーが出ているけれど,コンソールでコマンド叩いてもちゃんと取得できるんだよね……。なんで?

Subversion はちゃんと日本語ファイルを扱えているってことでいいのかな??

ぐぐるよ~

…といっても,「日本語ファイル名だとリポジトリ表示できない」とか,「…だとダウンロードできない」とか,「…だとこめんとが…」とかばっかりで,どうしたらいいものか……。

Bazaar + Redmineでリポジトリコメントに日本語を表示する - obtdaiの日記 ってのがあったので,まあだめもとで変えてみましょう。/etc/apache2/envvars はこうなっている。

# envvars - default environment variables for apache2ctl

# this won't be correct after changing uid
unset HOME

# for supporting multiple apache2 instances
if [ "${APACHE_CONFDIR##/etc/apache2-}" != "${APACHE_CONFDIR}" ] ; then
        SUFFIX="-${APACHE_CONFDIR##/etc/apache2-}"
else
        SUFFIX=
fi

# Since there is no sane way to get the parsed apache2 config in scripts, some
# settings are defined via environment variables and then used in apache2ctl,
# /etc/init.d/apache2, /etc/logrotate.d/apache2, etc.
export APACHE_RUN_USER=www-data
export APACHE_RUN_GROUP=www-data
export APACHE_PID_FILE=/var/run/apache2$SUFFIX.pid
export APACHE_RUN_DIR=/var/run/apache2$SUFFIX
export APACHE_LOCK_DIR=/var/lock/apache2$SUFFIX
# Only /var/log/apache2 is handled by /etc/logrotate.d/apache2.
export APACHE_LOG_DIR=/var/log/apache2$SUFFIX

## The locale used by some modules like mod_dav
export LANG=C
## Uncomment the following line to use the system default locale instead:
#. /etc/default/locale

export LANG

## The command to get the status for 'apache2ctl status'.
## Some packages providing 'www-browser' need '--dump' instead of '-dump'.
#export APACHE_LYNX='www-browser -dump'

そして /etc/default/locale はこう。

LANG="ja_JP.UTF-8"

というわけで,/etc/apache2/envvars の「あんこめんとしてね」って書いてあるところを変更しましょう。

. /etc/default/locale

そのあと,$ sudo /etc/init.d/apache2 restart もわすれずに。

けっか

ひょうじされたあああ!!! びっくりw

Redmine:ログを見ろといわれたけれど……

ことのおこり

前回,ログを見ろといわれて,確かにそんなログが出てたのに,今出なくなってる……。

こころあたり

Redmine を 1.0.4 から 1.1.2 にあげたんだよね……。で,なんでかな~って見てみると……。

$ ls
delete.me production.log
$ ls -Al
合計 8
-rw-r--r-- 1 www-data www-data 36 2011-03-08 04:44 delete.me
-rw-r--r-- 1 root root 51 2011-04-07 11:57 production.log
んんん?

あ゛~,アップグレードのマイグレーション,$ sudo rake db:migrate RAILS_ENV="production" したんだ! $ sudo -u www-data rake db:migrate RAILS_ENV="production" しなきゃいけないのに。ってわけで,$ sudo chown www-data:www-data redmine/ -R することに。

config.log_level = :debug,尋常でなくログが出るんだけど……。

2011年4月6日水曜日

Redmine:「リポジトリに、エントリ/リビジョンが存在しません。」

げんしょう

リポジトリで,diff をクリックすると「リポジトリに、エントリ/リビジョンが存在しません。」とおっしゃる。

ぐぐる

設定間違いで,リポジトリが全く見れないパターンでの「リポジトリに、エントリ/リビジョンが存在しません。」は見かけるけど……。

こんなのを見つけてみた。Redmine - Defect #7324: Subversion diff gives an error. - Redmine

You should first try to get the log with log_level set to :debug (see config/environment.rb).
はう~

2011年3月31日木曜日

Firefox 4 のアドオンバーの閉じるボタン

ことのおこり

…あれ,間違って閉じません?あたしだけ??

ぐぐる

機能拡張があったような気がしてたんだけれども,違うものを見つけたの。

Firefox 4 アドオンバーの中にリンク先URLの表示を移動させてみた | Firefox Fan Club + More Browsers をまねまね~。

@namespace url(http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul);
/* Firefox 4 アドオンバーの中にリンク先URLの表示を移動させてみた | Firefox Fan Club + More Browsers - http://doheny.blog137.fc2.com/blog-entry-72.html */
/* アドオンバーを閉じるボタンを非表示にする */
#addonbar-closebutton {
  display: none !important;
}
/* アドオンバーの中にリンク先URLを埋め込み */
#main-window:not([inFullscreen]) #statusbar-display {
  margin-top: -17px !important;
  max-width: 80% !important;
}
#main-window:not([inFullscreen]) .statuspanel-label {
  background: transparent !important;
  border: none !important;
}
/* ページ内検索バーを表示の時にもアドオンバー内に表示させる */
#main-window:not([inFullscreen]) #statusbar-display[mirror="true"] {
  position: fixed !important;
  left: -12px !important;
  margin-top: 11px !important;
}

を Stylish に書いておいたの。

2011年3月29日火曜日

Debian Lenny から Squeeze へ - その 8

アップグレード後 その 2

Redmine で,みごとにこれに当てはまってみたり。

--- environment.rb.org 2010-11-28 21:48:46.000000000 +0900
+++ environment.rb 2011-03-29 09:37:29.000000000 +0900
@@ -17,6 +17,18 @@
# Not available
end

+# "version_requirements is deprecated" $X$NBP1~
+if Gem::VERSION >= "1.3.6"
+ module Rails
+ class GemDependency

+ def requirement
+ r = super
+ (r == Gem::Requirement.default) ? nil : r
+ end
+ end
+ end
+end
+
Rails::Initializer.run do |config|
# Settings in config/environments/* take precedence those specified here

Debian Lenny から Squeeze へ - その 7

アップグレード後

MySQL にね,つながんないんだよ…?

かくにん

ろぐをよ~くみると,

$ sudo apt-get dist-upgrade
  :
以下のパッケージは「削除」されます:
irb1.8 libept0 libreadline-ruby1.8 libxcb-xlib0 mysql-server mysql-server-5.0 proftpd
rdoc1.8
以下のパッケージが新たにインストールされます:
  :
  :
libxapian22 lsb-release mime-construct mysql-server-core-5.1 os-prober php5-suhosin
  :
Debian -- squeeze の mysql-server-core-5.1 パッケージに関する詳細 には,
本パッケージはサーバのバイナリを含んでいますが、システムデータベースを構成するのに必要な基盤のすべては含まれていません。
??? mysql-server(-5.1) をいれろってことかな?

まだへん

ろぐがね…。

Mar 28 16:19:32 servername mysqld: 110328 16:19:32 [ERROR] Invalid (old?) table or database name 'tablename1'
Mar 28 16:19:32 servername mysqld: 110328 16:19:32 [ERROR] Invalid (old?) table or database name 'tablename2'
Mar 28 16:19:32 servername mysqld: 110328 16:19:32 [ERROR] Invalid (old?) table or database name 'tablename3'
Mar 28 16:19:32 servername mysqld: 110328 16:19:32 [ERROR] Invalid (old?) table or database name 'tablename4'
2010-06-23 - 知のレバレッジを最大化せよ によると,innodb 使っているときのバグだとか。
mysql> OPTIMIZE TABLE `databasename`.`tablename`;
をちまちま発行していったらエラーは消えた。

まだまだへん

view もエラーでてる。

Mar 28 18:53:30 servername mysqld: 110328 18:53:30 [Warning] View 'databasename'.'viewname1': there is unknown charset/collation names (client: ''; connection: '').
Mar 28 18:53:30 servername mysqld: 110328 18:53:30 [Warning] View 'databasename'.'viewname2': there is unknown charset/collation names (client: ''; connection: '').
SHOW CREATE VIEW して,DROP VIEW して,CREATE VIEW したらなおった。

まだまだまだへん

default-character-set がどうとか。

Mar 28 16:19:31 servername mysqld: 110328 16:19:31 [Warning] '--default-character-set' is deprecated and will be removed in a future release. Please use '--character-set-server' instead.
mysqld は,default-character-set ではなくて,character-set-server をつかうらしいよ。

Debian Lenny から Squeeze へ - その 6

アップグレードのつづき

ssh からつながらなくなった件は,キーボードから Ctrl + Alt + Delete したらなおった(?)

システムのアップグレード

さて。

$ sudo apt-get dist-upgrade
 :
アップグレード: 91 個、新規インストール: 67 個、削除: 8 個、保留: 1 個。
途中でいくつか訊かれたけど,よきにはからっておいた。

保留があったので,もう一回。

$ sudo apt-get dist-upgrade
 :
アップグレード: 1 個、新規インストール: 1 個、削除: 1 個、保留: 0 個。

さいきどう。

$ sudo reboot

Debian Lenny から Squeeze へ - その 5

アップグレードのつづき

必要なファームウェアファイルがなくなっている可能性があります とか言われて…

カーネルと udev のアップグレード のつづき

lennyからsqueezeへアップグレード | ソースコード備忘録Press によると,non-free な firmware をいれるらしいよ。

apt/sources.list を,squeeze main としていたのを squeeze main contrib non-free に変更して,

$ sudo apt-get update
$ sudo apt-get install firmware-realtek

udev もインストール。

$ sudo apt-get install udev

で,再起動。

$ sudo reboot

…ssh,つながんないんだけど。

Debian Lenny から Squeeze へ - その 4

アップグレード

パッケージリストの更新

lenny から squeeze へのアップグレードは,aptitude ではなくて,apt-get が推奨らしいよ。何でかは知らないけど。

$ sudo apt-get update

システムの最小アップグレード

まずはちょっとだけ…。

$ sudo apt-get upgrade
 :
アップグレード: 231 個、新規インストール: 0 個、削除: 0 個、保留: 113 個。
…ちょっと?

カーネルと udev のアップグレード

するんだって。…かえってこなくならないかなぁ?

$ sudo apt-get install linux-image-2.6-amd64
あそうそう,64bit のほうをつかってます。
 ┌--------------------┤ linux-base を設定しています ├--------------------┐
 │                                                                         │
 │ 新しい Linux カーネルバージョンでは、いくつかの PATA (IDE) コントロー   │
 │ ラについて別のドライバを提供します。ハードディスク、CD-ROM、テープデバ  │
 │ イスの名前のいくつかは変更される可能性があります。                      │
 │                                                                         │
 │ 新旧両方のカーネルバージョンで動作させつつ、設定ファイル中でディスクデ  │
 │ バイスを識別するために、デバイス名よりもラベルまたは UUID (固有識別子)  │
 │ を使うことが、現在推奨されます。                                        │
 │                                                                         │
 │ システムの設定を自動更新することを選ばない場合は、次のシステム再起動の  │
 │ 前にあなた自身でデバイス ID を更新する必要があります。さもないと、シス  │
 │ テムは起動不能になってしまうかもしれません。                            │
 │                                                                         │
 │ システム設定のディスクデバイス ID を更新しますか?                       │
 │                                                                         │
 │                 <はい>                            <いいえ>              │
 │                                                                         │
 └-------------------------------------------------------------------------┘
うむ,よきにはからえ。
 ┌--------------------┤ linux-base を設定しています ├--------------------┐
 │                                                                         │
 │ 次のデバイスは UUID またはラベルに割り当てられます:                     │
 │                                                                         │
  :
 │ ディスクデバイス ID の設定変更を適用しますか?                           │
 │                                                                         │
 │                 <はい>                            <いいえ>              │
 │                                                                         │
 └-------------------------------------------------------------------------┘
うむ,よきにはからえ。
 ┌------------┤ linux-image-2.6.32-5-amd64 を設定しています ├------------┐
 │                                                                         │
 │ 必要なファームウェアファイルがなくなっている可能性があります            │
 │                                                                         │
 │ このシステムは現在 Linux 2.6.26-2-amd64 を実行しており、                │
 │ Linux 2.6.32-5-amd64 をインストールしようとしています。新しいバージョ   │
 │ ンでは、このシステムで使われるドライバのいくつかは追加のファームウェア  │
 │ ファイルを必要とするかもしれません:                                     │
 │                                                                         │
 │ r8169: rtl_nic/rtl8168d-2.fw, rtl_nic/rtl8168d-1.fw                     │
 │                                                                         │
 │ ほとんどのファームウェアファイルは、Debian フリーソフトウェアガイドラ   │
 │ インに合致しないため、システムに含まれていません。これらのファームウェ  │
 │ アファイルをインストール可能にするために、パッケージアーカイブの        │
 │ contrib および non-free セクションを含むようパッケージマネージャを再設  │
 │ 定する必要があるかもしれません。                                        │
 │                                 <了解>                                  │
 │                                                                         │
 └-------------------------------------------------------------------------┘
…え゛?

Debian Lenny から Squeeze へ - その 3

アップグレードのまえに

APT の pin 機能を無効にする

らしいんだけど…。/etc/apt/preferences を削除すればいいのかな?lenny-backports のために作ったような…?

APT のインターネットソースの追加

/etc/apt/sources.list の lenny を squeeze に変更。

Debian Lenny から Squeeze へ - その 2

ばっくあっぷ

公式でも バックアップは大切だとおっしゃってます。

せってい

/etc をかためておく。

$ cd /
$ sudo tar zcf etc.tgz etc/
$ sudo mv etc.tgz ~/backup

DokuWiki

DokuWiki もかためておく。DokuWiki はデータベース使ってないから dokuwiki/ 以下を単にバックアップすればいい。

Subverion

とりあえず svnadmin hotcopy で。

# svnadmin hotcopy REPOS_PATH NEW_REPOS_PATH

Redmine

redmine/files ディレクトリだけでいいみたいだけど,ぜんぶとっちゃえw

MySQL

とりあえず mysqldump で。

$ mysqldump -A -u root -p --opt > dump_filename

Debian Lenny から Squeeze へ

したしらべ

Redmine のために lenny-backports 使ってるけど,これどうしたら…?

$ apt-show-versions | grep backports
debian-backports-keyring/lenny-backports uptodate 2009.02.20
libactiverecord-ruby1.8/lenny-backports uptodate 2.3.5-1~bpo50+1
libactivesupport-ruby1.8/lenny-backports uptodate 2.3.5-1~bpo50+1
libapache2-mod-passenger/lenny-backports uptodate 2.2.11debian-1~bpo50+1
libi18n-ruby1.8/lenny-backports uptodate 0.3.6-1~bpo50+1
libjs-jquery/lenny-backports uptodate 1.4.2-2~bpo50+1
libjs-prototype/lenny-backports uptodate 1.6.1-1~bpo50+1
libmemcache-client-ruby1.8/lenny-backports uptodate 1.7.8-1~bpo50+1
librack-ruby/lenny-backports uptodate 1.1.0-4~bpo50+1
librack-ruby1.8/lenny-backports uptodate 1.1.0-4~bpo50+1
libredcloth-ruby1.8/lenny-backports uptodate 4.2.2-1~bpo50+1
libtzinfo-ruby1.8/lenny-backports uptodate 0.3.19-1~bpo50+1
rails/lenny-backports uptodate 2.3.5-1~bpo50+1
rails-ruby1.8/lenny-backports uptodate 2.3.5-1~bpo50+1
rake/lenny-backports uptodate 0.8.7-1~bpo50+1
rubygems/lenny-backports uptodate 1.3.4-1~bpo50+1
rubygems1.8/lenny-backports uptodate 1.3.4-1~bpo50+1

ようは

Rails 関連なんだから。パッケージ: rails-ruby1.8 (2.3.5-1.2) で,バージョンが 2.3.5 で同じだから大丈夫でないかな~?

2011年3月25日金曜日

Redmine を Debian Squeeze にインストールしてみる - その 8

Apache2 のせってい

とりあえずこれを放り込んでおく。apache2/conf.d/RailsBaseURI

RailsBaseURI /redmine
で,…。「Index of …」とな?

…ちゃんと Apache 再起動しようね。

$ sudo /etc/init.d/apache2 restert
Restarting web server: apache2 ... waiting .

ちゃんときどうできました。

Redmine を Debian Squeeze にインストールしてみる - その 7

gem

もういいや。gem でインストールしよう…。

$ sudo gem install -v=0.4.2 i18n
Successfully installed i18n-0.4.2
1 gem installed
Installing ri documentation for i18n-0.4.2...
Installing RDoc documentation for i18n-0.4.2...

まいぐれーしょん!

では,再度。

$ sudo rake generate_session_store
(in /var/local/lib/redmine-1.1.2)
$ sudo rake db:migrate RAILS_ENV=production
(in /var/local/lib/redmine-1.1.2)
rake aborted!
Could not find RubyGem rack (~> 1.0.1)

(See full trace by running task with --trace)
やっぱり rack もダメなのね…。
$ sudo gem install -v=1.0.1 rack
Successfully installed rack-1.0.1
1 gem installed
Installing ri documentation for rack-1.0.1...
Installing RDoc documentation for rack-1.0.1...
$ sudo rake db:migrate RAILS_ENV=production
(in /var/local/lib/redmine-1.1.2)
== Setup: migrating ==========================================================
:
== ChangeProjectsIdentifierLimit: migrated (0.0184s) =========================

Redmine を Debian Squeeze にインストールしてみる - その 6

Redmine のせってい

config/database.yml

config/database.yml.example をコピーして作成。production: を変更

production:
adapter: mysql
database: db_redmine
host: localhost
username: redmineUser
password: P*a*s*s*w*o*r*d
encoding: utf8

config/email.yml

config/email.yml.example をコピーして作成。''# === Simple SMTP server at localhost'' のあたりを変更。

# === Simple SMTP server at localhost

production:
delivery_method: :smtp
smtp_settings:
address: "localhost"
port: 25

まいぐれーしょん!

$ sudo rake generate_session_store
(in /var/local/lib/redmine-1.1.2)
Missing the i18n 0.4.2 gem. Please `gem install -v=0.4.2 i18n`
…あれ?
$ sudo rake db:migrate RAILS_ENV=production
(in /var/local/lib/redmine-1.1.2)
Missing the i18n 0.4.2 gem. Please `gem install -v=0.4.2 i18n`
……あれれ??

'--character-set-sever' instead ???

logcheck さんからおてがみついた。

Mar 25 13:31:40 vmware-squeeze mysqld: 110325 13:31:40 [Warning] '--default-character-set' is deprecated and will be removed in a future release. Please use '--character-set-server' instead.
…とりあえず動いているからいいや。

Redmine を Debian Squeeze にインストールしてみる - その 5

MySQL

そういえば MySQL に何も手を加えていないので。

ちょうさ

Redmine 1.0をCentOSにインストールする手順 | Redmine.JP Blog に書いてあることを試してみる。

$ mysql -u root -p
Enter password:
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 35
Server version: 5.1.49-3 (Debian)

Copyright (c) 2000, 2010, Oracle and/or its affiliates. All rights reserved.
This software comes with ABSOLUTELY NO WARRANTY. This is free software,
and you are welcome to modify and redistribute it under the GPL v2 license

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

mysql> show variables like 'character_set%';
+--------------------------+----------------------------+
| Variable_name            | Value                      |
+--------------------------+----------------------------+
| character_set_client     | latin1                     |
| character_set_connection | latin1                     |
| character_set_database   | latin1                     |
| character_set_filesystem | binary                     |
| character_set_results    | latin1                     |
| character_set_server     | latin1                     |
| character_set_system     | utf8                       |
| character_sets_dir       | /usr/share/mysql/charsets/ |
+--------------------------+----------------------------+
8 rows in set (0.00 sec)

mysql> exit;
Bye

過去の記憶によると/etc/mysql/conf.d に設定ファイルを書いたはず。

utf8.cnf

[mysqld]
default-character-set = utf8

[mysqld_safe]
default-character-set = utf8

[mysql]
default-character-set = utf8


mysql/conf.d って?

mysql/my.cnf には最後にこんな記述があるんだよ。

#
# * IMPORTANT: Additional settings that can override those from this file!
# The files must end with '.cnf', otherwise they'll be ignored.
#
!includedir /etc/mysql/conf.d/


ちょうさ - 2

再起動して,もう一度。

$ sudo /etc/init.d/mysql restart
Stopping MySQL database server: mysqld.
Starting MySQL database server: mysqld.
Checking for corrupt, not cleanly closed and upgrade needing tables..
$ mysql -u root -p
Enter password:
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 35
Server version: 5.1.49-3 (Debian)

Copyright (c) 2000, 2010, Oracle and/or its affiliates. All rights reserved.
This software comes with ABSOLUTELY NO WARRANTY. This is free software,
and you are welcome to modify and redistribute it under the GPL v2 license

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

mysql> show variables like 'character_set%';
+--------------------------+----------------------------+
| Variable_name            | Value                      |
+--------------------------+----------------------------+
| character_set_client     | utf8                       |
| character_set_connection | utf8                       |
| character_set_database   | utf8                       |
| character_set_filesystem | binary                     |
| character_set_results    | utf8                       |
| character_set_server     | utf8                       |
| character_set_system     | utf8                       |
| character_sets_dir       | /usr/share/mysql/charsets/ |
+--------------------------+----------------------------+
8 rows in set (0.00 sec)

mysql> exit;
Bye

そのたのせってい

Debian で MySQL をインストールすると,debconf (?)で最初に root のパスワードを設定してくれるようになったね~。いつからだろ?

Redmine 用のデータベースとユーザを作成しておく。

$ mysql -u root -p
Enter password:
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 36
Server version: 5.1.49-3 (Debian)

Copyright (c) 2000, 2010, Oracle and/or its affiliates. All rights reserved.
This software comes with ABSOLUTELY NO WARRANTY. This is free software,
and you are welcome to modify and redistribute it under the GPL v2 license

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

mysql> create database db_redmine charset=utf8;
Query OK, 1 row affected (0.00 sec)

mysql> grant all privileges on `db_redmine`.* to 'redmineUser'@'localhost' identified by 'P*a*s*s*w*o*r*d';
Query OK, 0 rows affected (0.00 sec)

mysql> exit;
Bye

Redmine を Debian Squeeze にインストールしてみる - その 4

じゅんびをいんすとーる

しらべるのもあきてきたので。

$ sudo aptitude install ruby rails libdbd-mysql-ruby libjs-scriptaculous libapache2-mod-passenger
[sudo] password for takashima:
以下の新規パッケージがインストールされます:
libactionmailer-ruby1.8{a} libactionpack-ruby1.8{a} libactiverecord-ruby1.8{a}
libactiveresource-ruby1.8{a} libactivesupport-ruby1.8{a} libapache2-mod-passenger
libbreakpoint-ruby1.8{a} libbuilder-ruby1.8{a} libcmdparse2-ruby1.8{a}
libdaemons-ruby1.8{a} libdbd-mysql-ruby libdbd-mysql-ruby1.8{a} libdbi-ruby1.8{a}
libdeprecated-ruby1.8{a} libi18n-ruby1.8{a} libjs-jquery{a} libjs-prototype{a}
libjs-scriptaculous liblog4r-ruby1.8{a} libmemcache-client-ruby1.8{a}
libmmap-ruby1.8{a} libmysql-ruby1.8{a} libncurses-ruby1.8{a} librack-ruby{a}
librack-ruby1.8{a} libredcloth-ruby1.8{a} libruby1.8{a} libruby1.8-extras{a}
libsqlite3-ruby1.8{a} libtext-format-ruby1.8{a} libtmail-ruby1.8{a}
libtzinfo-ruby1.8{a} rails rails-ruby1.8{a} rake{a} ruby ruby1.8{a} rubygems{a}
rubygems1.8{a}
以下のパッケージが推奨されていますがインストールされません:
build-essential javascript-common libmocha-ruby1.8 ruby1.8-dev zip
更新: 0 個、新規インストール: 39 個、削除: 0 個、保留: 0 個。
5,994 kB のアーカイブを取得する必要があります。展開後に 32.0 MB のディスク領域が新たに消費されます。
先に進みますか? [Y/n/?]
rubygems (バージョン無し)がふえてるなぁ…。

Redmine を Debian Squeeze にインストールしてみる - その 3

libjs-scriptaculous ってなに?

そういえばlibjs-scriptaculous なるものが減ってた。

ぐぐってみる

公式では

パッケージ: libjs-scriptaculous (1.8.3-1)

JavaScript library for dynamic web applications
script.aculo.us is a JavaScript library providing dynamic visual effects and user interface elements via the Document Object Model.
script.aculo.us extends the Prototype Javascript Framework by adding visual effects, user interface controls, and utilities. It is most notably included with Ruby on Rails, but also provided separately to work with other web application frameworks and scripting languages.
…よくわかんないけど,いれといたほうがいいのかな?

Redmine を Debian Squeeze にインストールしてみる - その 2

インストールするパッケージのげんせん

てけとーにいれてうごいた~!でもいいんだけれども。ruby, rails, libdbd-mysql-ruby ではどんなもんでしょ?

$ sudo aptitude install ruby rails libdbd-mysql-ruby
[sudo] password for takashima:
以下の新規パッケージがインストールされます:
libactionmailer-ruby1.8{a} libactionpack-ruby1.8{a} libactiverecord-ruby1.8{a}
libactiveresource-ruby1.8{a} libactivesupport-ruby1.8{a} libbreakpoint-ruby1.8{a}
libbuilder-ruby1.8{a} libcmdparse2-ruby1.8{a} libdaemons-ruby1.8{a}
libdbd-mysql-ruby libdbd-mysql-ruby1.8{a} libdbi-ruby1.8{a}
libdeprecated-ruby1.8{a} libi18n-ruby1.8{a} libjs-jquery{a} libjs-prototype{a}
liblog4r-ruby1.8{a} libmemcache-client-ruby1.8{a} libmmap-ruby1.8{a}
libmysql-ruby1.8{a} libncurses-ruby1.8{a} librack-ruby{a} librack-ruby1.8{a}
libredcloth-ruby1.8{a} libruby1.8{a} libruby1.8-extras{a} libsqlite3-ruby1.8{a}
libtext-format-ruby1.8{a} libtmail-ruby1.8{a} libtzinfo-ruby1.8{a} rails
rails-ruby1.8{a} rake{a} ruby ruby1.8{a} rubygems1.8{a}
以下のパッケージが推奨されていますがインストールされません:
build-essential javascript-common libmocha-ruby1.8 ruby1.8-dev zip
更新: 0 個、新規インストール: 36 個、削除: 0 個、保留: 0 個。
5,396 kB のアーカイブを取得する必要があります。展開後に 29.5 MB のディスク領域が新たに消費されます。
先に進みますか? [Y/n/?]

けんしょう

増えたのは libdbd-mysql-ruby 関連。減ったのは…

  • dbconfig-common は,honeplusのメモ帳 aptでRedmineをインストールしてみた(Debian 6.0 "Squeeze") によると redmine のインストール時の設定に使うだけみたいだから,いらないはず。
  • libactionmailer-ruby, libactionpack-ruby, libactiveresource-ruby, libactivesupport-ruby はそれぞれ1.8のついたパッケージをインストールしてるからいらない。
  • libdbd-sqlite3-ruby, libdbd-sqlite3-ruby1.8, sqlite3 は,SQLite 使わないからいらない。

あ゛,Passenger わすれてた…

2011年3月24日木曜日

mpt-statusd: detected non-optimal RAID status

ことのおこり

新しく作った vmware な Debian Squeeze 君が,10分おきなんか言ってる…。

これは logcheck が送ってきたメール。

This email is sent by logcheck. If you no longer wish to receive
such mail, you can either deinstall the logcheck package or modify
its configuration file (/etc/logcheck/logcheck.conf).

System Events
=-=-=-=-=-=-=
Mar 24 17:08:40 vmware-squeeze mpt-statusd: detected non-optimal RAID status
Mar 24 17:18:42 vmware-squeeze mpt-statusd: detected non-optimal RAID status
Mar 24 17:28:42 vmware-squeeze mpt-statusd: detected non-optimal RAID status
Mar 24 17:38:44 vmware-squeeze mpt-statusd: detected non-optimal RAID status
Mar 24 17:48:46 vmware-squeeze mpt-statusd: detected non-optimal RAID status
Mar 24 17:58:46 vmware-squeeze mpt-statusd: detected non-optimal RAID status

ぐぐる

英語でわかんないけど,これかな~? Debian User Forums • View topic - Debian Reports Non-optimal RAID Status

Uninstall mpt-status.

It may have been installed because you are running on vmware, or it could be a default from ticking the mail server option in the installer.
とのことなので,mpt-status をパージしておきましょう。…どうなるかな?

一時間経って,ログ見てみたけど,出なくなったみたい。

Redmine を Debian Squeeze にインストールしてみる

ことのおこり

Debian GNU/Linux 6.0 "Squeeze" には Redmine 1.0.1 なパッケージがあるから,インストール楽なんぢゃないかな?

ちょうさ

しらべてみましょ。vmwareにインストールしたばかり…,ええと,Apache2 と MySQL はすでにインストール済み,な環境。

$ sudo aptitude install redmine
以下の新規パッケージがインストールされます:
dbconfig-common{a} libactionmailer-ruby{a} libactionmailer-ruby1.8{a}
libactionpack-ruby{a} libactionpack-ruby1.8{a} libactiverecord-ruby1.8{a}
libactiveresource-ruby{a} libactiveresource-ruby1.8{a} libactivesupport-ruby{a}
libactivesupport-ruby1.8{a} libbreakpoint-ruby1.8{a} libbuilder-ruby1.8{a}
libcmdparse2-ruby1.8{a} libdaemons-ruby1.8{a} libdbd-sqlite3-ruby{a}
libdbd-sqlite3-ruby1.8{a} libdbi-ruby1.8{a} libdeprecated-ruby1.8{a}
libi18n-ruby1.8{a} libjs-jquery{a} libjs-prototype{a} libjs-scriptaculous{a}
liblog4r-ruby1.8{a} libmemcache-client-ruby1.8{a} libmmap-ruby1.8{a}
libncurses-ruby1.8{a} librack-ruby{a} librack-ruby1.8{a} libredcloth-ruby1.8{a}
libruby1.8{a} libruby1.8-extras{a} libsqlite3-ruby1.8{a} libtext-format-ruby1.8{a}
libtmail-ruby1.8{a} libtzinfo-ruby1.8{a} rails{a} rails-ruby1.8{a} rake{a} redmine
redmine-sqlite{a} ruby{a} ruby1.8{a} rubygems1.8{a} sqlite3{a}
以下のパッケージが推奨されていますがインストールされません:
build-essential javascript-common libmocha-ruby1.8 ruby1.8-dev zip
更新: 0 個、新規インストール: 44 個、削除: 0 個、保留: 0 個。
7,698 kB のアーカイブを取得する必要があります。展開後に 44.2 MB のディスク領域が新たに消費されます。
先に進みますか? [Y/n/?]

redmine-mysql

ほおっておくとSQLiteを使うながれになりそうなので。これも調査。

$ aptitude show redmine-mysql
パッケージ: redmine-mysql
状態: インストールされていません
バージョン: 1.0.1-1
優先度: 特別
セクション: web
メンテナ: Jérémy Lal
展開サイズ: 65.5 k
依存: libdbd-mysql-ruby, mysql-client | virtual-mysql-client
提案: mysql-server
説明: metapackage providing MySQL dependencies for Redmine
This package only provides MySQL dependencies for Redmine, a flexible project management
web application. Install this one if you want to use a MySQL database with Redmine.

Redmine package should be installed along with this package.
ホームページ: http://www.redmine.org

$ aptitude show libdbd-mysql-ruby
パッケージ: libdbd-mysql-ruby
状態: インストールされていません
バージョン: 0.4.4-1
優先度: 任意
セクション: ruby
メンテナ: Dmitry Borodaenko
展開サイズ: 61.4 k
依存: libdbd-mysql-ruby1.8
説明: Ruby/DBI MySQL driver
Ruby/DBI is a database independent interface for accessing databases, similar to Perl's
DBI.

This package is a dependency package, which depends on the package containing actual
Ruby/DBI MySQL driver for the default Ruby version (currently 1.8).
ホームページ: http://rubyforge.org/projects/ruby-dbi

$ aptitude show libdbd-mysql-ruby1.8
パッケージ: libdbd-mysql-ruby1.8
状態: インストールされていません
バージョン: 0.4.4-1
優先度: 任意
セクション: ruby
メンテナ: Dmitry Borodaenko
展開サイズ: 123 k
依存: libmysql-ruby1.8, libdbi-ruby1.8 (>= 0.4.2)
説明: Ruby/DBI MySQL driver for Ruby 1.8
Ruby/DBI is a database independent interface for accessing databases, similar to Perl's
DBI.

This package contains Ruby/DBI driver for MySQL database.
ホームページ: http://rubyforge.org/projects/ruby-dbi
…なんとなくredmine-rubyは入れたくないので,libdbd-mysql-rubyあたりをいれればいいかな?

2011年3月3日木曜日

DokuWiki-2010-11-07a その2

inc/indexer.php

こんな感じに変更。

でぃふ


--- indexer.php.org 2011-03-03 16:42:26.000000000 +0900
+++ indexer.php.110303171410 2011-03-03 17:14:10.000000000 +0900
@@ -42,6 +42,8 @@
']?');
define('IDX_ASIAN', '(?:'.IDX_ASIAN1.'|'.IDX_ASIAN2.'|'.IDX_ASIAN3.')');

+define('PRE_TOKENIZER', '/usr/bin/mecab -O wakati');
+

/**
* Measure the length of a string.
* Differs from strlen in handling of asian characters.
@@ -49,11 +51,15 @@
* @author Tom N Harris <tnharris@whoopdedo.org>
*/
function wordlen($w){
- $l = strlen($w);
+ $l = utf8_strlen($w);
+
+ /*

// If left alone, all chinese "words" will get put into w3.idx
// So the "length" of a "word" is faked
if(preg_match('/'.IDX_ASIAN2.'/u',$w))
$l += ord($w) - 0xE1; // Lead bytes from 0xE2-0xEF
+ */
+
return $l;
}

@@ -217,6 +223,28 @@

list($page,$body) = $data;

+ if(function_exists(proc_open) && defined('PRE_TOKENIZER')) {

+ $dspec = array(
+ 0 => array("pipe", "r"),
+ 1 => array("pipe", "w"),
+ 2 => array("file", "/dev/null", "w")
+ );
+ $process = proc_open(PRE_TOKENIZER, $dspec, $pipes);

+ if(is_resource($process)) {
+ stream_set_blocking($pipes[0], FALSE);
+ stream_set_blocking($pipes[1], FALSE);
+ fwrite($pipes[0], $body . "\n");
+ fclose($pipes[0]);
+
+ $body = '';
+ while(!feof($pipes[1])) {
+ $body .= fgets($pipes[1], 32768);

+ }
+ fclose($pipes[1]);
+ proc_close($process);
+ }
+ }
+
$body = strtr($body, "\r\n\t", ' ');
$tokens = explode(' ', $body);
$tokens = array_count_values($tokens); // count the frequency of each token
@@ -533,7 +561,7 @@
$wild |= 2;
$wlen -= 1;
}

- if ($wlen < IDX_MINWORDLENGTH && $wild == 0 && !is_numeric($xword)) continue;
+ if (preg_match('/[^0-9A-Za-z]/u', $string) && $wlen < IDX_MINWORDLENGTH && $wild == 0 &
& !is_numeric($xword)) continue;
if(!isset($tokens[$xword])){
$tokenlength[$wlen][] = $xword;
}

@@ -676,12 +704,36 @@
*/
function idx_tokenizer($string,&$stopwords,$wc=false){
$words = array();
+
+ if(function_exists(proc_open) && defined('PRE_TOKENIZER')) {
+ $dspec = array(
+ 0 => array("pipe", "r"),

+ 1 => array("pipe", "w"),
+ 2 => array("file", "/dev/null", "w")
+ );
+ $process = proc_open(PRE_TOKENIZER, $dspec, $pipes);
+ if(is_resource($process)) {
+ stream_set_blocking($pipes[0], FALSE);
+ stream_set_blocking($pipes[1], FALSE);

+ fwrite($pipes[0], $string . "\n");
+ fclose($pipes[0]);
+ $string = '';
+ while(!feof($pipes[1])) {
+ $string .= fgets($pipes[1], 32768);
+ }
+ fclose($pipes[1]);
+ proc_close($process);
+ }

+ }
+
$wc = ($wc) ? '' : $wc = '\*';

if(preg_match('/[^0-9A-Za-z]/u', $string)){
+ /*
// handle asian chars as single words (may fail on older PHP version)
$asia = @preg_replace('/('.IDX_ASIAN.')/u',' \1 ',$string);
if(!is_null($asia)) $string = $asia; //recover from regexp failure
+ */

$arr = explode(' ', utf8_stripspecials($string,' ','\._\-:'.$wc));
foreach ($arr as $w) {