Windows 7のUNIXベースアプリケーション用サブシステム


12

ものに気づいたUNIXベースアプリケーション用サブシステムオンとオフWindowsの機能の有効前にそれを見たことがないWindows 7の下のダイアログを、そしてそれが面白いようです。本当にそれは本当に何ですか?それは何のためにあり、何のために使用できますか?


1
Windows 7 Professionalでこれを使用するためのハックはありますか?
アイスマン

@iceman:次に、EnterpriseまたはUltimateをインストールします。
ジョーイ

「マイクロソフトPOSIXサブシステムの悲しい歴史」:されている可能性が何の良い読み取り brianreiter.org/2010/08/24/...
ダニエルSokolowski

回答:


17

以前はSFUまたはServices for UNIXと呼ばれていました。これはWindowsの環境サブシステムであり、POSIXに完全に準拠し、UNIXシステムに通常付属する多くのツールを提供します。

これは、環境サブシステムとして、Windows API と並行して、カーネルの上で直接実行されることを意味します。したがって、ネイティブWindows API自体よりもエミュレートされることはないため、たとえばcygwinよりもはるかに優れたパフォーマンスを発揮します。1

主にWindows上でUNIXアプリケーションを直接ビルドおよび実行することを目的としているため、お気に入りのUNIXプログラムにWindowsポートが付属していない場合は、SUAでビルドを試すことができます。

Unix用WindowsサービスおよびUnixベースアプリケーション用サブシステムは、Windowsで使用するUnixアプリケーションの再コンパイルまたは移植を容易にするヘッダーファイルとライブラリを提供します。UnixバイナリとWindowsバイナリとの互換性はありません。Unixライクなプラットフォームと考えてください。

SFUの現在のバージョンには以下が含まれます。

  • vi、ksh、csh、ls、cat、awk、grep、killなどの350以上のUnixユーティリティ
  • GCC 3.3コンパイラ、インクルードおよびライブラリ(MS libc経由)
  • Microsoft Visual StudioコマンドラインC / C ++コンパイラーのccライクなラッパー
  • GDBデバッガー
  • NFSサーバーとクライアント
  • pcnfsdデーモン
  • X11ツールとライブラリ
  • NFSマウントポイントを作成するためのツールはWindows共有として表示され、逆も同様です(ゲートウェイサービス)
  • Active Directory(AD)にリンクされたNISサーバー機能
  • 一部のWindows / Unix認証情報同期ツール

SFUには次のものは含まれていません(ただし、バイナリは個別のインストールに使用できます)。

  • bash、OpenSSH、sudo、CVS、ClamAV、bzip2、gmake、curl、emacs、Apache、XView、Ruby、Tcl、Python

(ウィキペディア)

SUAはLinuxやBSDになろうとしないので、単なるPOSIXであるため、プラットフォーム固有のものに依存する多くのプログラムがビルドまたは実行に失敗する可能性もあります。shまたはLinux固有のシステムコールの代わりにbashを想定したシェルスクリプトが思い浮かびます。現在、POSIX準拠のシステムで直接実行できるプログラムはほとんど書かれていません。また、含まれているgccのバージョンはやや古いため、最新のC99 +の良さをサポートしていない可能性があります。


1プロセスの起動時間が遅いなど、Windows固有の制限が依然としてあるため、極端なフォークは依然として非常に遅くなります./configure。そのため、多くのスクリプトやメイクファイルの実行を何年も待つことになります。


涼しい。だから、それはあなたがシェルのようなUnixを取得し、たとえばsshを使用できることを意味しますか?
ヴィッシュ

SSHサーバーやクライアントはありませんが、cshとkshは含まれています(とにかく、POSIXにはそれ以上の義務はありません)。必要に応じてソースからビルドできます(メイクファイルとソフトウェアはPOSIX、またはgccとMicrosoft libcを念頭に置いて書かれていないため、通常は機能しません。Linuxツールも有名です) 。特別な理由のためにはbashを必要とどうやらあなたはできるものの、pkgsrcのを設定し、私がこれまでにそれを行うことが出来なかったが、Windows 2000上のバックSFU 3.5に私の経験日は物事が今では変更されていることかもしれませんが。。
ジョーイ

NTの元のPOSIXサブシステムは、Win32およびOS / 2サブシステムとともにカーネル上で直接実行されていましたが、SUAはWindows APIの上で実行されています。
スーパーファミコン

2
matthews:SUAの実行可能ファイルは、まだPOSIXサブシステムアプリケーションです(はい、実際に16進エディターを使用して内部を調べました)。そのため、カーネルはWindows APIから何かを実行するという考えさえも得ません。
ジョーイ

4
@Svish:OpenSSH SUAバイナリ(およびその他)をsuacommunity.com
bk1e

1

ソフトウェアのインストール/アンインストールには、BSDスタイルのパッケージを使用できます。OpenSSHがインストールされている場合、SSHを介してSUAにアクセスできます。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.