web-dev-qa-db-ja.com

InterixとCygwinの実際的な違いは何ですか?

InterixCygwin の両方が、WindowsでUnixのようなユーザー環境を提供しているように見えます。たとえば、次の点で、2つの間の実際的な違いは何ですか?

  • Unix風の「フィール」
  • パフォーマンス
  • インターネットからダウンロードされたランダムなソフトウェアをコンパイルするパッケージの可用性/使いやすさ
  • Windowsアプリケーションおよびツールとの統合
  • 仮想マシンとの統合/互換性(たとえば、InterixとUbuntu仮想マシンが同じ「ホームディレクトリ」を共有することは可能ですか)
  • ユーザーベースのサイズ/コミュニティサポートのレベル

私が知っている1つの違いは、InterixにはWindows 7 EnterpriseまたはUltimateエディションが必要であることです。 Cygwinは何でも動作します。

14
ithinkihaveacat

以前はWindows 2008でWindows SFUしか使用していませんでしたが、それはInterixに基づいていると思います。私は時々cygwinで遊んだことがありますが、それほど多くはないので、ここで明らかに間違っていることを言った場合は誰かが私を修正してください。

  • Unix風の感触: Interixがこれを獲得しました。環境ははるかに「完全」に感じられます。どうやって置くかわかりません。 Interixはwin32サブシステムと一緒に実行され、cygwinはその上で実行されます。そのため、interixはWindowsカーネルランドにおける「ファーストクラスの市民」です。 psdfなどは問題なく動作します。
  • パフォーマンス: 主要なパフォーマンステストを行っていないので、 推測 そのInterixもこれに勝ちます。繰り返しますが、それはより低いレベルで実行されています。 POSIX互換性のあるWin32アプリを実行しているだけではありませんDLLがリンクされています。
  • パッケージ/ランダムソフトウェア: Cygwinがこれに勝った理由は2つあります。まず、cygwinははるかによく知られています。多くのUnixyソフトウェアは、その癖をサポートします。 GUIインストーラから簡単にインストールすることもできます。 Interixには、このようなものが組み込まれていません(私は信じています)。確かに、何かをダウンロードして、gcc(ビルド済みだと思います)を使用してコンパイルし、動作するように祈ることができますが、Unixの他のランダムなバリアント(SolarisやAIXなど)にソフトウェアを移植するようなものです。物事はうまくいき、他の物事はあなたの足を噛み切って子供を殺そうとするでしょう。
  • Windowsアプリおよびツールとの統合: 正直なところ、どちらの方法でもこれはうんざりです。たとえば、cygwinまたはInterix内で実行されているApacheサーバーがある場合、Win32プログラムとTCPを介して通信することができますが、それはそれが可能な限りです。 Interixの内部では、Win32プログラムを強制終了して、psを使用してそれらを一覧表示できると思いますが、cygwinでこれを実行できるかどうかは不明です。両方とも、Windowsタスクマネージャーを使用して強制終了できます。
  • VMとの統合: ホームディレクトリを共有する例に取り組むなら、はい。これにはsambaを使用することもできますが、NFSはInterixでも動作し、より一義的なものになると思います。でも、Nice GUIやその他の作業はありません。 cygwinとInterixの両方で、通常のファイルシステムにアクセスできます。
  • ユーザーベースのサイズ: ここでCygwinが勝つと思います。 Interix上で実行するためにテストおよび開発されたものを見つけるのは非常に困難でした。そこでは、ほとんどのオープンソースのものがコンパイルプラットフォームとしてcygwinをサポートしているように思われました。

InterixをサポートするWindows OS(エンタープライズエディション、Ultimateエディション、またはサーバーエディション)のコピーがあれば、問題はありません。とても完成感のある環境です。あなたが言ったように、Cygwinはすべてで動作し、よりよく知られており、よりよくサポートされていますが、私にとっては汚いハックのように感じます。一部の人々はそれを定期的に使用します。

7
Andrew

/ *メタノート-コメントが短いのは嫌い* /

Andrewsの回答には2、3のコメントでほぼ同意します。私は多くのUNIXシステムをWindowsの下でSUA/SFU(同じではないが近くない)に置き換えました。

  • パフォーマンス-SUAはunixのサービスよりもはるかに高速ですが、SFUもまともではなく、どちらも通常はcygwinよりも高速です(ただし常にではない)。
  • 統合-統合はSFU/SUAの核心であり、technetサイトでできることとできないことについてのドキュメントがたくさんあります。 Cygwinは、Windowsで* nixコマンドを実行するように設計されています。 WindowsのUNIX/Linux相互運用性コンポーネント(SUA、IdMU、NFSなど)を参照してください
  • ユーザーベース-cygwin側よりもinterix側の方が機能し、サポートされている解決策があり、cygwin側よりも互換性の問題がはるかに少ないと思います http://www.suacommunity.com/ (工具倉庫)。 Cygwinは、「UNIXシェルが必要」というソリューションに適しているため、おそらく全体的なインストール数が多いでしょう。Cygwinはコマンドを実行します。SUAは、WindowsのピアであるUNIX環境です。
3
Jim B

