Windows Services for UNIX ( SFU ) — это устаревший программный пакет, разработанный корпорацией Microsoft , который предоставлял среду Unix для Windows NT и некоторых последующих операционных систем.
SFU 1.0 и 2.0 использовали MKS Toolkit ; начиная с SFU 3.0, SFU включал подсистему Interix , [1] которая была приобретена Microsoft в 1999 году у американской Softway Systems в рамках приобретения активов. [2] SFU 3.5 был последним релизом и был доступен для бесплатной загрузки от Microsoft. Windows Server 2003 R2 включал большинство прежних компонентов SFU (на Диске 2), называя компонент подсистемы Interix Подсистемой для приложений на базе UNIX (SUA). [3] В Windows Server 2008 и высокопроизводительных версиях Windows Vista и Windows 7 (Enterprise и Ultimate) был включен минимальный Interix SUA, но большинство других утилит SFU приходилось загружать отдельно с веб-сайта Microsoft. [1]
Подсистема Interix, включенная в SFU 3.0 и 3.5, а затем выпущенная как компоненты SUA Windows, предоставляла файлы заголовков и библиотеки, которые упрощали перекомпиляцию или портирование приложений Unix для использования в Windows; они не делали Linux или другие двоичные файлы Unix ( BSD , Solaris , Xenix и т. д.) совместимыми с двоичными файлами Windows. Как и подсистема Microsoft POSIX, которую заменил Interix, ее лучше всего рассматривать как отдельную платформу типа Unix .
В Windows 10 и Windows Server 2019 она заменена подсистемой Windows для Linux .
По состоянию на SFU 3.5 он содержал:
В SFU не содержалось следующего:
Хотя SFU включает клиентские библиотеки и приложения X Window System , он не содержит собственного сервера X. Администраторы могут настроить любой из многочисленных сторонних серверов Windows X. Полнофункциональные бесплатные варианты включают Cygwin/X , Xming и WeirdX.
Microsoft выпустила по крайней мере одну бета-версию первоначальной версии SFU перед ее финальным выпуском в феврале 1999 года. Эта версия, только на английском языке , поддерживалась на платформах Windows NT 4.0 SP3+ для x86 и Alpha . Это единственная известная версия, поддерживающая Alpha. Она включала демонстрационную версию MKS Toolkit вместе со следующими компонентами:
Эта вторая часть SFU была выпущена в апреле 2000 года и также была на английском языке; однако, релиз на японском языке появился всего два месяца спустя, в июне 2000 года. Обе работали на платформах Windows NT 4.0 SP4+ и Windows 2000 на платформах x86 с Internet Explorer 4.01+. SFU 2.0 поддерживала следующие версии UNIX: Solaris 2.6+, HP-UX 10.2+, AIX 4.2+, Tru64 UNIX 5.0+ и Red Hat Linux 5.1+. Она включала следующие компоненты:
Последующие обновления OEM-версий SFU 2.1, SFU 2.2 и SFU 2.3.
Эта версия, выпущенная в мае 2002 года, была первым релизом, включающим подсистему Interix . Ранее Microsoft выпустила Interix 2.2 (на самом деле версию 2.2.5) как отдельный продукт примерно в то же время, что и SFU 2.0. Этот релиз SFU включал Interix релиз 3.0 (обычно называемый «версией», как сообщает uname -r ) с внутренней версией Microsoft 7.0, которая относится к внутренним последовательностям сборки. Этот релиз Interix содержал значительные технические расширения из релиза Interix 2.2, такие как корневая файловая система и функциональность setuid, которые были полностью основаны на разработке Interix от Softway Systems под кодовым названием «Firebrand». Он также был выпущен на английском языке, а за ним последовал более поздний релиз на японском языке в октябре 2002 года, добавив поддержку интернационализации . Оба поддерживали Windows NT 4.0 SP6a+, Windows 2000 и Windows XP Professional на платформах x86 с Internet Explorer 5.0+. MKS Toolkit больше не был включен. В него вошли следующие компоненты:
Это был последний выпуск SFU и единственный выпуск, который распространялся бесплатно. Он был выпущен в январе 2004 года и включал как английскую, так и японскую версии для Windows 2000, Windows XP Professional и Windows Server 2003 (только исходный выпуск [a] ) на платформах x86 с Internet Explorer 5.0+. Он включал выпуск подсистемы Interix 3.5 (версия сборки 8.0), добавляющий поддержку интернационализации (по крайней мере для английской версии, которая не имела ее до сих пор) и потоки POSIX . Этот выпуск можно было установить только в файловую систему NTFS (более ранние версии поддерживали FAT ; это было сделано для улучшения требований к безопасности файлов в Interix 3.5). Следующие версии UNIX поддерживались для компонентов NFS: Solaris 7 и 8, Red Hat Linux 8.0, AIX 5L 5.2 и HP-UX 11i. Он включал следующие компоненты:
Microsoft не намерена выпускать какие-либо дополнительные автономные версии SFU, выбрав вместо этого интегрированную SUA. По состоянию на 18 августа 2016 года версия 3.5 недоступна по предоставленной ссылке Microsoft. [4] Общая поддержка продолжалась до 2011 года; расширенная поддержка до 2014 года. [5]
Перевод символов должен использоваться для размещения имен файлов, которые включают двоеточие (:) или другие символы, не соответствующие соглашениям об именовании файловых систем Windows. Файлы с одинаковыми именами, но с разным регистром также не допускаются по умолчанию, но могут быть включены при установке с побочным эффектом в виде того, что файловая система базового раздела станет чувствительной к регистру, [6] [7] даже для подсистемы Win32.
Сетевая аутентификация для систем UNIX основана на небезопасном протоколе NIS (аутентификация на основе LDAP и Kerberos требует стороннего решения). Microsoft выпустила несколько исправлений для служб Windows для UNIX и как минимум одно обновление безопасности (KB939778). Утилиты проекта GNU на несколько версий старше последних. Отдельный порт современных утилит Debian был запущен в 2007 году, но, по-видимому, заброшен в 2009 году. [8] Несколько утилит обработки текста в SUA (например, awk ) несовместимы с файлами Unicode или широкосимвольными текстовыми файлами.
Для Windows XP Professional x64 Edition недоступна версия Windows Services for UNIX . [9]
Windows Server 2003 R2 содержит большинство компонентов SFU, а именно Microsoft Services for Network File System (NFS), Subsystem for UNIX-based Applications (SUA, также известная как Interix ) и Identity Management for UNIX. [10] Обновление безопасности SFU 3.5 от июля 2007 года обновило posix.exe и связанные с ним файлы для соответствия версии SUA. [11]
В отличие от SFU, версия SUA, включенная в Windows Server 2003 R2 (и последующие версии), имеет 64-разрядную поддержку и позволяет связывать библиотеки Win32 с приложениями SUA. [12]
Windows Vista и Windows 7 Enterprise и Ultimate Editions также содержат компоненты Services for Unix, которые теперь называются Subsystem for UNIX-based applications (SUA), [3] и Client for NFS v3. Пользователи должны загрузить утилиты и SDK отдельно. Однако серверные компоненты из линейки продуктов SFU (а именно Server for NFS, User Name Mapping, Server for NIS, Password Synchronization и т. д.) не включены [13] — они включены в Server editions Windows (т. е. Windows Server 2008).
SUA был объявлен устаревшим в Windows 8 Enterprise [14] и Windows Server 2012, [15] и полностью удален в Windows 8.1 и Windows Server 2012 R2. [16] Сервер NFS по-прежнему поддерживается в Windows Server 2012 R2. [17] [18]
Функция клиента и функции сервера NFS отделены от SUA в Windows 7 и 2008, [19] и поддерживались до тех пор, пока ее не заменила подсистема Windows для Linux . На настольных компьютерах (Windows 7) NFS доступна только в редакциях Enterprise и Ultimate. [20] Бесплатная эталонная реализация NFS 4.1 для Windows (от UMICH CITI ), разработка которой спонсировалась Microsoft, [21] работает на младших версиях Windows 7, но требует более сложной установки. [22]
В Windows 8 клиент NFS получил поддержку krb5p ( Kerberos 5 с полным шифрованием данных). В Windows 7 Kerberos 5 поддерживался для аутентификации, но для данных была доступна только проверка целостности пакетов. Максимальный размер блока/буфера также был увеличен с 32 КБ до 1 МБ в Windows 8. [23]
В Windows Server 2012 добавлена поддержка сервера NFS 4.1. [24] [25] Новая реализация основана на ядре (RPC/XDR), но многие дополнительные функции NFS4 не реализованы, включая ACL, pNFS и т. д. Однако в PowerShell есть поддержка сопоставления идентификаторов пользователей. [26]
SUA устарела, начиная с выпуска [Windows 8 M3 Developer Preview], и будет полностью удалена из следующего выпуска.