Windows

共享 Cygwin 安裝

  • March 10, 2016

我正在嘗試以自動方式在一堆 Windows Server 2003 機器上設置 OpenSSH。我的目標是能夠使用安裝在網路驅動器上的單一版本的 Cygwin 來做到這一點,而不是在每台機器上手動安裝它。

我可以很好地安裝 cygwin,但是當我嘗試執行 ssh-host-config 時開始遇到問題。

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

好吧,沒什麼大不了的。我在 /usr/bin 中 chmod 555 一切。

$ 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。

我還注意到以下內容 -

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 的 posix-y 權限和所有權視圖與 Windows 之間的區別。您需要閱讀在 Cygwin 中使用 Windows 安全性。顯示????????是因為文件歸本地電腦上未定義的使用者所有。如果您在域中,您可能可以執行mkpasswdandmkgroup並使用輸出來創建適當的/etc/passwdand /etc/groups。但是,它們將僅包括創建它們的主機的特定於電腦的帳戶。

這很好地解決了第二個問題:

Cygwin 將其大部分配置設置保存在/etc. 所以跨多個主機共享/etc是非常困難的。同樣,大多數 Cygwin 程序將假定/tmp並且/var也是特定於機器的。

可以通過在每台機器上創建本地目錄來實現此功能,例如:c:\cygwin\etcc:\cygwin\tmpc:\cygwin\var. 您將需要使用預期的文件和目錄填充 etc 和 var。然後您需要創建一個 /etc/fstab 將所有這些組合到一個完整的文件系統中。您需要閱讀映射路徑名稱以了解更多資訊。

還要記住,只要您的網路驅動器不可用,任何正在執行的 Cygwin 程序都可能掛起、崩潰或行為異常。

引用自:https://serverfault.com/questions/287539