Debian Interix Port
This is a port of the Debian distribution to Interix, aka
Microsoft Services for UNIX (SfU)
or
Subsystem for UNIX based applications (SUA).
Here is a list with current hotfixes for SfU 3.5, SUA 5.2, and SUA 6.0.
| Debian Architecture | interix-i386 | dpkg-architecture -qDEB_HOST_ARCH
|
| Kernel Architecture | x86 | uname -m
|
| GNU GCC Architecture | i586-pc-interix3 | gcc -dumpmachine
|
Status of the Interix Port
This port aims to bring the rich collection of
Debian software to the Interix environment.
It is in a very early state, although it is quite useful. Highlights are:
- gcc-4.2 including g++-4.2 and gfortran-4.2
- X.Org 7.3 libs (no X server however)
- Perl 5.8
- Python 2.4
- Ruby 1.8
- TeXlive 2007
- GTK+2.0
- OpenSSH client and server 4.7p1, including source
A similar, much older project is
Interopsystems /Tools
with its great
forum.
There is also a
NetBSD port (currently not maintained)
and a
Gentoo
for Interix available. More on Gentoo
here.
And Gentoo patches
here.
Another similar, but technically very different project is
Cygwin.
I decided to start this project for the following reasons:
- Debian software is usually more current than that on Interopsystems /Tools
- In my opinion the Debian packaging tools are more powerful than
those used by Interopsystems /Tools.
- Shared libraries are packaged more sophisticated on Debian,
e.g. they have a SONAME.
- Packages are installed into Debian standard directories (most notably: /usr/bin)
instead of /usr/local/ and so binaries
don't need any RPATH entries.
- Debian arch-all packages are immediately available on Interix as well.
- All (modifications to the) sources for the packages are available.
- Builds are mostly done in clean chroot environments, build logs are available for reference.
- Portability issues will show up and can be used to make free software
even better.
- Windows users can make use of free software, too.
Mailing List
There is a
mailing list
for general discussion on the Debian Interix Port available.
Installation and usage
Detailed installation instructions can be found
here.
Currently available packages for Debian GNU/Interix include both the
Not all architecture independent packages can be installed, however, as several of them
depend on architecture specific packages which aren't (yet) available for Debian GNU/Interix.
Also available are
The debian-interix archive can be used with the
following entries in /etc/apt/sources.list:
deb http://debian-interix.net/debian-interix unstable35 main
deb http://debian-interix.net/debian-interix unreleased35 main
deb http://ftp.debian.org/debian dists/unstable/main/binary-i386/
In unstable35 those packages can be found which needed no modification
from the official Debian unstable sources. In unreleased35 the modified
packages can be found. The last line is for arch-all packages.
You should create the file /etc/apt/preferences with the following
content to avoid updating arch-all packages to the standard Debian version
when a change for Interix has been made. See apt_preferences(5) for details.
Package: *
Pin: release a=unreleased35
Pin-Priority: 800
Architecture details
debian-interix currently doesn't use glibc, but
the libc (and libm, libcurses, etc.) provided with Interix.
Although most of the X.Org 7.2/7.3 libraries have been built for Interix,
there won't never be a native X server, as the Interix kernel doesn't
allow access to the raw graphics device. The only useful X servers that may
be built some day for Interix are the X11 VNC server and the
X11 RDP server.
You may use Interix X programs together with a Win32 X11 server, such as
Xming, however.
Sources used by the Interix Port
The binary packages for the Interix port are built from the official
Debian unstable source packages, with modifications specific to Interix applied,
if any. The patches can be found along with the packages in the
package pool directory.
Look for *.interdiff.gz files. The build logs are also available there.
Tech tips
A collection of technical questions
regarding Interix and Debian is available.
Bug database
I've set up a bug database which lists bugs in the
Interix kernel and the MS supplied libraries.
Utilities
My Perl script for backing up NTFS files.
Open problems
- build ncurses with wchar support and then build aptitude
(problem: libc doesn't have full wchar support)
ToDo
The following tasks still have to be done:
- make this web site better
- set up an automatic buildd
- integrate the patches used for the Interix port
either upstream or in official Debian
- build ncursesw and aptitude
- one very far day: package X11 VNC and RDP server
- ... and many more
History
- 2009-01-29: new mailing list for debian-interix available
- 2008-06-30: since the last buildd run there are now over 1000 packages available for interix-i386
- 2008-06-22: added apt-pinning hint
- 2008-06-09: added Perl modules Win32::Find and Win32::NtfsBackup
- 2008-05-18: openssh server now availabe, including source
- 2008-04-21: GTK+2.0 libs got finally built, after fixing a bug related to getcwd() in bash
- 2008-03-15: extended hotfix index for SUA 5.2 and SUA 6.0
- 2007-12-15: added SfU 3.5 hotfix index
- 2007-11-12: texlive available
- 2007-10-30: highlights section added
- 2007-09-22: available package lists added
- 2007-09-19: X11 client libs available
- 2007-09-10: zsh-4.3.4+dev available
- 2007-09-01: gfortran-4.2, ruby1.8, and w3m (together with necessary libgc) packaged
- 2007-08-17: added links to NetBSD and Gentoo for Interix
- 2007-07-18: bug database added
- 2007-06-29: created the tech docs section, DEP issue resolved
- 2007-06-13: gcc-4.2 has been packaged
- 2007-05-27: initial web site created
Thanks
I would like to thank all people who helped improving this port,
especially those listed here.
Further help is always appreciated, if you like this port and want to help
please contact me.
Initial version of this document (based on PPC64 port page): 2007-05-27
Last update of this document: Friday, 30-Jan-2009 01:13:18 CET
Copyright 2007-2009 Martin Köppe <mkoeppe 'at' gmx . de>
This text is free software; you may redistribute it and/or modify it
under the terms of the GNU General Public License as published by the
Free Software Foundation; either version 2, or (at your option) any
later version.
This is distributed in the hope that it will be useful, but without any
warranty; without even the implied warranty of merchantability or
fitness for a particular purpose. See the GNU General Public License for
more details.
A copy of the GNU General Public License is available as
/usr/share/common-licenses/GPL in the Debian GNU/Linux distribution or
on the World Wide Web at the GNU web site. You can also obtain it by
writing to the Free Software Foundation, Inc., 59 Temple Place - Suite
330, Boston, MA 02111-1307, USA.