[BACK]Return to README.Interix CVS log [TXT][DIR] Up to [cvs.NetBSD.org] / pkgsrc / bootstrap

Annotation of pkgsrc/bootstrap/README.Interix, Revision 1.18

1.18    ! jperkin     1: $NetBSD: README.Interix,v 1.17 2016/07/10 01:25:16 sevan Exp $
1.1       grant       2:
1.17      sevan       3: Interix is a POSIX-compatible subsystem for the Windows NT kernel, providing a
                      4: Unix-like environment with a tighter kernel integration than available with
                      5: Cygwin. It is part of the Windows Services for Unix package, available for free
                      6: for any licensed copy of Windows 2000, XP (not including XP Home), or 2003. SFU
                      7: can be downloaded from http://www.microsoft.com/windows/sfu/.
1.1       grant       8:
1.17      sevan       9: Services for Unix 3.5 has been tested. 3.0 or 3.1 may work, but are not
                     10: officially supported. (The main difference in 3.0/3.1 is lack of pthreads, but
                     11: other parts of libc may also be lacking.)
                     12:
                     13: Services for Unix Applications (aka SUA) is an integrated component of Windows
                     14: Server 2003 R2 (5.2), Windows Vista and Windows Server 2008 (6.0), Windows 7 and
                     15: Windows Server 2008 R2 (6.1). As of this writing, the SUA's Interix 6.0 (32bit)
                     16: and 6.1 (64bit) subsystems have been tested. Other versions may work as well.
                     17: The Interix 5.x subsystem has not yet been tested with pkgsrc.
                     18:
                     19: When installing Interix/SFU
                     20: ---------------------------
                     21:
                     22: At an absolute minimum, the following packages must be installed from the
                     23: Windows Services for Unix 3.5 distribution in order to use pkgsrc:
                     24:
                     25: Utilities -> Base Utilities
                     26:
                     27: Interix GNU Components -> (all)
                     28:
                     29: Remote Connectivity
                     30:
                     31: Interix SDK
                     32:
                     33: When using pkgsrc on Interix, DO NOT install the Utilities subcomponent "UNIX
                     34: Perl". That is Perl 5.6 without shared module support, installed to /usr/local,
                     35: and will only cause confusion. Instead, install Perl 5.8 from pkgsrc (or from a
                     36: binary package).
                     37:
                     38: The Remote Connectivity subcomponent "Windows Remote Shell Service" does not
                     39: need to be installed, but Remote Connectivity itself should be installed in
                     40: order to have a working inetd.
                     41:
                     42: During installation you may be asked whether to enable setuid behavior for
                     43: Interix programs, and whether to make pathnames default to case-sensitive.
                     44: Setuid should be enabled, and case-sensitivity MUST be enabled. (Without
                     45: case-sensitivity, a large number of packages including perl will not build.)
                     46:
                     47: NOTE: Newer Windows service packs change the way binary execution works (via the
                     48: Data Execution Prevention feature). In order to use pkgsrc and other
                     49: gcc-compiled binaries reliably, a hotfix containing POSIX.EXE, PSXDLL.DLL,
                     50: PSXRUN.EXE, and PSXSS.EXE (899522 or newer) must be installed. Hotfixes are
                     51: available from Microsoft through a support contract; however, Debian Interix
                     52: Port has made most Interix hotfixes available for personal use from
                     53: http://www.debian-interix.net/hotfixes/.
                     54:
                     55: In addition to the hotfix noted above, it may be necessary to disable Data
                     56: Execution Prevention entirely to make Interix functional. This may happen only
                     57: with certain types of CPUs; the cause is not fully understood at this time. If
                     58: gcc or other applications still segfault repeatedly after installing one of the
                     59: hotfixes note above, the following option can be added to the appropriate
                     60: "boot.ini" line on the Windows boot drive: /NoExecute=AlwaysOff (WARNING, this
                     61: will disable DEP completely, which may be a security risk if applications are
                     62: often run as a user in the Administrators group!).
                     63:
                     64: What to do if Interix/SFU is already installed
                     65: ----------------------------------------------
                     66:
                     67: If SFU is already installed and you wish to alter these settings to work with
                     68: pkgsrc, note the following things.
                     69:
                     70: To uninstall UNIX Perl, use Add/Remove Programs, select Microsoft Windows
                     71: Services for UNIX, then click Change. In the installer, choose Add or Remove,
                     72: then uncheck Utilities->UNIX Perl.
                     73:
                     74: To enable case-sensitivity for the file system, run REGEDIT.EXE, and change the
                     75: following registry key:
                     76:
                     77: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\kernel
                     78:
                     79: Set the DWORD value "obcaseinsensitive" to 0; then reboot.
                     80:
                     81: To enable setuid binaries (optional), run REGEDIT.EXE, and change the following
                     82: registry key:
                     83:
                     84: HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Services for UNIX
                     85:
                     86: Set the DWORD value "EnableSetuidBinaries" to 1; then reboot.
                     87:
                     88: Important notes for using pkgsrc
                     89: --------------------------------
                     90:
                     91: The package manager (either the pkgsrc "su" user, or the user running "pkg_add")
                     92: must be a member of the local Administrators group. Such a user must also be
                     93: used to run the bootstrap. This is slightly relaxed from the normal pkgsrc
                     94: requirement of "root".
                     95:
                     96: The package manager should use a umask of 002. "make install" will automatically
                     97: complain if this is not the case. This ensures that directories written in
