共享Cygwin安装

我试图以一种自动的方式在一堆Windows Server 2003机器上设置OpenSSH。 我的目标是能够使用安装在networking驱动器上的单一版本的Cygwin,而不是在每台机器上手动安装Cygwin。

我可以安装cygwin就好了,但是当我尝试运行ssh-host-config的时候,会遇到问题。

$ ssh-host-config bash: /usr/bin/ssh-host-config: Permission denied 

好的,没什么大不了的。 我chmod 555 everythingin / usr / bin。

 $ ssh-host-config /usr/share/csih/cygwin-service-installation-helper.sh: line 689: /usr/bin/awk: cannot execute binary file 

这是我卡住的地方。 运行

 petters@BTSOTTSTBAL507 /usr/bin $ awk bash: /usr/bin/awk: cannot execute binary file 

这里是awk的内容:

 !<symlink>gawk.exe 

就像一个注释,我可以运行gawk.exe就好了,并尝试安装CYGWIN = winsymlinks环境variables设置Cygwin。

我也注意到以下 –

 petters@BTSOTTSTBAL507 /usr/bin $ ls -l total 366592 -rwxr-xr-x 1 ???????? ???????? 54798 Feb 4 19:02 [.exe -rwxr-xr-x 1 ???????? ???????? 23566 May 18 2010 addftinfo.exe -rwxr-xr-x 1 ???????? ???????? 165806 May 18 2010 afmtodit -rwxr-xr-x 1 ???????? ???????? 1786 May 17 2010 apropos -rwxr-xr-x 1 ???????? ???????? 47118 Feb 4 19:01 arch.exe -rwxr-xr-x 1 ???????? ???????? 8206 Apr 29 00:43 ascii.exe 

换句话说,所有权数据是混乱的。

我的印象是,cygwin 1.7.x是可移植的,但也许不是? 任何帮助表示赞赏!

有2个问题你面对。

首先是Cygwin的权限和所有权与Windows的posix-y视图之间的区别。 您将需要阅读在Cygwin中使用Windows安全性 。 ???????? 因为这些文件是由本地机器上没有定义的用户拥有的。 如果你在一个域中,你可以运行mkpasswdmkgroup并使用输出来创build合适的/etc/passwd/etc/groups 。 但是,它们只包含创build主机的计算机专用帐户。

第二个问题很好地说明了这一点:

Cygwin将其大部分configuration设置保存在/etc 。 所以在多个主机上共享/etc是非常困难的。 同样,大多数Cygwin进程将假定/tmp/var也是特定于机器的。

可能可以通过在每台机器上创build本地目录来实现此目的,例如: c:\cygwin\etcc:\cygwin\tmpc:\cygwin\var 。 你将需要填充等和var与预期的文件和目录。 然后,您需要创build一个/ etc / fstab,将所有这些组合到一个完整的文件系统中。 你会想读更多的映射path名称 。

另外请记住,任何时候你的networking驱动器不可用,任何正在运行的Cygwin进程可能会挂起,崩溃或者performanceexception。