Interix is an optional, POSIX-conformant Unix subsystem for Windows NT operating systems. Interix is a component of Windows Services for UNIX, and a superset of the Microsoft POSIX subsystem. Like the POSIX subsystem, Interix is an environment subsystem for the NT kernel. It includes numerous open source utility software programs and libraries.
Interix versions 5.2 and 6.0 are respective components of Microsoft Windows Server 2003 R2, Windows Vista Enterprise, Windows Vista Ultimate, and Windows Server 2008 as Subsystem for Unix-based Applications (SUA). Version 6.1 is included in Windows 7 (Enterprise and Ultimate editions), and in Windows Server 2008 R2 (all editions).
The complete installation of Interix includes (at version 3.5):
- Over 350 Unix utilities such as vi, ksh, csh, ls, cat, awk, grep, kill, etc.
- A complete set of manual pages for utilities and APIs
- GCC 3.3 compiler, includes and libraries
- A cc/c89-like wrapper for Microsoft Visual Studio command-line C/C++ compiler
- GNU Debugger
- X11 client applications and libraries (no X server included though, you can use Xming for example)
- Has Unix "root" capabilities (i.e. setuid files)
- Has pthreads, shared libraries, DSOs, job control, signals, sockets, shared memory
The development environment includes support for C, C++ and Fortran. Threading is supported using the Pthreads model. Additional languages can be obtained (Python, Ruby, Tcl, etc.). Unix-based software packaging and build tools are available for installing or creating pre-build software packages.
Starting with release 5.2 (Server 2003/R2) the following capabilities were added:
- "Mixed mode" for linking Unix programs with Windows DLLs
- 64-bit CPU support (in addition to 32-bit)
- Large file system support on 64-bit systems
- System V utilities can be optionally installed instead of the default BSD-based utilities
- MSVC debugging plug-in
- SVR4 based utilities as an alternate installation
- Database (OCI/ODBC) library connectivity
With release 6.0 (Vista and Server 2008) the following new features were added:
- IPv6 support for socket APIs and daemons
- Updates to utilities for additional functionality
- MSVC debugging plug-in enhanced
Traditional support is provided by Microsoft for a fee or service contract, though released hotfixes can usually be obtained free of charge from Microsoft. Alternative, free support can be found with the forums at the SUA Community site and with the FAQ.
Additional pre-built applications and development libraries can be obtain for free from the SUA Community site, the Gentoo-prefix site and the Debian-Interix site. These include commonly used applications not part of the Microsoft installation such as OpenSSH, Git, Python and bash.
The SUA Community site includes for developers of Interix and the site has been contracted by Microsoft for several Interix and SUA updates of utilities and documentation.
This product began to be developed in 1996 under the product name OpenNT by Softway Systems, Inc. before the name was changed to Interix in 1998. The last release by Softway Systems was release 2.2. Softway Systems had virtually completed the next release code-named Firebrand in 1999 which became the basis of Interix 3.0.
Interix was acquired by Microsoft in 1999. Microsoft continued to distribute Interix 2.2 as a standalone product until 2002.
Interix release 3.0 was released as component of Services for Unix (SFU) 3.0 in 2002. Interix release 3.5 was released as component of SFU 3.5 in January, 2004.
Interix became integrated as a component of the regular Windows OS distribution as a component of Windows Server 2003 R2 in December, 2005 at release 5.2 and is a component of the Windows Vista release as release 6.0 (RTM November, 2006). Windows Server 2008 has release 6.0. Windows 7 and Windows Server 2008 R2 include SUA 6.1.
- OpenNT Commands & Utilities, Release 1.0 (1.0)
- 1996-03-29 OpenNT Commands & Utilities, Release 1.0 for WinNT POSIX Subsystem
- 1996-07 X11R6 Server (Win32)
- 1996-08 telnetd (and inetd)
- OpenNT 1.1 and SDK (1.1)
- 1996-09 OpenNT 1.1 and SDK for WinNT i386,alpha
- OpenNT 2.0 (2.0)
- 1997-05 OpenNT 2.0 (Apache httpd and xv) for WinNT i386,alpha
- 1997-08-12 "OpenNT: UNIX Application Portability to Windows NT via an Alternative Environment Subsystem" Usenix paper
- 1997-08-12 "OpenNT: UNIX Application Portability to Windows NT" Usenix presentation (again 1998-06)
- 1997-11 "inetd and telnetd on Windows NT with OpenNT"
- OpenNT 2.1 (2.1)
- 1997-12 OpenNT 2.1 for WinNT i386,alpha
- 1998-01 OpenNT 2.1
- 1998-02 "Technical Note #9: inetd and the Daemon Package"
- 1998-spring paper update
- 1998-06 Interix 2.1 rebranding
- Interix 2.2 (2.2)
- 1998-06 Interix 2.2(.0)?
- 1999-02 SFU 1.0 en for WinNT 4.0(SP3+) i386,alpha (does not contain Interix; included for historical purposes with MS acquisition)
- 1999-09-17 Acquired by Microsoft
- 1999-12 Interix 2.2(.0) for WinNT 3.51(SP5+),4.0(SP3+),5.0
- Interix 2.2 Service Pack 1 (2.2.4)
- Interix 2.2.5 (2.2.5)
- 2000-02 Interix 2.2.5 for WinNT 4.0(SP5+),5.0
- 2000-04 SFU 2.0 en for WinNT 4.0(SP4+),5.0 i386 (does not contain Interix; included for historical purposes with MS acquisition)
- 2000-06 SFU 2.0 ja for WinNT 4.0(SP4+),5.0 i386 (does not contain Interix; included for historical purposes with MS acquisition)
- 2001-06-30 "Strangely Enough It All Turns Out Well" Usenix talk
- Microsoft Windows Services for UNIX 3.0 (3.0)
- 2002-05 SFU 3.0 en for WinNT 4.0(SP6a+),5.0,5.1 i386
- Interix 3.0 (AKA Firebrand)
- 2002-10 SFU 3.0 ja for WinNT 4.0(SP6a+),5.0,5.1 i386
- Microsoft Windows Services for UNIX 3.5 (3.5)
- 2004-01 SFU 3.5 en,ja for WinNT 5.0,5.1,5.2 i386
- Windows Server 2003 R2 (all editions) Subsystem for UNIX-based Applications (5.2)
- 2005-12-06 WinNT 5.2 R2
- Windows Vista (Ultimate and Enterprise editions) Subsystem for UNIX-based Applications (6.0)
- 2006-11-08 WinNT 6.0 (2007-01-30)
- Windows Server 2008 (all editions) Subsystem for UNIX-based Applications (6.0)
- 2008-02-04 WinNT 6.0
- Subsystem for UNIX-based Applications in Microsoft Windows 7 and Windows Server 2008 R2 (6.1)
- 2010-03-11 WinNT 6.1
- UNIX Tools for Windows; Prepackaged application binaries from Interop Systems
- Interix/SUA Forums; For posting questions about installation, code porting and technical questions
- Services for UNIX - Interoperability: A blog on Services for UNIX and UNIX Interoperability components in Windows by Ashish (official blog, MSDN)
- INTERIX: UNIX Application Portability to Windows NT via an Alternative Environment Subsystem PDF historical
- SUA Installation Webcast on Interop Systems
- HOW TO: Install Interix
- Description from the Tcl-Wiki
- Debian-Interix Port; Debian based applications for Interix/SUA
- Gentoo Prefix Port Gentoo based port of many applications