Interix
Encyclopedia
Interix is the name of an optional, full-featured POSIX
and Unix
environment subsystem for Microsoft
's Windows NT
-based operating systems.
Interix is a component of the Services for Unix
(SFU) release 3.0 and 3.5 (this last one is distributed freely). The most recent releases of Interix, 5.2 and 6.0, are components of the Windows Server 2003 R2, Windows Vista
Enterprise and Ultimate editions
and Windows Server 2008 under the name SUA (Subsystem for Unix-based Applications). Version 6.1 is included in Windows 7 (Enterprise and Ultimate) and Windows Server 2008 R2
(all editions). It is set to be deprecated after the release of Windows 8.
in Windows NT
, Interix is an implementation of an environment subsystem running atop the Windows kernel, but with increased functionality. Interix provides numerous open source
utilities
.
The complete installation of Interix includes (at version 3.5):
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:
With release 6.0 (Vista and Server 2008) the following new features were added:
Interix release 6.0 for Vista
is only available with the Ultimate and Enterprise editions.
Interix release 6.1 is available for Windows Server 2008 R2
and Windows 7 for the Enterprise and Ultimate editions.
, 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.
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 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 1.1 and SDK (1.1)
OpenNT 2.0 (2.0)
OpenNT 2.1 (2.1)
Interix 2.2 (2.2)
Interix 2.2 Service Pack 1 (2.2.4)
Interix 2.2.5 (2.2.5)
Microsoft Windows Services for UNIX 3.0 (3.0)
Microsoft Windows Services for UNIX 3.5 (3.5)
Windows Server 2003 R2 (all editions) Subsystem for UNIX-based Applications (5.2)
Windows Vista (Ultimate and Enterprise editions) Subsystem for UNIX-based Applications (6.0)
Windows Server 2008 (all editions) Subsystem for UNIX-based Applications (6.0)
Subsystem for UNIX-based Applications in Microsoft Windows 7 and Windows Server 2008 R2 (6.1)
POSIX
POSIX , an acronym for "Portable Operating System Interface", is a family of standards specified by the IEEE for maintaining compatibility between operating systems...
and Unix
Unix
Unix is a multitasking, multi-user computer operating system originally developed in 1969 by a group of AT&T employees at Bell Labs, including Ken Thompson, Dennis Ritchie, Brian Kernighan, Douglas McIlroy, and Joe Ossanna...
environment subsystem for Microsoft
Microsoft
Microsoft Corporation is an American public multinational corporation headquartered in Redmond, Washington, USA that develops, manufactures, licenses, and supports a wide range of products and services predominantly related to computing through its various product divisions...
's Windows NT
Windows NT
Windows NT is a family of operating systems produced by Microsoft, the first version of which was released in July 1993. It was a powerful high-level-language-based, processor-independent, multiprocessing, multiuser operating system with features comparable to Unix. It was intended to complement...
-based operating systems.
Interix is a component of the Services for Unix
Microsoft Windows Services for UNIX
Windows Services for UNIX or Subsystem for UNIX-based Applications is a software package produced by Microsoft which provides a Unix subsystem and other parts of a full Unix environment on Windows NT and some of its immediate successor operating-systems...
(SFU) release 3.0 and 3.5 (this last one is distributed freely). The most recent releases of Interix, 5.2 and 6.0, are components of the Windows Server 2003 R2, Windows Vista
Windows Vista
Windows Vista is an operating system released in several variations developed by Microsoft for use on personal computers, including home and business desktops, laptops, tablet PCs, and media center PCs...
Enterprise and Ultimate editions
Windows Vista editions
Windows Vista is available in six different marketing editions. With the exception of Windows Vista Starter, all editions support both 32-bit and 64-bit processor architectures....
and Windows Server 2008 under the name SUA (Subsystem for Unix-based Applications). Version 6.1 is included in Windows 7 (Enterprise and Ultimate) and Windows Server 2008 R2
Windows Server 2008 R2
Windows Server 2008 R2 is a server operating system produced by Microsoft. It was released to manufacturing on July 22, 2009 and launched on October 22, 2009. According to the Windows Server Team blog, the retail availability was September 14, 2009. It is built on Windows NT 6.1, the same core...
(all editions). It is set to be deprecated after the release of Windows 8.
Details
Like the Microsoft POSIX subsystemMicrosoft POSIX subsystem
Microsoft POSIX subsystem is one of 3 subsystems of several operating systems from the Windows NT family ....
in Windows NT
Windows NT
Windows NT is a family of operating systems produced by Microsoft, the first version of which was released in July 1993. It was a powerful high-level-language-based, processor-independent, multiprocessing, multiuser operating system with features comparable to Unix. It was intended to complement...
, Interix is an implementation of an environment subsystem running atop the Windows kernel, but with increased functionality. Interix provides numerous open source
Open source
The term open source describes practices in production and development that promote access to the end product's source materials. Some consider open source a philosophy, others consider it a pragmatic methodology...
utilities
Utility software
Utility software is system software designed to help analyze, configure, optimize or maintain a computer. A single piece of utility software is usually called a utility or tool....
.
The complete installation of Interix includes (at version 3.5):
- Over 350 Unix utilities such as viVivi is a screen-oriented text editor originally created for the Unix operating system. The portable subset of the behavior of vi and programs based on it, and the ex editor language supported within these programs, is described by the Single Unix Specification and POSIX.The original code for vi...
, kshKorn shellThe Korn shell is a Unix shell which was developed by David Korn in the early 1980s and announced at USENIX on July 14, 1983. Other early contributors were AT&T Bell Labs developers Mike Veach, who wrote the emacs code, and Pat Sullivan, who wrote the vi code...
, cshC shellThe C shell is a Unix shell that was created by Bill Joy while a graduate student at University of California, Berkeley in the late 1970s. It has been distributed widely, beginning with the 2BSD release of the BSD Unix system that Joy began distributing in 1978...
, lsLsIn computing, ls is a command to list files in Unix and Unix-like operating systems. ls is specified by POSIX and the Single UNIX Specification.- History :An ls utility appeared in the original version of AT&T UNIX...
, catCat (Unix)The cat command is a standard Unix program used to concatenate and display files. The name is from catenate, a synonym of concatenate.- Specification :...
, awk, grepGrepgrep is a command-line text-search utility originally written for Unix. The name comes from the ed command g/re/p...
, kill, etc. - A complete set of manual pages for utilities and APIs
- GCCGNU Compiler CollectionThe GNU Compiler Collection is a compiler system produced by the GNU Project supporting various programming languages. GCC is a key component of the GNU toolchain...
3.3 compiler, includesHeader fileSome programming languages use header files. These files allow programmers to separate certain elements of a program's source code into reusable files. Header files commonly contain forward declarations of classes, subroutines, variables, and other identifiers...
and libraries - A cc/c89-like wrapper for Microsoft Visual StudioMicrosoft Visual StudioMicrosoft Visual Studio is an integrated development environment from Microsoft. It is used to develop console and graphical user interface applications along with Windows Forms applications, web sites, web applications, and web services in both native code together with managed code for all...
command-line C/C++ compiler - GNU DebuggerGNU DebuggerThe GNU Debugger, usually called just GDB and named gdb as an executable file, is the standard debugger for the GNU software system. It is a portable debugger that runs on many Unix-like systems and works for many programming languages, including Ada, C, C++, Objective-C, Free Pascal, Fortran, Java...
- X11X Window SystemThe X window system is a computer software system and network protocol that provides a basis for graphical user interfaces and rich input device capability for networked computers...
client applications and libraries (no X server included though, you can use XmingXmingXming is an implementation of the X Window System for Microsoft Windows operating systems, including Windows XP, Windows Server 2003, Windows Vista and Windows 7.-Features:...
for example) - Has Unix "root" capabilities (i.e. setuidSetuidsetuid and setgid are Unix access rights flags that allow users to run an executable with the permissions of the executable's owner or group...
files) - Has pthreadsPOSIX ThreadsPOSIX Threads, usually referred to as Pthreads, is a POSIX standard for threads. The standard, POSIX.1c, Threads extensions , defines an API for creating and manipulating threads....
, shared libraries, DSOExecutable and Linkable FormatIn computing, the Executable and Linkable Format is a common standard file format for executables, object code, shared libraries, and core dumps. First published in the System V Application Binary Interface specification, and later in the Tool Interface Standard, it was quickly accepted among...
s, job controlJob controlOn operating systems that support executing multiple processes in parallel or in series , job control refers to the orchestration of multiple batch jobs.-Unix shell:...
, signalsSignal (computing)A signal is a limited form of inter-process communication used in Unix, Unix-like, and other POSIX-compliant operating systems. Essentially it is an asynchronous notification sent to a process in order to notify it of an event that occurred. When a signal is sent to a process, the operating system...
, socketsBerkeley socketsThe Berkeley sockets application programming interface comprises a library for developing applications in the C programming language that perform inter-process communication, most commonly for communications across a computer network....
, shared memoryShared memoryIn computing, shared memory is memory that may be simultaneously accessed by multiple programs with an intent to provide communication among them or avoid redundant copies. Depending on context, programs may run on a single processor or on multiple separate processors...
The development environment includes support for C
C (programming language)
C is a general-purpose computer programming language developed between 1969 and 1973 by Dennis Ritchie at the Bell Telephone Laboratories for use with the Unix operating system....
, C++
C++
C++ is a statically typed, free-form, multi-paradigm, compiled, general-purpose programming language. It is regarded as an intermediate-level language, as it comprises a combination of both high-level and low-level language features. It was developed by Bjarne Stroustrup starting in 1979 at Bell...
and Fortran
Fortran
Fortran is a general-purpose, procedural, imperative programming language that is especially suited to numeric computation and scientific computing...
. Threading is supported using the Pthreads model.
Additional languages can be obtained (Python
Python (programming language)
Python is a general-purpose, high-level programming language whose design philosophy emphasizes code readability. Python claims to "[combine] remarkable power with very clear syntax", and its standard library is large and comprehensive...
, Ruby
Ruby (programming language)
Ruby is a dynamic, reflective, general-purpose object-oriented programming language that combines syntax inspired by Perl with Smalltalk-like features. Ruby originated in Japan during the mid-1990s and was first developed and designed by Yukihiro "Matz" Matsumoto...
, Tcl
Tcl
Tcl is a scripting language created by John Ousterhout. Originally "born out of frustration", according to the author, with programmers devising their own languages intended to be embedded into applications, Tcl gained acceptance on its own...
, 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-bit64-bit64-bit is a word size that defines certain classes of computer architecture, buses, memory and CPUs, and by extension the software that runs on them. 64-bit CPUs have existed in supercomputers since the 1970s and in RISC-based workstations and servers since the early 1990s...
CPU support (in addition to 32-bit) - Large file system support on 64-bit systems
- System VUNIX System VUnix System V, commonly abbreviated SysV , is one of the first commercial versions of the Unix operating system. It was originally developed by American Telephone & Telegraph and first released in 1983. Four major versions of System V were released, termed Releases 1, 2, 3 and 4...
utilities can be optionally installed instead of the default BSDBerkeley Software DistributionBerkeley Software Distribution is a Unix operating system derivative developed and distributed by the Computer Systems Research Group of the University of California, Berkeley, from 1977 to 1995...
-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:
- IPv6IPv6Internet Protocol version 6 is a version of the Internet Protocol . It is designed to succeed the Internet Protocol version 4...
support for socket APIs and daemons - Updates to utilities for additional functionality
- MSVC debugging plug-in enhanced
Interix release 6.0 for Vista
Windows Vista
Windows Vista is an operating system released in several variations developed by Microsoft for use on personal computers, including home and business desktops, laptops, tablet PCs, and media center PCs...
is only available with the Ultimate and Enterprise editions.
Interix release 6.1 is available for Windows Server 2008 R2
Windows Server 2008 R2
Windows Server 2008 R2 is a server operating system produced by Microsoft. It was released to manufacturing on July 22, 2009 and launched on October 22, 2009. According to the Windows Server Team blog, the retail availability was September 14, 2009. It is built on Windows NT 6.1, the same core...
and Windows 7 for the Enterprise and Ultimate editions.
Support
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.Additions
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 OpenSSHOpenSSH
OpenSSH is a set of computer programs providing encrypted communication sessions over a computer network using the SSH protocol...
, Git
Git
Git may refer to:* Git , a British English term of abuse* Git , a distributed version control system* Git , by Skeletons & The Girl-Faced Boys...
, Python
Python (programming language)
Python is a general-purpose, high-level programming language whose design philosophy emphasizes code readability. Python claims to "[combine] remarkable power with very clear syntax", and its standard library is large and comprehensive...
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.
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.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 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
Windows Vista
Windows Vista is an operating system released in several variations developed by Microsoft for use on personal computers, including home and business desktops, laptops, tablet PCs, and media center PCs...
release as release 6.0 (RTM November, 2006). Windows Server 2008 has release 6.0. Windows 7 and Windows Server 2008 R2
Windows Server 2008 R2
Windows Server 2008 R2 is a server operating system produced by Microsoft. It was released to manufacturing on July 22, 2009 and launched on October 22, 2009. According to the Windows Server Team blog, the retail availability was September 14, 2009. It is built on Windows NT 6.1, the same core...
include SUA 6.1.
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
- 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
- 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
- 2000-06 SFU 2.0 ja for WinNT 4.0(SP4+),5.0 i386
- 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
See also
- Services for Unix
- XmingXmingXming is an implementation of the X Window System for Microsoft Windows operating systems, including Windows XP, Windows Server 2003, Windows Vista and Windows 7.-Features:...
- MKS ToolkitMKS ToolkitMKS Toolkit is a software package produced and maintained by MKS Inc. that provides a Unix-like environment for scripting, connectivity and porting Unix and Linux software to both 32- and 64-bit Microsoft Windows systems. It was originally created for MS-DOS....
- UnxUtilsUnxUtilsUnxUtils is a collection of ports of common GNU Unix-like utilities to native Win32, with executables only depending on the Microsoft C-runtime msvcrt.dll. The collection was last updated externally on April 15, 2003 by Dr. . The most recent release package is now available as an open-source...
- UWINUWINUWIN is a computer software package created by David Korn which allows programs written for the operating system Unix be built and run on Microsoft Windows with few, if any, changes...
- GnuWin32GnuWin32The GnuWin32 project provides native ports in the form of runnable computer programs, patches, and source code for various GNU and open source tools and software, much of it modified to run on the 32-bit Windows platform...
- GNUWin IIGNUWin IIGNUWin II was a large collection of free software for Microsoft Windows created by the Linux User Group of the École Polytechnique Fédérale de Lausanne...
- CygwinCygwinCygwin is a Unix-like environment and command-line interface for Microsoft Windows. Cygwin provides native integration of Windows-based applications, data, and other system resources with applications, software tools, and data of the Unix-like environment...
- MinGWMinGWMinGW , formerly mingw32, is a native software port of the GNU Compiler Collection and GNU Binutils for use in the development of native Microsoft Windows applications; MinGW can function either as a cross compiler targeting Windows or as a native toolchain run on Windows itself...
- LBW: Linux Binaries on Windows requires Interix to be installed first.
External links
- 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