#contents

* アンインストール

いきなりディレクトリを削除しようとするとWindows2000が落ちた。~
以下が正解らしい。

 # cron
 cygrunsrv --stop cron
 cygrunsrv --remove cron
 # inetd
 net stop inetd
 /usr/sbin/inetd --remove-as-service

上に続いて
- ファイルの削除
- レジストリの削除
- 環境変数の削除

* cannot find -lpython2.3
~-L/usr/lib/python2.3/config

* cron

 cygrunsrv --install cron --path /usr/sbin/cron --args -D
 # -D 指定をよく見かけるけど古いオプションらしい
 # cygrunsrv --install cron --path /usr/sbin/cron --args -D
 cygrunsrv --install cron --path /usr/sbin/cron --args -n
 cygrunsrv --start cron

** cron からネットワークドライブが見られない

cronはシステムユーザ権限。~
ネットワークドライブの割り当てはユーザごと。~
つまりネットワークドライブは cron から見られない。~

その他権限周りでもハマれる。

** cron_diagnose.sh

困ったときの診断ツール

* Apache2

 # 準備
 cygserver-config
 export CYGWIN=server
 net start cygserver
 /usr/sbin/apachectl2 start

 # サービスとして起動
 cygrunsrv --install apache2 --disp "CYGWIN apache2" \
   --path /usr/sbin/httpd2 --args -DFOREGROUND --env "CYGWIN=ntsec binmode server"
 cygrunsrv --start apache2

* dd のデバイス

ls じゃ見られないけど /proc/partitions で見られる。

* 標準入力が入力できない

 export CYGWIN='glob tty'

//この設定(tty?) + zshのどこかのバージョンから。~
//y/n を聞かれた途端に落とすしかなくなる。

こいつのせい

* Subversion での日本語ファイル名の扱い

LANG や LC_ALL を変えたところで扱えない。~
おとなしく Windows 版を使うこと。

* find が途中で止まる

日本語のパス次第(多分2バイト目 \ )で止まる。~
エラーも何も出ないので、日本語が含まれうる環境で find はNG。

Perl の find も同様。

- DOSコマンドによる代替
 :: find -type -f 相当(-D は not directory)
 dir /B/S/A-D
- Perl
	# $DOSFIND は上記 DOSコマンドのラッパ bat
	# @echo off 忘れずに
	my @files;
	foreach my $path (@ARGV) {
		$path = `cygpath -w '$path'`;
		chomp $path;
		push(@files, split(/\n/, `$DOSFIND '$path'`));
	}

* Cygwin を起動したのと同等の環境でコマンド実行

 bash --login -c "cd - ; DO SOMETHING"

login を付けないと、環境変数(主にPATH)が処理されていないが、~
弊害として cd - でコマンド実行時のカレントパスに戻らないと、$HOME で実行されるとか。

** cygwin を呼ぶ bat

 @echo off
 for %%D in (C:\cygwin D:\cygwin E:\cygwin) do if exist %%D set CYGWIN_ROOT=%%D
 
 SET PATH=%CYGWIN_ROOT%\bin;$PATH

* zsh で C:/ などの補完が効かない

4.3.9 だと起こる。~
4.3.4 に下げる。

4.3.11 だと C:\Windows のようなパス(の変数)の補完が1階層しかされない。~
補完に使うものだけ .zshrc などで以下のように設定しておくことで回避可能。~
(この形式を受け付けないものもあるので注意)

 export HOGE=`cygpath -m $HOGE`

・・・根本治療はないのかね。

* 環境変数 USERNAME が消える

zsh は環境変数 USERNAME を消して USER をつくる。


トップ   一覧 単語検索 最終更新   ヘルプ   最終更新のRSS