Підсистема додатків на основі 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.