共享Cygwin安装

Modified on: Sat, 19 Oct 2019 17:20:02 +0800

我正在尝试以自动方式在一堆Windows Server 2003计算机上设置OpenSSH。我的目标是能够使用安装在网络驱动器上的单个版本的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环境变量集安装Cygwin。

我也注意到以下内容 -

!<symlink>gawk.exe

换句话说,所有权数据搞砸了。

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

作者:dpetters

最佳答案

您遇到了两个问题。

首先是Cygwin的权限和所有权与Windows的posix-y视图之间的区别。
您需要阅读在Cygwin中使用Windows安全性。显示????????,因为文件归本地计算机上未定义的用户所有。如果您在域中,则可以运行mkpasswdmkgroup并使用输出创建相应的/etc/passwd/etc/groups。但是,它们只会包含创建它们的主机的特定于计算机的帐户。

第二个问题很好地解释了:

Cygwin将大部分配置设置保存在/etc之内或之下。因此,跨多个主机共享/etc非常困难。同样,大多数Cygwin进程都假定/tmp/var也是特定于机器的。

可能能够通过在每台机器上创建本地目录来实现这一目的,例如:c:\cygwin\etcc:\cygwin\tmpc:\cygwin\var。您需要使用预期的文件和目录填充etc和var。然后,您需要创建一个/ etc / fstab,将所有这些组合在一起形成一个完整的文件系统。您需要阅读映射路径名以获取更多信息。这一点。

另请注意,只要您的网络驱动器不可用,任何正在运行的Cygwin进程都可能会挂起,崩溃或只是表现得很奇怪。


相关问答

添加新评论