Windows 7'de UNIX Tabanlı Uygulamalar için Alt Sistem


12

Diye bir fark UNIX Tabanlı Uygulamalar için Alt Sistem içinde Windows özelliklerini açın ve kapatma Windows 7 altında diyalog asla önceden görmüş ve ilginç görünüyor. Tam olarak gerçekte nedir? Ne için ve ne için kullanabilirim?


1
7 Professional bunu kullanmak için bir kesmek var mı?
iceman

@iceman: Sonra Enterprise ya da Ultimate'ı kurun.
Joey

Yanıtlar:


17

Daha önce SFU veya UNIX için Hizmetler olarak biliniyordu . Windows'taki bir ortam alt sistemidir, tam POSIX uyumluluğu ve normalde UNIX sistemleriyle birlikte gelen çok sayıda araç sunar.

Bir ortam alt sistemi olarak bu , Windows API ile birlikte , doğrudan çekirdeğin üstünde çalıştığı anlamına gelir . Dolayısıyla, yerel Windows API'sinin kendisinden daha fazla öykünmez ve bu nedenle, örneğin cygwin'den daha iyi performans gösterir. 1

Temel olarak UNIX uygulamalarını doğrudan Windows üzerinde oluşturmak ve çalıştırmak için tasarlanmıştır, bu nedenle en sevdiğiniz UNIX programınız bir Windows bağlantı noktasıyla gelmezse, SUA'da oluşturmayı deneyebilirsiniz:

Unix Tabanlı Uygulamalar için Windows Services ve Unix Alt Sistemleri, Unix uygulamalarını Windows'ta kullanmak üzere yeniden derlemeyi veya yerleştirmeyi kolaylaştıran başlık dosyaları ve kitaplıklar sunar; Unix ikili dosyalarını Windows ikili dosyaları ile uyumlu hale getirmezler. En iyi Unix benzeri farklı bir platform olarak düşünüldü.

SFU'nun şu anki sürümü:

  • Vi, ksh, csh, ls, cat, awk, grep, kill, vs. gibi 350'nin üzerinde Unix aracı
  • GCC 3.3 derleyicisi, kapsamları ve kütüphaneleri (bir MS libc aracılığıyla)
  • Microsoft Visual Studio komut satırı C / C ++ derleyicisi için cc benzeri bir sarmalayıcı
  • GDB hata ayıklayıcısı
  • NFS sunucusu ve istemcisi
  • Bir pcnfsd daemon
  • X11 araçları ve kütüphaneleri
  • NFS bağlama noktaları oluşturmak için araçlar, Windows paylaşımları ve tam tersi (ağ geçidi servisleri)
  • Active Directory ile bağlantılı bir NIS sunucusu özelliği (AD)
  • Bazı Windows / Unix kimlik doğrulama bilgileri senkronizasyon araçları

SFU şunları içermez (ikili dosyalar ayrı bir kurulum için kullanılabilir):

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

(Vikipedi)

SUA Linux veya BSD değil, sadece düz POSIX kullanmaya çalıştığı için, platforma özgü şeylere dayanan birçok programın inşa edilememesi veya çalıştırılmaması anlamına gelebilir. Sh veya Linux'a özgü sistem çağrıları yerine bash işlevi gören Shell komut dosyaları akla geliyor. Bugünlerde POSIX uyumlu herhangi bir sistemde doğrudan çalışabilen çok az sayıda program yazılmıştır. Ayrıca içerilen gcc sürümü biraz eskidir, bu da en son C99 + iyiliğinizi desteklemeyebileceği anlamına gelir.


1 Yavaş işlem başlangıç ​​zamanı, bu yüzden aşırı çatallaşma hala çok yavaş olacaktır, bu yüzden birçok ./configurekomut dosyası veya bazı dosya dosyalarının çalıştırılması için bu kadar beklemelisiniz .


Güzel. Bu, kabuk gibi bir unix alabileceğiniz ve ssh kullanabileceğiniz anlamına mı geliyor?
Svish

SSH sunucusu veya istemcisi yok, ancak csh ve ksh dahil edildi (zaten daha fazlası POSIX tarafından zorunlu değil). İşe yarayacaklarını umarak, ihtiyacınız olan şeyi oluşturabilirsiniz (daha karmaşık yazılımlar için genellikle dosya dosyalarının ve yazılımların POSIX ile yazılmadığından ya da gcc ve bir Microsoft libc ile yazılmadığından daha karmaşık yazılımlar için. Linux araçları da ünlüdür. . Özel bir nedeni bash gerektiren Görünüşe yapabilirsiniz . gerçi ben şimdiye kadar, gerçi bunu başaramadı ama benim deneyim şeyler artık değiştiğini olabilir geri SFU 3.5 Windows 2000 tarihinde büyük, pkgsrc kurdu.
Joey,

NT'deki orijinal POSIX alt sistemi, Win32 ve OS / 2 alt sistemlerinin yanı sıra doğrudan çekirdeğin üzerinde çalışıyordu, ancak SUA, Windows API'sinin üzerinde çalışıyor.
ン ー パ ー フ ァ ミ コ ン

2
matthews: SUA'nın çalıştırılabilir dosyaları hala POSIX Subsystem uygulamalarıdır (evet, aslında bir hex editörü alıp içeri baktım). Böylece, çekirdek Windows API'dan bir şey çalıştırma fikrini bile alamaz.
Joey

4
@Svish: OpenSSH SUA ikili dosyalarını suacommunity.com adresinden indirebilirsiniz
bk1e

1

Yazılımı yüklemek / kaldırmak için BSD stili paketler kullanabilirsiniz. OpenSSH kurulu ise SUA'ya SSH üzerinden erişebilirsiniz.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.