Interix
Interix was an optional, POSIX-conformant Unix subsystem for Windows NT operating systems. Interix was a component of Windows Services for UNIX, and a superset of the Microsoft POSIX subsystem. Like the POSIX subsystem, Interix was an environment subsystem for the NT kernel. It included numerous open source utility software programs and libraries. Interix was originally developed and sold as OpenNT until purchased by Microsoft in 1999.
Other names | OpenNT |
---|---|
Original author(s) | Softway Systems |
Developer(s) | Microsoft |
Initial release | March 29, 1996 |
Stable release | Subsystem for UNIX-based Applications in Microsoft Windows 7 and Windows Server 2008 R2 (6.1)
/ March 11, 2010 |
Operating system | Microsoft Windows |
Interix versions 5.2 and 6.0 were respective components of Microsoft Windows Server 2003 R2, Windows Vista Enterprise, Windows Vista Ultimate, and Windows Server 2008 as Subsystem for Unix-based Applications[1] (SUA[2]). Version 6.1 was included in Windows 7 (Enterprise and Ultimate editions) but disabled by default,[3] and in Windows Server 2008 R2 (all editions).[4] It was available as a deprecated[5] separate download for Windows 8 and Windows Server 2012, and is not available at all on Windows 10.
Details
The complete installation of Interix included (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 third party servers were available)
- Has Unix "root" capabilities (i.e. setuid files)
- Has pthreads, shared libraries, DSOs, job control, signals, sockets, shared memory
The development environment included support for C, C++ and Fortran. Threading was supported using the Pthreads model. Additional languages could be obtained (Python, Ruby, Tcl, etc.). Unix-based software packaging and build tools were available for installing or creating pre-build software packages.
Starting with release 5.2 (Server 2003/R2) the following capabilities were added:[6]
- "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 R4 utilities can be optionally installed instead of the default BSD-based utilities
- MSVC debugging plug-in
- 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
Interix release 6.0 for Vista was only available with the Ultimate and Enterprise editions.
Interix release 6.1 was available for Windows Server 2008 R2 and Windows 7 for the Enterprise and Ultimate editions.
Support
Traditional support was provided by Microsoft for a fee or service contract, though released hotfixes can usually be obtained free of charge from Microsoft. Previously, free support could be found via the forums at the SUA Community site[7] and with the FAQ,[8] however this appears to have been withdrawn.
Additions
Additional pre-built applications and development libraries could be obtained for free from the SUA Community site, the Gentoo-prefix site and the Debian-Interix site. These included commonly used applications not part of the Microsoft installation such as OpenSSH, Git, Python and bash.
The SUA Community site included for developers of Interix and the site has been contracted by Microsoft for several Interix and SUA updates of utilities and documentation.
History
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.
The Interix interoperability suite developed by Softway Systems Inc., included substantial code from OpenBSD,.[9][10] Microsoft acquired Interix in 1999.[11][12]
Microsoft continued to distribute Interix 2.2 as a standalone product until 2002.
Interix release 3.0 was released as component of Windows 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[6] as a component of Windows Server 2003 R2 in December, 2005 at release 5.2 and was a component of the Windows Vista release as release 6.0 (RTM November, 2006). Windows Server 2008 had release 6.0. Windows 7 and Windows Server 2008 R2 included SUA 6.1.
Microsoft announced in 2011 that Interix would not be included in Windows versions after Windows 8 and customers should start migrating their applications to an alternative solution.[13]
Releases
- 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[14]
- 1997-08-12 "OpenNT: UNIX Application Portability to Windows NT" Usenix presentation[15] (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[16]
- 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
See also
References
- Windows Server 2003 R2 UNIX Interoperability Components
- "Subsystem for UNIX-based Applications". Archived from the original on 2006-03-23. Retrieved 2006-01-31.
- "LBW: Installing Interix". Lbw.sourceforge.net. Retrieved 2014-03-31.
- Utilities and SDK for Subsystem for UNIX-based Applications in Microsoft Windows 7 and Windows Server 2008 R2
- Features Removed or Deprecated in Windows Server 2012
- "Windows 2003 R2 + Interix". Archived from the original on 2006-10-24. Retrieved 2006-10-15.
- SUA Community site
- Interix/SUA FAQ Page
- Dohnert, Roberto J. (2004-01-21), "Review of Windows Services for UNIX 3.5", OSNews, David Adams, archived from the original on 2008-02-11, retrieved 2020-07-19
- Reiter, Brian (2010-01-26). "WONTFIX: select(2) in SUA 5.2 ignores timeout". brianreiter.org.
- "Microsoft Acquires Softway Systems To Strengthen Future Customer Interoperability Solutions", Microsoft News Center, Microsoft, 1999-09-17
- "Milltech Consulting Inc". 2019. Archived from the original on 2020-09-18. Retrieved 2020-06-23.
- Installing SUA components on Windows 8
- Walli, Stephen R. (August 12, 1997). OPENNT: UNIX Application Portability to Windows NT via an Alternative Environment Subsystem. We're Not in Kansas Anymore. USENIX Windows NT Workshop, 1997. Retrieved 2022-05-20.
- Walli, Stephen R. (August 12, 1997). OPENNT: UNIX Application Portability to Windows NT. We're Not in Kansas Anymore. USENIX Windows NT Workshop, 1997. Retrieved 2022-05-20.
- Walli, Stephen R. (June 30, 2001). Strangely Enough, It All Turns Out Well (PDF). USENIX Technical Conference, 2001. Retrieved 2022-05-20.
Further reading
- Walli, Stephen R. (August 1997). "OPENNT: UNIX application portability to Windows NT via an alternative environment subsystem". In Lazowska, Ed; Jones, Michael B. (eds.). Proceedings of the USENIX Windows NT Symposium. 1997. Berkeley, CA: USENIX Association.
- Walli, Stephen R. (2016-04-13). "Running Linux Apps on Windows (and other stupid human tricks) Part I". medium.com.
- Walli, Stephen R. (2016-04-13). "Running Linux Apps on Windows (and other stupid human tricks) Part II". medium.com.
External links
- 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
- HOW TO: Install Interix (KB 324081 for Windows NT4/5 up to XP)
- Description from the Tcl-Wiki
- Debian-Interix Port; Debian based applications for Interix/SUA
- Gentoo Prefix Port Gentoo based port of many applications
- LBW: Linux Binaries on Windows, an Interix-based Linux system call translator for Windows