summaryrefslogtreecommitdiff
path: root/bootstrap/README.Interix
blob: e78bdc71b49071430ac74f5ebddc05690ce199d6 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
$NetBSD: README.Interix,v 1.11 2004/05/02 03:38:21 tv Exp $

Please read the general README file as well.

Interix is a POSIX compatible subsystem for the Windows NT kernel,
providing a Unix-like environment with a tighter kernel integration than
available with Cygwin.  It is part of the Windows Services for Unix
package, available for free for any licensed copy of Windows 2000, XP,
or 2003.  SFU can be downloaded from:

    http://www.microsoft.com/windows/sfu/

Services for Unix 3.5, current as of this writing, has been tested.  3.0
or 3.1 may work, but are not officially supported.  (The main difference
in 3.0/3.1 is lack of pthreads.)

A prebuilt bootstrap kit and prebuilt binary packages for Interix 3.5 are
available from the pkgsrc information page:

    http://www.netbsd.org/Documentation/software/packages.html

=====

At an absolute minimum, the following packages must be installed from
the Windows Services for Unix 3.5 distribution in order to use pkgsrc:

    Utilities -> Base Utilities
    Interix GNU Components -> (all)
    Remote Connectivity
    Interix SDK

When using pkgsrc on Interix, it is best NOT to install the Utilities
subcomponent "UNIX Perl".  That is Perl 5.6 without shared module
support, installed to /usr/local, and will only cause confusion. 
Instead, install Perl 5.8 from pkgsrc (or from a binary package
available at the URL above).

The Remote Connectivity subcomponent "Windows Remote Shell Service" does
not need to be installed, but Remote Connectivity itself should be
installed in order to have a working inetd.

Finally, during installation you may be asked whether to enable setuid
behavior for Interix programs, and whether to make pathnames default to
case-sensitive.  Both options should be enabled.  (If you choose to
disable setuid, many system programs from pkgsrc may not work.)

=====

IMPORTANT NOTES

* The package imanager (either the pkgsrc "su" user, or the user
  running "pkg_add") must be a member of the local Administrators
  group.  Such a user must also be used to run the bootstrap.  This is
  slightly relaxed from the normal pkgsrc requirement of "root".

* The package manager should use a umask of 002.  "make install" will
  automatically complain if this is not the case.  This ensures that
  directories written in /var/db/pkg are Administrators-group writeable. 

* The popular Interix binary packages from http://www.interopsystems.com/
  use an older version of pkgsrc's pkg_* tools.  Ideally, these should
  NOT be used in conjunction with pkgsrc.  If you choose to use them at
  the same time as the pkgsrc packages, ensure that you use the proper
  pkg_* tools for each type of binary package.

=====

KNOWN ISSUES

* It is not necessary, in general, to have a "root" user on the Windows
  system; any member of the local Administrators group will suffice. 
  However, some packages currently assume that the user named "root" is
  the privileged user (these will eventually be fixed).  To accommodate
  these, you may create such a user; make sure it is in the local group
  Administrators.

And the following issue means that binary packages (pkg_add) should be
installed by Administrator for the time being:

* "pkg_add" creates directories of mode 0755, not 0775, in $PKG_DBDIR.
  This will be fixed.

=====