CygwinはZIPで固めて何処でも動かせる。cygwin1.dllが互換レイヤなので、これさえあればcygwinを動かすことが出来る。dllが必須条件なので、cygwinにはインストールもいらないし、cygwin には管理者権限もいらない。ディレクトリを丸々コピーすると動きます。
移動先で不整合のエラー?
CygwinはZIPファイルに展開してそのまま持っていけるけど、持っていった先で /etc/passwdの不整合が起こります。Cygwinを丸コピーすると、ユーザーIDやグループIDに不整合が起こります。
次のようなメッセージが出てくる
takuya@demo ~ $ source /etc/profile Your group is currently "mkpasswd". This indicates that your gid is not in /etc/group and your uid is not in /etc/passwd. The /etc/passwd (and possibly /etc/group) files should be rebuilt. See the man pages for mkpasswd and mkgroup then, for example, run mkpasswd -l [-d] > /etc/passwd mkgroup -l [-d] > /etc/group Note that the -d switch is necessary for domain users.
メッセージの大まかな意味は
mkpasswdで得られるUID/GIDと、/etc/passwdと/etc/groupの記載と違う。だから一致させてねということです。
つまり、uid/gidが不整合を起こしているので、修正するべきなんですね。
修正はかんたん
簡単に修正できる。
ターミナルで次のコマンドをコピペする。
mkpasswd -l > /etc/passwd mkgroup -l > /etc/group
先ほどのメッセージにあるとおりに打ち込んで。修正してね!ってことですね
不整合だと何が起きるか。
通常ちょこっと使うぶんには問題無いです。ただ、私の場合 ssh サーバーを起動しようとしてエラーになっていました。
ssh-host-confgコマンドで Administrator ID が間違ってると言われる原因を調べたら、上記の問題に行き当たりました。