1.18    ! jperkin    98: /usr/pkg/pkgdb are Administrators-group writeable.
1.17      sevan      99:
                    100: The popular Interix binary packages from http://www.interopsystems.com/ use an
                    101: older version of pkgsrc's pkg_* tools. Ideally, these should NOT be used in
                    102: conjunction with pkgsrc. If you choose to use them at the same time as the
                    103: pkgsrc packages, ensure that you use the proper pkg_* tools for each type of
                    104: binary package.
                    105:
                    106: The TERM setting used for DOS-type console windows (including those invoked by
                    107: the csh and ksh startup shortcuts) is "interix". Most systems don't have a
                    108: termcap/terminfo entry for it, but the following .termcap entry provides
                    109: adequate emulation in most cases:
                    110:
                    111: interix:kP=\E[S:kN=\E[T:kH=\E[U:dc@:DC@:tc=pcansi:
                    112:
                    113: Limitations of the Interix platform
                    114: -----------------------------------
                    115:
                    116: Though Interix suffices as a familiar and flexible substitute for a full
                    117: Unix-like platform, it has some drawbacks that should be noted for those
                    118: desiring to make the most of Interix.
                    119:
                    120: X11:
                    121:
                    122: Interix comes with the standard set of X11R6 client libraries, and can run X11
                    123: based applications, but it does not come with an X server. Some options are
                    124: StarNet X-Win32 http://www.starnet.com/products/xwin32/, Hummingbird Exceed
                    125: http://connectivity.hummingbird.com/products/nc/exceed/ (available in a trimmed
                    126: version for Interix from Interop Systems as the Interop X Server
                    127: http://www.interopsystems.com/InteropXserver.htm), and the free X11 server
                    128: included with Cygwin http://x.cygwin.com/.
                    129:
                    130: X11 acceleration:
                    131:
                    132: Because Interix runs in a completely different NT subsystem from Win32
                    133: applications, it does not currently support various X11 protocol extensions for
                    134: acceleration (such as MIT-SHM or DGA). Most interactive applications to a local
                    135: X server will run reasonably fast, but full motion video and other graphics
                    136: intensive applications may require a faster-than-expected CPU.
                    137:
                    138: Audio:
                    139:
                    140: Interix has no native support for audio output. For audio support, pkgsrc uses
                    141: the esound client/server audio system on Interix. Unlike on most platforms, the
                    142: audio/esound package does not contain the esd server component. To output audio
                    143: via an Interix host, the emulators/cygwin_esound package must also be installed.
                    144:
                    145: CD/DVDs, USB, and SCSI:
                    146:
                    147: Direct device access is not currently supported in Interix, so it is not
                    148: currently possible to access CD/DVD drives, USB devices, or SCSI devices through
                    149: non-filesystem means. Among other things, this makes it impossible to use
                    150: Interix directly for CD/DVD burning.
                    151:
                    152: Tape drives:
                    153:
                    154: Due to the same limitations as for CD-ROMs and SCSI devices, tape drives are
                    155: also not directly accessible in Interix. However, support is in work to make
                    156: tape drive access possible by using Cygwin as a bridge (similarly to audio
                    157: bridged via Cygwin's esound server).
                    158:
                    159: Known issues for pkgsrc on Interix
                    160: ----------------------------------
                    161:
                    162: It is not necessary, in general, to have a "root" user on the Windows system;
                    163: any member of the local Administrators group will suffice. However, some
                    164: packages currently assume that the user named "root" is the privileged user. To
                    165: accommodate these, you may create such a user; make sure it is in the local
                    166: group Administrators (or your language equivalent).
                    167:
                    168: pkg_add creates directories of mode 0755, not 0775, in $PKG_DBDIR. For the time
                    169: being, install packages as the local Administrator (or your language
                    170: equivalent), or run the following command after installing a package to work
                    171: around the issue:
                    172:
                    173: # chmod -R g+w $PKG_DBDIR

CVSweb <webmaster@jp.NetBSD.org>