トップ 差分 一覧 ソース 置換 検索 ヘルプ PDF RSS ログイン

Cygwin の設定

はじめに

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(417)
これを参考にテキトウにいじる

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(422)
を適当なパスにコピーする。あとは今までどおり使う。

 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]



  • Hatenaブックマークに追加
  • livedoorクリップに追加
  • del.icio.usに追加
  • FC2ブックマークに追加

最終更新時間:2013年08月30日 22時41分40秒