Підсистема додатків на основі UNIX у Windows 7


12

Помітив, що називається Підсистема для додатків на основі UNIX в Вмикайте та вимикайте функції Windows Діалогове вікно під Windows 7. Ніколи не бачив його раніше, і здається цікавим. Що це таке насправді? Для чого це і для чого я можу його використовувати?


1
є хак використовувати це в Windows 7 Professional?
iceman

@iceman: потім встановіть Enterprise або Ultimate.
Joey

Добре прочитати: «Сумна історія підсистеми Microsoft POSIX» brianreiter.org/2010/08/24/…
Daniel Sokolowski

Відповіді:


17

Раніше відомий як СФУ або Послуги для UNIX . Це підсистема навколишнього середовища у Windows, яка забезпечує повне дотримання POSIX та велику кількість інструментів, які зазвичай постачаються з системами UNIX.

Як підсистема навколишнього середовища це означає, що він працює поруч Windows API, безпосередньо поверх ядра. Таким чином, це не більше емуляції, ніж власний Windows API, і тому виконує набагато краще, ніж cygwin, наприклад. 1

В основному він призначений для створення та запуску програм UNIX безпосередньо в ОС Windows, так що якщо ваша улюблена програма UNIX не постачається з портом Windows, ви можете спробувати побудувати його в SUA:

Служби Windows для Unix та підсистеми для Unix-додатків забезпечують файли заголовків і бібліотеки, які полегшують перекомпілювати або портувати Unix-програми для використання в Windows; вони не роблять двійкові файли Unix сумісними з двійковими файлами Windows. Найкраще це розглядати як окрему Unix-подібну платформу.

Поточна версія SFU містить:

  • Більше 350 утиліт Unix, таких як vi, ksh, csh, ls, cat, awk, grep, kill і т.д.
  • Компілятор GCC 3.3 включає бібліотеки та бібліотеки (через MS libc)
  • Cc-подібна обгортка для компілятора C / C ++ командного рядка Microsoft Visual Studio
  • Відладчик GDB
  • NFS сервер і клієнт
  • Демон pcnfsd
  • X11 інструменти та бібліотеки
  • Інструменти для створення точок монтування NFS відображаються як папки Windows, і навпаки (послуги шлюзу)
  • Можливість сервера NIS, пов'язана з Active Directory (AD)
  • Деякі інструменти синхронізації інформації автентифікації Windows / Unix

SFU не містить таких (але для окремої установки доступні двійкові файли):

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

(Вікіпедія)

Оскільки SUA не намагається бути Linux або BSD, а просто POSIX, це може також означати, що багато програм, які покладаються на конкретні платформи, можуть не створити або запустити. Пригадуються сценарії оболонки, які передбачають bash замість sh або Linux-специфічних системних викликів. На сьогодні написано дуже мало програм, які можуть працювати безпосередньо на будь-якій POSIX-сумісній системі. Крім того, версія gcc, яка включена, є дещо старою, що означає, що вона може не підтримувати ваш останній C99 + доброта.


1 До цих пір підлягають обмеження, характерні для Windows, такі як повільний час запуску процесу, тому екстремальна роздвоєння все ще буде дуже повільною, тому ви будете чекати багато років ./configure скриптів або деяких make-файлів для виконання.


Cool. Отже, чи означає це, що ви можете отримати Unix як оболонку і використовувати ssh наприклад?
Svish

Ні SSH-сервер, ні клієнт, але csh і ksh включені (багато іншого більше не призначено POSIX). Ви можете побудувати з джерела те, що вам потрібно, сподіваючись, що він працюватиме (для більш складного програмного забезпечення зазвичай це не відбувається, оскільки make-файли та програмне забезпечення не написані з урахуванням POSIX, або з gcc і Microsoft libc. що вимагає bash без особливої ​​причини може встановіть pkgsrc. Мені не вдалося це зробити до цих пір, хоча, але мій досвід датується SFU 3.5 на Windows 2000. Можливо, що тепер змінилися.
Joey

Хоча справжня підсистема POSIX в NT працювала безпосередньо на ядрі поряд з підсистемами Win32 і OS / 2, SUA працює над Windows API.
スーパーファミコン

2
matthews: Виконувані файли для SUA все ще додатків до підсистеми POSIX (так, я фактично взяв шестнадцятковий редактор і заглянув усередину). Таким чином, ядро ​​навіть не отримає уявлення про те, що працює з Windows API.
Joey

4
@Svish: Ви можете завантажити бінарні файли OpenSSH SUA (і багато іншого) з suacommunity.com
bk1e

1

Можна використовувати пакети стилів BSD для встановлення / видалення програмного забезпечення. Доступ до SUA можна отримати за допомогою SSH, якщо встановлено OpenSSH.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.