はじめに
cygwin 1.7 から使いやすくなってきた。
レジストリを使わないため、ポータブルツールとして持ち運ぶこともできる。
X-Window に関しては、日本語入力に難有り。
日本語入力するには、色々設定する必要あり。
インストール
http://www.cygwin.com/
から、setup.exe をダウンロードして実行。
パッケージ選択
admin
- cygrunsrv
archive
- unzip
- zip
Devel
- make
- gcc関連
- gcc4関連(必要なら)
- mingw-gcc関連(必要なら)
- ruby
- subversion
Editor
- vim関連
- xemacs関連(Xを入れる場合)
Libs
- W32api
Net
- inetutils
- openssh
- rsync
Perl
- perl のみ
Python
- python のみ
shell
- tcsh
- zsh
web
- wget
X11
- 全て(Xを入れる場合)
バッチファイル作成
bash
@echo off cd bin bash --login -i
tcsh
@echo off cd bin tcsh -l
設定
設定ファイルバックアップシェル
#!/bin/sh if [ -e "$1" ]; then dir=. if [ "$2" != "" ]; then dir=$2 fi op= if [ -d "$1" ]; then op=-r fi tofile=$dir/$1_$(date +%Y%m%d_%H%M%S) cp -p $op $1 $tofile echo "backup to $tofile" fi
home の設定
昔設定したHOMEのファイル
home.zip(450)
これを参考にテキトウにいじる
DISPLAY環境変数
cygwin以外のXサーバ(例えば、Xmingとか)を使う場合は、
export DISPLAY=localhost:0.0
を.bashrcとかに書いておくといいかも。
apt-cyg の設定
apt-cyg でパッケージ管理をすると楽
http://nukino.github.com/blog/2012/02/02/Cygwin/
http://d.hatena.ne.jp/takuya_1st/20110205/1296887435
wget http://apt-cyg.googlecode.com/svn/trunk/apt-cyg mv apt-cyg /usr/bin chmod +x /usr/bin/apt-cyg
パッケージを探す | apt-cyg find |
インストール済の一覧 | apt-cyg show |
インストールする | apt-cyg install パッケージ名 |
アンインストールする | apt-cyg remove パッケージ名 |
標準のままだと、パッケージ名の大文字小文字を判別する。
そのままだと使いにくいので
apt-cygの 244行と247行のawk に
-v IGNORECASE=1
を渡す。
echo ""
241 do 242 echo "" 243 echo Searching for installed packages matching $pkg: 244 awk -v IGNORECASE=1 '/[^ ]+ [^ ]+ 0/ {if ($1 ~ query) print $1}' query="$pkg" 244 /etc/setup/installed.db 245 echo "" 246 echo Searching for installable packages matching $pkg: 247 cat setup.ini | awk -v query="$pkg" -v IGNORECASE=1 \ 248 'BEGIN{RS="\n\n@ "; FS="\n"; ORS="\n"} {if ($1 ~ query) {print $1}}' 249 done
setup.ini が 404 Not Found になる場合
http://rcmdnk.github.io/blog/2013/08/08/computer-windows-cygwin/
パッケージのサイトのディレクトリ構成が変更されたため、setup.ini が見つからない場合がある。
新しいディレクトリ構成に合わせて apt-cyg を作成してくれた方がいるので、有難く利用させていただく。
apt-cyg(461)
を適当なパスにコピーする。あとは今までどおり使う。
sshd の設定
インストール
$ssh-host-config .... 権限を分離するか? *** Query: Should privilege separation be used? (yes/no) yes .... ローカルに sshd ユーザを作成するか? *** Query: new local account 'sshd'? (yes/no) yes .... サービスを作成するか? *** Query: Do you want to install sshd as a service? *** Query: (Say "no" if it is already installed as a service) (yes/no) yes ... CYGWIN 環境変数の値( ntsec を設定する) *** Query: Enter the value of CYGWIN for the daemon: [] ntsec
ログイン時のメッセージ
/etc/motd
の内容を編集する。
このファイルを読み込みたくない場合は、
/etc/sshd_conf
PrintMotd no
にする。
アクセス制限をする場合
/etc/hosts.allow
sshd: localhost
どこからでも接続可能にするには
sshd: ALL
/etc/hosts.deny
ALL:ALL EXCEPT localhost:DENY
など
アンインストール
- cygrunsrv -L でサービスを確認
- cygrunsrv -E で上記で確認したサービスを止める
- cygrunsrv -R で上記で確認したサービスを消す
- sshd ユーザをWindowsから削除(sshd を設定した場合)
- 以下のレジストリを削除
- [HKEY_LOCAL_MACHINE\SOFTWARE\Cygnus Solutions]
- [HKEY_CURRENT_USER\Software\Cygnus Solutions]
- Cygwin のディレクトリを削除する
ポータブル
持ち歩く場合は、その環境ごとに
/etc/passwd /etc/group
を書き換える必要がある
mkpasswd -l > /etc/passwd mkgroup -l > /etc/group
ドメインユーザの場合は
mkpasswd -d -u ドメインユーザ >> /etc/password mkgroup -d -g "Domain Users" >> /etc/group
[カテゴリ: ツール > Cygwin]
[通知用URL]
Tweet
最終更新時間:2013年08月30日 22時41分40秒