JimBの回答についてコメントすることはできないため、ここで、特にWindows統合に関するポイントに取り組む。 Cygwinは、独自のサブシステムで実行するのではなく、Win32に基づいているため、速度は遅くなりますが、Windowsの統合が大幅に強化されます。 WindowsとUNIXのAPIを同じプログラムで使用することもでき、Cygwin Xサーバーやmintty端末などを使用できます。

Cygwinの 'ps'は、-Wオプションを指定するとWindowsプロセスをリストし、 'kill -f'はそれらを強制終了します。 WindowsプログラムはCygwin内から呼び出すことができ、パイプなどのすべての通常のメカニズムを使用してCygwinプログラムと一緒にプラグインできます。 (Interixでそれが可能かどうかはわかりません。)

スラッシュとバックスラッシュの両方を含むWindowsスタイルのパスがサポートされています。 Cygwin 1.7では、UTF-8がデフォルトの文字セットになり、WindowsのUTF-16ファイル名は自動的に変換されるため、どの言語のファイル名もCygwinで正しく表示されます。ここでInterixが何をするのかはわかりませんが、Unicodeをサポートしているという証拠は見つかりませんでした。

その他の統合機能には、エクスプローラーでファイルをダブルクリックしたかのようにファイルを開くための「cygstart」ユーティリティ、およびWindowsクリップボードにアクセスするための/ dev/clipboardデバイスが含まれます。

1
ak2

Interix for Windows 7のインストールの経験を共有しましょう。

私たちの旅は Windows Server 2008のあいまいなページ から始まります。

ここでは、Interixと呼ばれることもないことがわかりますが、Unixベースのアプリケーションのサブシステムまたは[〜# 〜] sua [〜#〜]。次に、ユーザーコメントからのみ、SUAはWindows 7 UltimateまたはEnterpriseでのみ使用できることに気づくでしょう。これは記事のどこにも記載されていません。 「サブシステム」をインストールすると、スタートメニューに2つ以上のショートカットがないことがわかります。

sua

今、あなたは本当の悪に到達します。ダウンロードのショートカットをクリックすると、 ダウンロードページに移動します。

old

ここにダウンロードできるファイルが3つあります。これらのファイルはすべて400MBを超えており、この記事の執筆時点では4歳以上です。さらに、カスタムパッケージ、特定のパーツなどをダウンロードするオプションはありません。次に、このリンクは実際にはWindows 7ではなくVista用であり、インターネットを検索してWindows 7ページ を検索する必要があることを理解します 。この時点で私はあきらめました。

Cygwin

cygwin.com に移動します。ダウンロード cygwin.com/setup-x86.exe 。このファイルは714 KBです。基本的なインストールを実行すると、約2分かかることがわかります。

time

その後、好みに応じて他の多くのパッケージのインストーラーを再利用できます。ストーリーの教訓は、Cygwinがユーザーを気遣うことです

1
Steven Penny

NIX風の "feel"はかなり主観的です。 CygWinには、必要なすべての機能を備えたCygWin/X Xwindowsサーバーがあるため、私の投票は賛成です。 SFUは基本的なX11ツールを入手しましたが、少なすぎて遅すぎました。多くの(私を含む)は、X11サーバーが必要なためにCygWinに導入されました。完全性の面では、CygWinはオープンソースであり、多くのGNUまたはGPLライセンスソフトウェアが移植されているため、より良い位置にあります。CygWinの商用製品はほとんど見ていませんが、 Windows NT用のUNIXサービスを必要とする1つの製品で、それ以降はありません。YMMV。

パッケージの可用性は、いくつかの要因によって影響を受けるCygWinの明らかな勝利です。-低いエントリコスト:SFU/SUAに対するCygWin対サーバークラスライセンスの「任意のWindows」。一部の機能は、Windowsのデスクトップフレーバーで使用できますが、より高価な種類のサーバーコンポーネントなしで使用できます。 -オープンソースとクローズドソース、そしてより重要なのはオープンに利用可能なドキュメント。過去に提供されたコマンドとAPIのリストでさえ、MSDNサブスクライバーだけが利用でき、Microsoftサイトではほとんどまたはまったく情報を入手できませんでした。対照的に、GNUツールセットは十分に文書化されており、オンラインとmanページの両方で利用できます;-命名と実装の変更は混乱を招きます。初期のバージョンはMKSツールキットを使用していましたが、後で放棄されました。 SFUからSUAは、マーケティングチームにとっては見た目は良いかもしれませんが、経験の浅いユーザーを混乱させています。

パフォーマンス-賢明なことに、Interixはカーネルに近いため、コード実行パスが短いと言えます。本当の問題はどのくらいで、それは重要ですか?ほとんどのプログラムでは、違いは数パーセントであり、無視できます。もちろん、I/Oが重い人為的な例を取り上げることもできます。 Windows上のネイティブWindowsとUNIXアドオンの両方よりも高速であるため、ネイティブUNIXにこのような負荷をかけることをお勧めします。 CygWinからInterix(またはその逆)への変換の例を私は知りませんが、多くは負荷の増加とともにWindowsからUNIXに移行しました。求められているのはUNIXの互換性であり、UNIXのパフォーマンスではないので、これをリストの最後に置きます。

0
Goldie