|
Home | Switchboard | Unix Administration | Red Hat | TCP/IP Networks | Neoliberalism | Toxic Managers |
(slightly skeptical) Educational society promoting "Back to basics" movement against IT overcomplexity and bastardization of classic Unix |
News | See also | Recommended Links | Recommended Articles | Packages installation | Community Toolbox | FAQs | X11 for SFU |
SFU shell | Usage of Symbolic Links with SFU | Telnet Server | NFS_Support | Syslog | NIS-Active directory bridge | Apache | PHP |
mc in SFU | Running Perl Scripts in SFU | Recommended profile and rc files | Windows Reskit | History | Humor | Etc |
|
|
It not an emulation; it is a subsystem that integrates with the Windows kernel, just as the Win32 subsystem does. As Simon Bisson wrote in his paper "Windows Services for UNIX "
Servers based on Intel’s x86 architecture are a commodity: cheap to buy and cheap to run, they have become the life-blood of the data centre. Once a few high-end UNIX systems sat and ran your business; now they’re surrounded by humming racks of cheap x86 systems, and they’re coming to the end of their lives. So how do you migrate your existing applications to new servers, and at the same time link your new applications to your legacy systems, without causing disruption to your business processes?
One option is to switch to an x86 variant of UNIX, such as Linux. However if you’ve already chosen Microsoft Windows as your main platform, that will mean bringing in new expertise, and another layer of system administration tools. Microsoft’s Services for UNIX (SFU) 3.5, which is available as a free download, is intended to give you the best of both worlds: a familiar set of UNIX tools so your existing UNIX staff can work with Windows servers with only minimal training; and tools to integrate Windows authentication and Windows file systems with your UNIX systems. Install SFU on a PC or x86-based server and you’ll find open source tools (including the Perl scripting language) and familiar UNIX utilities happily co-existing alongside Active Directory and the Windows interface.
A 223Mb download, SFU mixes several different tools. At the heart of SFU is the Interix subsystem, built on technology which Microsoft acquired in 1999 from Softway Systems and released as Microsoft Interix 2.2. This runs on top of the Windows kernel at the same level as the Win32 subsystem, and allows UNIX applications to run on Windows. An integral part of SFU since version 3.0, the Interix subsystem is now supported by more than 3,000 UNIX utilities and tools (including Windows services that behave like their UNIX equivalents).
... ... ...
SFU can help with complex migrations. The last 15 years have seen five or six different developers working on Star-Track, a vehicle tracking system for Group 4 Securitas. Never intended to be cross-platform, the application was developed for Solaris, though in 1996 Dr Adrian Bowen, the Systems Development Manager, ported it to RedHat Linux, a process he remembers as being “mostly painless”.
Scalability concerns forced a rethink of the system design, and in order to fit in with corporate IT policies the development team decided to port the application to Windows using SFU, rather than completely rewriting the application. Dr Bowen found that the source code for the Star-Track application ported and compiled to SFU without any major work. “It was the same amount of work as when I’d moved it from Solaris to Linux. It looks like a variant of Linux.” Dealing with the obsolete XView windows console used by the application was a little trickier, but it still took less than a week. The dynamic linking and loading support in SFU 3.5 meant the team could move the user interface to a Tk toolkit. Dr Bowen just downloaded it, ran the make files and then ran the code on SFU.
Overall performance gains for NFS implementation in SFU 3.5 are 50%. Among new features:
Client for NFS SFU 3.5 implements several incremental but important changes in Client for NFS, making the client both faster and better behaved in mixed environments. These improvements include the ability to set setuid, setgid and sticky bits and create symbolic links, both important functionality additions. Additionally, the mount and file system traversal syntax expected by UNIX and Linux users is fully supported and integrated into SFU.
To improve performance, Client for NFS now uses directory caching at the client, significantly improving the perception of speed by the end user. The mount command now provides for a case-sensitivity option to improve overall performance against UNIX shares.
This version of Client for NFS also improves support for international character
sets, including updating the mount command and providing support for Japanese,
Korean and Chinese character sets.
Windows Server 2003 Support SFU 3.5 includes support for new Windows
Server 2003 features, including Volume Shadow Copy Service. With Server for
NFS, snapshot copies of shared files and folders as they existed at the time
of the snapshot are accessible in hidden directories as read only files, allowing
recovery to a point in time.
Cluster Aware The NFS Service is now fully cluster-aware, supporting
active–active NFS sharing. Additionally, an existing, non-clustered NFS share
can be upgraded to a cluster NFS share resource.
Dynamic Registry One significant improvement
in SFU 3.5 is that many changes to performance-related registry keys are dynamically
recognized. With this enhancement, network administrators can easily try out
many kinds of changes without having to reboot, making performance tuning under
real-world conditions practical.
Permissions Translation Between Windows and UNIX.
The translation of Windows permissions into UNIX permissions on NFS shares
has been significantly improved. It still using the Windows NT access control
entries (ACEs).
Other In addition to the performance enhancements
for Server for NFS, Microsoft has improved the administration and functionality
by providing support for setuid, setgid and sticky bits, improved translation
of Windows file permissions, per-share properties, and support for international
encoding in file name translation. With the 3.5 release, SFU supports only NTFS
and CDFS file systems.
Additionally, with the performance enhancements in SFU 3.5, Server for NIS can handle up to 64,000 users. Migration times have also been substantially improved, with data migration times now roughly 40 percent of what they were with SFU 3.0.
For those implementing password synchronization on platforms not included with the SFU distribution, the encryption libraries are now included, along with all the source code, greatly simplifying compilation and implementation.
It conforms to the POSIX.1 and POSIX.2 standards. The Interix subsystem includes both Korn and C shells, more than 300 UNIX utilities, and Perl 5.6.1 compiled under Interix. These give UNIX developers and administrators a broad, familiar, and compatible scripting environment. The utilities include all classic Unix utilities awk, grep, sed, tr, cut, tar, cpio, and a host of others, all of which work as the UNIX administrator or programmer expects. Plus, with a single rooted file system, utilities and configuration files are in the standard UNIX locations.Mapper/ admin/ common/ -- this is directory with many classic Unix utilties; should be in PATH docs/ help/ log/ nfs/ proc/ usr/ TlntW2K/ bin/ dev/ etc/ lib -> usr/lib net/ opt/ etc/ tmp/ usr/ X11 -> X11R6 X11R6/ contrib/ lib/ sbin/ X11R5/ bin -> ../bin examples/ local/ share/ var/ mail/ spool/ adm/ log/
SFU environment provides the most important Unix features including pipes, hard file links, symbolic file links, networking services, and X11 graphical support through the X Window System.
Also you can get many popular open source packages (see Community Toolbox; free registration required). Among command line utilities that are provided in the community toolbox are bash, vim, expect, screen, mc, and many others.
To install tools from the community toolbox you need to use utilities pkg_update, pkg_info, pkg_delete.. Here is a relevant quote from Package Install document:
With SFU 3.5 all "/Tools" applications are being packaged and we keep updating the versions too. A package is used by the installer to correctly place all the binary and data files. It also records version numbers, file locations and check sums for verification, uninstalls and does version updates. By using the installer all other packages that a particular application depends on will be installed at the same time. The installer is based on the BSD package system. We have made several changes and updates to it over the years, but it has essentially the same "flavor" as installers with BSD or Sun.
The first thing to do to is "bootstrap" the installer to your system.
If you have a 32-bit system (most people do) then download the Bootstrap installer (x86) file.
If you have a 64-bit system (AMD64, not IA64) then download the Bootstrap installer (AMD64) file.
If you have a 32-bit or 64-bit Vista system then download the Bootstrap installer (Vista) file.
The installer can be run by the Administrator or by a member of the Administrators group.
This file is a self-installing shell script. So run it as:% sh pkg-current-bin35.sh
or
% sh pkg-current-bin52authenticamd.sh
or
% sh pkg-current-bin60.sh(If you are using csh/tcsh remember to 'rehash' after this).
Now all of the installer components are installed. This includes the utilities pkg_update, pkg_info, pkg_delete, pkg_add, pkg_create and pkg_sign. You can learn more about each of these utilities by reading their man pages.
Doing an Installation
To install a package use the pkg_update utility. For example, if you wish to install bash you will enter the following command:
pkg_update -L bash
This command will automatically download and install the most current bash package. If the package needs to have another package installed with it, that package will be downloaded and installed too. Pkg_update also takes care of which machine architecture you are using and what is the most current version of the software.
Among daemons it is interesting to note that SFU contains syslogd daemon that can forward messages to LOGHOST.
SFU provide the directory /dev/fs, that has all the drive letters "mounted" under it, including C, the usual installation in Windows. Cron is working under SFU and can run scheduled applications and scripts just like in Unix. The #! notation in Interix allows the script to name its own interpreter, and typically Unix shell scripts do NOT require any modification.
It is far from being perfect, but it is free and it does provide several useful features that are missing in Windows desktop:Two major scripting languages: Perl (Active State port) and Python.
More than 350 commonly used UNIX commands and utilities. All the standard UNIX tools and utilities are part of SFU. The list includes classic text processing tools, such as grep, less, awk, sed, pr, tr, and so on; batch processing tools, such as at, cron and batch; as well as job control tools, such as ps, nice, and kill; graphic utilities, such as xterm, xrdb, xset and xclock; development tools, such gcc, gdb, make; and connectivity tools, such as bind, sendmail and ftp. They’re all there, and they work as you would expect. Even man is the same as it’s always been. Additional Open Source tools are now available from the Interop Systems tool community website, including OpenSSH and OpenSSL, bash, gmake, awk, pkg-config, free TDS, CVS, bzip, and dozens of others in an expanding list.
Symbolic and hard links on NTFS and NFS file systems.
Single rooted file system.
The second thing is that to run scripts from within the environment you need to use the internal cron. Attempts to schedule anything from windows scheduler face several problems. One of them is connected with the fact that you need to invoke posix.exe not just ksh, for example:
C:\WINNT\system32\posix.exe /u /c /bin/ksh -c /bin/lsInternal cron approach is smoother, but there are some pitfalls too. For example, an attempt to use crontab with the authentication configured via passwd leads to some problems: the default user is Administrator which is not a default Unix account and it is not automatically mapped to root.
Welcome to the Interix UNIX utilities.After you register crontab this way you can add scheduled tasks like in Unix. SFU ksh tried to load .profile and .kshrc from the user directory and those need to be provided. It complain unless .profile has reasonable permissions (not 777 ;-). If you are a user then your home directory will beDISPLAY=localhost:0.0
$ crontab
============================
WARNING: User SERVER+Administrator does not have a valid password registered.
The cron daemon cannot execute your at, batch or crontab requests
unless you first register your current valid password.
To register it, please use 'crontab -p'.
============================crontab -p
/dev/fs/C/Documents and Settings/usernameAmong scripting languages SFU 3.5 provides Perl 5.6.1 (upgrade to Perl 5.8 can be downloaded for Interix Tools site):
The following dynamic modules have been included:$ perl -v
This is perl, v5.6.1 built for x86-interix-thread
This version is pretty adequate for most applications but, of course, does not understand extensions introduced in version 5.8. This is actually ActiveState Perl implementation, and you can get a newer version of Interix Perl from the Interopsystems tool warehouse.
Perl
Version 5.8.3 for SFU 3.5 binary: /pkgs/3.5/perl-current-bin.tgz src: /src/perl Added: 2004-06-18 |
This is the latest stable release of the most popular scripting language, complete with the DBI database interface module, DBD::ODBC for connecting via ODBC, and DBD::Sybase to connect to any Sybase or SQL Server using FreeTDS. |
I am wondering if direct replacement by a newer version from ActiveState will also work.
Remember, SFU is a collection of UNIX software components. Some of it is Win32 based software (like NFS client and ActiveState Perl). Some of it is Interix based software. Interix is a UNIX subsystem that runs on top of Windows. It is a completely separate subsystem from Win32. In the Interix environment you use UNIX conventions and you expect UNIX behavior. In the Win32 environment, you use Windows conventions and you expect Windows behavior.
When SFU initialize, like any Unix it assign values to $PATH, $MANPATH and some other variables. Here are the values for PATH and MANPATH:
PATH=/bin:/opt/gcc.3.3/bin:/usr/contrib/bin:/usr/X11R6/bin:/usr/local/bin:/usr/contrib:b/win32/bin:/dev/fs/C/WINNT/system32:/dev/fs/C/SFU/common
MANPATH=/usr/share/man:/usr/X11R6/man:/usr/X11R5/man
Default terminal in SFU is not that great but you can install Midnight Commander (version mc 4.6.0) using precompiled binaries from SFU (I did it in old fashined way using binary packages, but probably a better was to do this is is to use package install). In case you plan to use binary packages you will need 3 additional packages to get the necessary libraries (also available from UNIX Tools Community)
gettext-current-bin.tar
glib-current-bin.tar
libiconv-current-bin.tar
Also a libiconv.so libintl.so needs to be linked to /usr/local/lib
ln libintl.so.7.0 /usr/local/lib/libintl.so
ln libiconv.so.4.0 /usr/local/lib/libiconv.so
Also LD_LIBRARY_PATH env. variable needs to be added to the .profile:
export LD_LIBRARY_PATH=/usr/lib:/usr/local/lib:/usr/X11R6/lib
Again, I did it in old-fashioned way but probably a better was to do this is is to use package install.
SFU supports symbolic links. One typical usage is to make /usr/local/bin a symbolic link to /opt:
ln
-s /usr/local/bin /opt
Another good trick is to link important/often used Windows directories into /home tree, for example
ln -s "/dev/fs/C/Documents and Settings" /home/doc
Another Important use of symbolic links is to provide a more Windows–centric access to various drive letters: you can access these drives with a simple "/c" or "/C" instead of "/dev/fs/C".
Important use of symbolic links is to provide a more Windows–centric access to various drive letters: you can access these drives with a simple "/c" or "/C" instead of "/dev/fs/C". |
For example
ln -s /dev/fs/C /C
ln -s /dev/fs/F /F
ln -s /dev/fs/F/Public_html /S
In SFU 3.5, Microsoft has enhanced both the Telnet client and server to support IPv6 and additional international character sets. In addition, Microsoft has addressed a number of security issues, including zone checking before the issuing of NTLM credentials to prevent the use of NTLM outside of the trusted zone.
There have also been significant scalability improvements to the Telnet server, enabling more simultaneous sessions and users than in previous versions. Two separate Telnet servers are provided-a Windows Telnet server that runs as a Windows service and the telnetd server which runs as part of the Interix subsystem.
The Windows–based Telnet server replaces the one included with Windows 2000 and uses the Windows command line shell CMD.EXE as the default shell. In Windows XP and Windows Server 2003, the included Telnet server is not replaced, but additional administrative capabilities are provided through the SFU Administration application.
When the Interix telnetd is enabled (through /etc/inetd.conf), an Interix shell is used instead of the Windows shell. And as both Telnet servers will, by default, listen on the same port, the Windows Telnet service must be disabled before the telnetd daemon is enabled.
|
Switchboard | ||||
Latest | |||||
Past week | |||||
Past month |
31 Jul 2007 | www.ibm.com/developerworks
If you manage systems and networks, you need Expect.
More precisely, why would you want to be without Expect? It saves hours common tasks otherwise demand. Even if you already depend on Expect, though, you might not be aware of the capabilities described below.
Expect automates command-line interactions
You don't have to understand all of Expect to begin profiting from the tool; let's start with a concrete example of how Expect can simplify your work on AIX® or other operating systems:
Suppose you have logins on several UNIX® or UNIX-like hosts and you need to change the passwords of these accounts, but the accounts are not synchronized by Network Information Service (NIS), Lightweight Directory Access Protocol (LDAP), or some other mechanism that recognizes you're the same person logging in on each machine. Logging in to a specific host and running the appropriate
passwd
command doesn't take long-probably only a minute, in most cases. And you must log in "by hand," right, because there's no way to script your password?Wrong. In fact, the standard Expect distribution (full distribution) includes a command-line tool (and a manual page describing its use!) that precisely takes over this chore.
passmass
(see Resources) is a short script written in Expect that makes it as easy to change passwords on twenty machines as on one. Rather than retyping the same password over and over, you can launchpassmass
once and let your desktop computer take care of updating each individual host. You save yourself enough time to get a bit of fresh air, and multiple opportunities for the frustration of mistyping something you've already entered.This
passmass
application is an excellent model-it illustrates many of Expect's general properties:
- It's a great return on investment: The utility is already written, freely downloadable, easy to install and use, and saves time and effort.
- Its contribution is "superficial," in some sense. If everything were "by the book"-if you had NIS or some other domain authentication or single sign-on system in place-or even if login could be scripted, there'd be no need for
passmass
. The world isn't polished that way, though, and Expect is very handy for grabbing on to all sorts of sharp edges that remain. Maybe Expect will help you create enough free time to rationalize your configuration so that you no longer need Expect. In the meantime, take advantage of it.- As distributed,
passmass
only logs in by way oftelnet
,rlogin
, orslogin
. I hope all current developerWorks readers have abandoned these protocols forssh
, whichpassmasss
does not fully support.- On the other hand, almost everything having to do with Expect is clearly written and freely available. It only takes three simple lines (at most) to enhance
passmass
to respectssh
and other options.You probably know enough already to begin to write or modify your own Expect tools. As it turns out, the
passmass
distribution actually includes code to log in by means ofssh
, but omits the command-line parsing to reach that code. Here's one way you might modify the distribution source to putssh
on the same footing astelnet
and the other protocols:
Listing 1. Modified passmass fragment that accepts the -ssh argument...
} "-rlogin" {
set login "rlogin"
continue
} "-slogin" {
set login "slogin"
continue
} "-ssh" {
set login "ssh"
continue
} "-telnet" {
set login "telnet"
continue
...
In my own code, I actually factor out more of this "boilerplate." For now, though, this cascade of tests, in the vicinity of line #100 of
passmass
, gives a good idea of Expect's readability. There's no deep programming here-no need for object-orientation, monadic application, co-routines, or other subtleties. You just ask the computer to take over typing you usually do for yourself. As it happens, this small step represents many minutes or hours of human effort saved.
Interop Secure Shell leverages the Interix / SUA technology by providing a much-needed SSH server and SSH clients for Windows. Details
$59
Hummingbird has chosen not to renew our OEM Agreement, so we are no longer offering Interop X Server.For more information, contact [email protected].
With SFU 3.5 all "/Tools" applications are being packaged and we keep updating the versions too. A package is used by the installer to correctly place all the binary and data files. It also records version numbers, file locations and check sums for verification, uninstalls and does version updates. By using the installer all other packages that a particular application depends on will be installed at the same time. The installer is based on the BSD package system. We have made several changes and updates to it over the years, but it has essentially the t;bootstrap" the installer to your system.
If you have a 32-bit system (most people do) then download the Bootstrap installer (x86) file.
If you have a 64-bit system (AMD64, not IA64) then download the Bootstrap installer (AMD64) file.
If you have a 32-bit or 64-bit Vista system then download the Bootstrap installer (Vista) file.
The installer can be run by the Administrator or by a member of the Administrators group.
This file is a self-installing shell script. So run it as:% sh pkg-current-bin35.sh
or
% sh pkg-current-bin52authenticamd.sh
or
% sh pkg-current-bin60.sh(If you are using csh/tcsh remember to 'rehash' after this).
Now all of the installer components are installed. This includes the utilities pkg_update, pkg_info, pkg_delete, pkg_add, pkg_create and pkg_sign. You can learn more about each of these utilities by reading their man pages.
Doing an Installation
To install a package use the pkg_update utility. For example, if you wish to install bash you will enter the following command:
pkg_update -L bash
This command will automatically download and install the most current bash package. If the package needs to have another package installed with it, that package will be downloaded and installed too. Pkg_update also takes care of which machine architecture you are using and what is the most current version of the software.
What's Installed, Removing an Installation
To view all of the current packages installed use the pkg_info command.
To remove a package use the pkg_delete command. You do not need to know the version to delete a package. You can delete it easily as:% pkg_delete -M bash
(The '-M' reduces your typing). Refer to the man pages for more information.
Available Packages
You can find a list of all of the available packages on the /Tools Warehouse web page: http://www.interopsystems.com/tools/warehouse.aspx. (Requires login.) This list continues to have new packages added and current packages updated with newer versions.
When an updated release of a package is available we announce it through the /Tools Warehouse Updates Forum. To install an updated package you give the same command as when you installed it originally (more information on this further down the page). The installer will remove the older version for you before installing the newer version. Any changes in package dependencies will be handled at the same time. If you have already installed the most current version of a package the installer notices this and will leave things alone.
Package Licensing
The licensing terms for each package can be easily viewed from the /Tools Warehouse web page before you decide to download by selecting the src directory. It is important for you to understand that there are many different licenses used. Our preference is to use Full Open License software such as BSD and MIT. We do have many packages that are GPL or LGPL that may place restrictions on what you may do with a package's utilities and/or libraries. There are other licenses with unusual but not onerous conditions such as the Beer-Ware License (you agree to buy the author a beer if you ever meet him). We do release copies of the source code for most of the packages here.
Installation Recommendations
We recommend that you always install a package with the command
pkg_update -L {name}
because this will provide to you the most trouble-free installation since so many packages are dependent on other packages. This also ensures you of getting the most current release of a package and avoiding an unnecessary download. Regularly checking for updates is very important for bug and security fixes. Several times people have reported that they are having a problem with a package that they downloaded 30 to 40 days ago. During that time the problem has been fixed.
Checking for updates for all installed packages is easily done using the command:
pkg_update -La
These installations and updates are done over the Internet and packages are not stored on your system -- this helps keep more free disk space on your local system.
You can download packages and save them to a local disk. Remember that this option can consume a significant amount of disk space as you download more packages. If you do download packages it is best to keep them all in one location. The tricky part with downloading packages to save them locally is that you need to download all of the depended-upon packages as well.
If you are the administrator of several machines that have packages installed on them from the /Tools Warehouse and you want to have some control over which packages are installed then we recommend that you maintain a common local repository of downloaded packages. Then adjust local configurations so that package installations and updates are done from this repository. We recommend you read the pkg_update manual page for the '-C' option on cacheing packages. See below for more information on this.
Doing an Install
There are two ways to do an installation now. Y ou can make your choice based on what type of installation you are going to do. For the multiple versions of Interix and multiple hardware platforms we strongly recommend you stick with pkg_update for single or multiple packages. Administrators will want to keep users using pkg_update.
pkg_add Install
The pkg_add utility is the "older" tool that we suggest you avoid using directly. You can use it when you have a specific package you want to install (such as an older archived version for comparison). You may always refer to the pkg_add manual page for more information.
We always recommend that you install a package as:
pkg_update -L {name}
where "{name}" is the package name. No need for a version number. The current version number will be discovered. This means you get the most recent/current version without having to worry about a numbering scheme. The installer will handle the version numbers. (The canonical version number for a package is internal to the package with any version number in the filename being taken as a hint. If the last sentence makes you confused, puzzled, worried, etc. this is why we encourage you to use the pkg_update command :-) )
To see what packages are available visit the /Tools Warehouse web page or visit the /Tools ftp site.
pkg_update Install
When you want to install a group of packages, you want to check that all currently installed packages are up-to-date. To do an automated check for new packages then pkg_update is the tool for you to use. You may always refer to the pkg_update manual page for more information.
New Interix users usually want to install a group of packages to match their profile. Currently three profiles exist: user, developer and administrator. ther profiles may be added in the future based on /Tools member feedback (i.e. you!). By using a profile, a large number of packages can be selected and installed at one time. You can do the installations easily as:
user: pkg_update -A
developer: pkg_update -D
administrator: pkg_update -GYou may add the "-i" option to the above commands if you want to verify (allow or deny) each package as it is selected to be installed. Without the "-i" option the installations will proceed with little user input needed.
At regular intervals you may want to check if any new packages have been made available since the last time you checked. This can be done with the "-n" option to pkg_update. We recommend that you do use the "-n" option with the "-i" option to control new additions to your system: pkg_update -ni
You may also check that all of your currently installed packages are up-to-date using the "-a" option. This will usually take longer than the "-n" option to perform, but is an easy way to validate that everything is up-to-date: pkg_update -a
[PPT] Introduction to Microsoft Windows Services for UNIX 3.5
Expect Version 5.40 for SFU 3.5
binary:/pkgs/3.5/expect-current-bin.tgz
src: /src/expect
Updated: 2004-03-10This is Expect 5.40 for Tcl 8.3 and Tk 8.3 (below). Expect is a program that performs programmed dialogue with other interactive
This section describes the shell and perl scripts that can migrate your name service data either from source files or NIS maps to your Active Directory. These scripts are found in /opt/ldapux/migrate/ads. The two shell scripts migrate_all_online.ads.sh and migrate_all_nis_online.ads.sh migrate all your source files or NIS maps, while the perl scripts migrate_passwd_ads.pl, migrate_hosts_ads.pl, migrate_networks_ads.pl, migrate_protocols_ads.pl, migrate_rpc_ads.pl, migrate_services_ads.pl, and migrate_group_ads.pl and so forth migrate individual maps. The shell scripts call the perl scripts.The migration scripts require perl, version 5 or later, which is installed with the NIS/LDAP Gateway in /opt/ldapux/contrib/bin/perl.
Feature
Description
NFS Client
Supports setuid, setgid and sticky bits
Support for symbolic links
Performance improvements
Internationalization: additional language options
NFS Server
Significant performance enhancements
Support for active-active clustering of NFS shares
Support for setuid, setgid, and sticky bits
Per-share handing of root and anonymous access
Improved model for mapping permissions between Windows and UNIX
Internationalization improvements
SFU 3.5
Support for Windows Server 2003 Volume Shadow Copy Service
SFU 3.5
Simplified and enhanced authentication in Windows Server 2003 Active Directory environments
NFS Gateway
Internationalization improvements
Mapping Server
Cluster-enabled mapping server
Performance, security, and scalability improvements
Support for redundant mapping servers
Internationalization improvements
Server for NIS
Support for MD5 encryption
Scalability and performance improvements
Numerous usability and administration improvements
Password Sync
New support for setting passwords using Pluggable Authentication Model on UNIX
Telnet Server
Security and scalability improvements
Internet Protocol version 6 (Ipv6) support
Dumb terminal support (handhelds)
Telnet Client
IPv6 support
Internationalization
Interix and the Interix SDK
All new to SFU 3
Improved throughput and stability
Single rooted file system
SFU 3.5
Utility updates for Internationalization
SFU 3.5
pthreads support in SDK
SFU 3.5
API support for Internationalization
REDMOND, Wash., Jan. 15, 2004 - Microsoft Corp. today made the latest version of its UNIX interoperability product, Windows® Services for UNIX Version 3.5 (SFU 3.5), available to customers free via Web download at http://www.microsoft.com/windows/sfu/ . SFU 3.5 enables customers to maximize their investment in UNIX-based systems while integrating the price-performance leadership of a Windows-based platform. SFU 3.5 offers customers enhanced performance of cross-platform tools and services, better UNIX command-line administration capabilities, and the ability to extend UNIX-based applications in a Microsoft® .NET Web Services environment. In addition, SFU 3.5 was nominated as a finalist for the LinuxWorld Product Excellence Awards in the Best System Integration Solution category. |
Google matched content |
Microsoft Windows Services for UNIX - Wikipedia, the free encyclopedia
Microsoft TechNet- Windows Services for UNIX
Services for UNIX website Main page. Also contains free download link.
Interop Systems Tools Warehouse The Tool Warehouse is a repository of contributed software from Interop Systems, Microsoft and SFU users. These software tools run on the Interix subsystem of Microsoft Windows Service for UNIX. Contains almost all top open source applications.
The Tool Warehouse is a repository of contributed software from Interop Systems, Microsoft and SFU users. Your UNIX Tools Community login provides access to this page, as well as the UNIX Tools Forum.
The download links (below) are to directories on the Interop Systems FTP site: "src" links to source code, license, and Readme files; "binary" links to the binaries within the pkgs directory for 3.5.
We are continuing to add to the Tool Warehouse on a regular basis. If you have a specific request or would like to contribute to the repository, you can contact us at [email protected]. If you would like to be notified about new additions, please subscribe to the Tool Warehouse Updates in the UNIX Tools Forum for automatic email notifications.
All Interix applications are now being packaged. A package is used by the installer to correctly place all the binary and data files. It also records version numbers, file locations and check sums for verification, uninstalls and does version updates. By using the installer, all the other packages that a particular application depends on will be installed at the same time. Using the /Tools installer for software packages is easy and quick. All packages are binary releases. This means installations are quick and pre-tested to work. You do not need to do any source build option fiddling! Just install and use immediately. Less pain, more gain!
- The installer will cleanly install, update or remove a package.
- Inter-package dependencies are tracked and updated automatically.
- Package updates can be automatically retrieved, and checking for new packages can be done easily.
- Support is available for all packages through the /Tools Forum and through e-mail.
- Package versions are updated at regular intervals so the software is current for new features, bug-fixes and security fixes. Packages include updates and extensions to SFU/Interix shipped software.
- Package installations can be controlled by command line and/or GUI and/or any personal administrative scripts you have.
- The installer can be configured in large administrative settings by the administrator for selective package installations.
HOW TO Turn On the Interix Telnet Daemon
The Interix subsystem provides a fully POSIX compliant environment that runs as a native subsystem in the Windows kernel. It includes more than 350 UNIX utilities, and includes an inetd daemon to handle a variety of network protocols, including the Telnet protocol. Services for UNIX also includes a Win32-based telnet service. By default, the Win32-based telnet service is turned on, and the Interix one is turned off.
The Win32 telnet service uses a default shell of Cmd.exe, while the Interix telnet daemon uses user's default shell, either /bin/ksh or /bin/csh. Because only a single telnet server can listen on port 23, the telnet port, if you want to run the Interix telnetd, you must first turn off the Win32 based telnet server, and then turn on and start the Interix one.
Microsoft SFU newsgroup For support, suggestions, and general conversation with SFU users, enthusiasts and developers, see the news://msnews.microsoft.com/microsoft.public.servicesforunix.general
Interop Systems, Inc. website For developer resources for those migrating applications to Windows and an excellent tools warehouse of Open Source applications and tools compiled for SFU, see theat http://www.interopsystems.com/tools
Script to pragmatically set the UNIX attributes defined in the version 3.5 schema extensions
Only selected packages shown:
|
With SFU 3.5 all "/Tools" applications are being packaged and we keep updating the versions too. A package is used by the installer to correctly place all the binary and data files. It also records version numbers, file locations and check sums for verification, uninstalls and does version updates. By using the installer all other packages that a particular application depends on will be installed at the same time. The installer is based on the BSD package system. We have made several changes and updates to it over the years, but it has essentially the same "flavor" as installers with BSD or Sun.
The first thing to do to is "bootstrap" the installer to your system.
If you have a 32-bit system (most people do) then download the Bootstrap installer (x86) file.
If you have a 64-bit system (AMD64, not IA64) then download the Bootstrap installer (AMD64) file.
If you have a 32-bit or 64-bit Vista system then download the Bootstrap installer (Vista) file.
The installer can be run by the Administrator or by a member of the Administrators group.
This file is a self-installing shell script. So run it as:% sh pkg-current-bin35.sh
or
% sh pkg-current-bin52authenticamd.sh
or
% sh pkg-current-bin60.sh(If you are using csh/tcsh remember to 'rehash' after this).
Now all of the installer components are installed. This includes the utilities pkg_update, pkg_info, pkg_delete, pkg_add, pkg_create and pkg_sign. You can learn more about each of these utilities by reading their man pages.
Doing an Installation
To install a package use the pkg_update utility. For example, if you wish to install bash you will enter the following command:
pkg_update -L bash
This command will automatically download and install the most current bash package. If the package needs to have another package installed with it, that package will be downloaded and installed too. Pkg_update also takes care of which machine architecture you are using and what is the most current version of the software.
What's Installed, Removing an Installation
To view all of the current packages installed use the pkg_info command.
To remove a package use the pkg_delete command. You do not need to know the version to delete a package. You can delete it easily as:% pkg_delete -M bash
(The '-M' reduces your typing). Refer to the man pages for more information.
Available Packages
You can find a list of all of the available packages on the /Tools Warehouse web page: http://www.interopsystems.com/tools/warehouse.aspx. (Requires login.) This list continues to have new packages added and current packages updated with newer versions.
When an updated release of a package is available we announce it through the /Tools Warehouse Updates Forum. To install an updated package you give the same command as when you installed it originally (more information on this further down the page). The installer will remove the older version for you before installing the newer version. Any changes in package dependencies will be handled at the same time. If you have already installed the most current version of a package the installer notices this and will leave things alone.
Package Licensing
The licensing terms for each package can be easily viewed from the /Tools Warehouse web page before you decide to download by selecting the src directory. It is important for you to understand that there are many different licenses used. Our preference is to use Full Open License software such as BSD and MIT. We do have many packages that are GPL or LGPL that may place restrictions on what you may do with a package's utilities and/or libraries. There are other licenses with unusual but not onerous conditions such as the Beer-Ware License (you agree to buy the author a beer if you ever meet him). We do release copies of the source code for most of the packages here.
Installation Recommendations
We recommend that you always install a package with the command
pkg_update -L {name}
because this will provide to you the most trouble-free installation since so many packages are dependent on other packages. This also ensures you of getting the most current release of a package and avoiding an unnecessary download. Regularly checking for updates is very important for bug and security fixes. Several times people have reported that they are having a problem with a package that they downloaded 30 to 40 days ago. During that time the problem has been fixed.
Checking for updates for all installed packages is easily done using the command:
pkg_update -La
These installations and updates are done over the Internet and packages are not stored on your system -- this helps keep more free disk space on your local system.
You can download packages and save them to a local disk. Remember that this option can consume a significant amount of disk space as you download more packages. If you do download packages it is best to keep them all in one location. The tricky part with downloading packages to save them locally is that you need to download all of the depended-upon packages as well.
If you are the administrator of several machines that have packages installed on them from the /Tools Warehouse and you want to have some control over which packages are installed then we recommend that you maintain a common local repository of downloaded packages. Then adjust local configurations so that package installations and updates are done from this repository. We recommend you read the pkg_update manual page for the '-C' option on cacheing packages. See below for more information on this.
Doing an Install
There are two ways to do an installation now. Y ou can make your choice based on what type of installation you are going to do. For the multiple versions of Interix and multiple hardware platforms we strongly recommend you stick with pkg_update for single or multiple packages. Administrators will want to keep users using pkg_update.
pkg_add Install
The pkg_add utility is the "older" tool that we suggest you avoid using directly. You can use it when you have a specific package you want to install (such as an older archived version for comparison). You may always refer to the pkg_add manual page for more information.
We always recommend that you install a package as:
pkg_update -L {name}
where "{name}" is the package name. No need for a version number. The current version number will be discovered. This means you get the most recent/current version without having to worry about a numbering scheme. The installer will handle the version numbers. (The canonical version number for a package is internal to the package with any version number in the filename being taken as a hint. If the last sentence makes you confused, puzzled, worried, etc. this is why we encourage you to use the pkg_update command :-) )
To see what packages are available visit the /Tools Warehouse web page or visit the /Tools ftp site.
pkg_update Install
When you want to install a group of packages, you want to check that all currently installed packages are up-to-date. To do an automated check for new packages then pkg_update is the tool for you to use. You may always refer to the pkg_update manual page for more information.
New Interix users usually want to install a group of packages to match their profile. Currently three profiles exist: user, developer and administrator. ther profiles may be added in the future based on /Tools member feedback (i.e. you!). By using a profile, a large number of packages can be selected and installed at one time. You can do the installations easily as:
user: pkg_update -A
developer: pkg_update -D
administrator: pkg_update -GYou may add the "-i" option to the above commands if you want to verify (allow or deny) each package as it is selected to be installed. Without the "-i" option the installations will proceed with little user input needed.
At regular intervals you may want to check if any new packages have been made available since the last time you checked. This can be done with the "-n" option to pkg_update. We recommend that you do use the "-n" option with the "-i" option to control new additions to your system: pkg_update -ni
You may also check that all of your currently installed packages are up-to-date using the "-a" option. This will usually take longer than the "-n" option to perform, but is an easy way to validate that everything is up-to-date: pkg_update -a
[PPT] Services for UNIX 3.0 -- nice presentation
Overview of Services for UNIX 3.0 with Interix
>SFU Overview
SFU Lab Objectives
Lab 1: Services for UNIX (SFU) Installation
Lab 2: Telnet Client and Server
User Name Mapping
Lab 3: User Name Mapping
Understanding Client for NFS
Lab 4: Client for NFS
Understanding Server for NFS
Lab 5: Server for NFS
2-Way Windows/UNIX Password Synchronization
Lab 6: 2-Way Windows/UNIX Password Synchronization
Interix 2.2 Overview
Interix 3 Lab Objectives
Lab 9: Product Walk-throughLab 10: Interix 3 Porting Examples
InterOp Windows Services For UNIX -- TechNet Magazine, Spring 2005
Simon Bisson wrote in his paper "Windows Services for UNIX "If you're an administrator working in a mixed environment, Microsoft® Windows® Services for UNIX (SFU) 3.5 can make your life a lot easier. SFU provides a full-featured interoperability solution that includes a Network File Server (NFS) client, server and gateway for file system interoperability, and a Network Information Service (NIS). SFU also gives you User Name Mapping and password synchronization for identity management, along with the Interix subsystem.
Servers based on Intel's x86 architecture are a commodity: cheap to buy and cheap to run, they have become the life-blood of the data centre. Once a few high-end UNIX systems sat and ran your business; now they're surrounded by humming racks of cheap x86 systems, and they're coming to the end of their lives. So how do you migrate your existing applications to new servers, and at the same time link your new applications to your legacy systems, without causing disruption to your business processes?
One option is to switch to an x86 variant of UNIX, such as Linux. However if you've already chosen Microsoft Windows as your main platform, that will mean bringing in new expertise, and another layer of system administration tools. Microsoft's Services for UNIX (SFU) 3.5, which is available as a free download, is intended to give you the best of both worlds: a familiar set of UNIX tools so your existing UNIX staff can work with Windows servers with only minimal training; and tools to integrate Windows authentication and Windows file systems with your UNIX systems. Install SFU on a PC or x86-based server and you'll find open source tools (including the Perl scripting language) and familiar UNIX utilities happily co-existing alongside Active Directory and the Windows interface.
A 223Mb download, SFU mixes several different tools. At the heart of SFU is the Interix subsystem, built on technology which Microsoft acquired in 1999 from Softway Systems and released as Microsoft Interix 2.2. This runs on top of the Windows kernel at the same level as the Win32 subsystem, and allows UNIX applications to run on Windows. An integral part of SFU since version 3.0, the Interix subsystem is now supported by more than 3,000 UNIX utilities and tools (including Windows services that behave like their UNIX equivalents).... ... ...
SFU can help with complex migrations. The last 15 years have seen five or six different developers working on Star-Track, a vehicle tracking system for Group 4 Securitas. Never intended to be cross-platform, the application was developed for Solaris, though in 1996 Dr Adrian Bowen, the Systems Development Manager, ported it to RedHat Linux, a process he remembers as being "mostly painless".
Scalability concerns forced a rethink of the system design, and in order to fit in with corporate IT policies the development team decided to port the application to Windows using SFU, rather than completely rewriting the application. Dr Bowen found that the source code for the Star-Track application ported and compiled to SFU without any major work. "It was the same amount of work as when I'd moved it from Solaris to Linux. It looks like a variant of Linux." Dealing with the obsolete XView windows console used by the application was a little trickier, but it still took less than a week. The dynamic linking and loading support in SFU 3.5 meant the team could move the user interface to a Tk toolkit. Dr Bowen just downloaded it, ran the make files and then ran the code on SFU.
Introduction:
TechNet/Windows Services for UNIX -- many useful articles. among them:
Scripting
Version 3.5
Version 3.0
Version 2.0
SFU is a Full Subsystem, Not an Emulation
SFU not only provides a full set of APIs, compilers, and utilities for creating and migrating UNIX applications, but it also provides a complete environment that behaves as UNIX applications expect. This feature makes it not only possible but also relatively easy to port an existing UNIX application to run under Interix.
In SFU 3.5, more than a hundred new APIs are introduced to support pthread applications and wide character strings.
The single biggest change in SFU since version 2.0 is the replacement of the MKS-derived KornShell and utilities with the Interix environment, which includes a full suite of UNIX utilities and the Interix SDK. The earlier shell and utilities were simply emulation layers running on top of the Windows shell (similar to Cygwin). With the integration of the Interix technology, SFU gives UNIX developers and administrators a high-performance, high-throughput, and stable application execution environment to run UNIX applications and scripts.
In SFU 3.5 the SDK has been enhanced to support multi-threaded applications with the addition of a full set of pthread APIs. Pthreads are POSIX-compliant threads, a standards-based mechanism for providing concurrent code execution in a single program. The SDK includes nearly 100 new APIs-those beginning with "pthread" and "sem" in the /usr/include/pthread.h header file-that support pthreads and semaphores.
New support for multi-byte characters has been added to many utilities as well as new APIs to support multi-byte characters in the SDK. Multi-byte character support, originally added for the Japanese version of SFU 3.0, is now integrated into a single, world-ready version 3.5 that supports additional locales, the use of localdef to create user-defined locales, and double-byte character strings. Also, the X Window System libraries have been updated to X11R6.6.
The emulation layer subsystem performance has been tuned in SFU 3.5 to substantially improve overall throughput and performance, with substantial improvements in all areas of the subsystem. These include:
File I/O is now within 10 percent of the Win32 subsystem. Additional improvements in multiprocessor scalability have also been realized, resulting in a roughly 50 percent improvement in Interix's Apache performance against high numbers of concurrent connections on an 8-way system.
Society
Groupthink : Two Party System as Polyarchy : Corruption of Regulators : Bureaucracies : Understanding Micromanagers and Control Freaks : Toxic Managers : Harvard Mafia : Diplomatic Communication : Surviving a Bad Performance Review : Insufficient Retirement Funds as Immanent Problem of Neoliberal Regime : PseudoScience : Who Rules America : Neoliberalism : The Iron Law of Oligarchy : Libertarian Philosophy
Quotes
War and Peace : Skeptical Finance : John Kenneth Galbraith :Talleyrand : Oscar Wilde : Otto Von Bismarck : Keynes : George Carlin : Skeptics : Propaganda : SE quotes : Language Design and Programming Quotes : Random IT-related quotes : Somerset Maugham : Marcus Aurelius : Kurt Vonnegut : Eric Hoffer : Winston Churchill : Napoleon Bonaparte : Ambrose Bierce : Bernard Shaw : Mark Twain Quotes
Bulletin:
Vol 25, No.12 (December, 2013) Rational Fools vs. Efficient Crooks The efficient markets hypothesis : Political Skeptic Bulletin, 2013 : Unemployment Bulletin, 2010 : Vol 23, No.10 (October, 2011) An observation about corporate security departments : Slightly Skeptical Euromaydan Chronicles, June 2014 : Greenspan legacy bulletin, 2008 : Vol 25, No.10 (October, 2013) Cryptolocker Trojan (Win32/Crilock.A) : Vol 25, No.08 (August, 2013) Cloud providers as intelligence collection hubs : Financial Humor Bulletin, 2010 : Inequality Bulletin, 2009 : Financial Humor Bulletin, 2008 : Copyleft Problems Bulletin, 2004 : Financial Humor Bulletin, 2011 : Energy Bulletin, 2010 : Malware Protection Bulletin, 2010 : Vol 26, No.1 (January, 2013) Object-Oriented Cult : Political Skeptic Bulletin, 2011 : Vol 23, No.11 (November, 2011) Softpanorama classification of sysadmin horror stories : Vol 25, No.05 (May, 2013) Corporate bullshit as a communication method : Vol 25, No.06 (June, 2013) A Note on the Relationship of Brooks Law and Conway Law
History:
Fifty glorious years (1950-2000): the triumph of the US computer engineering : Donald Knuth : TAoCP and its Influence of Computer Science : Richard Stallman : Linus Torvalds : Larry Wall : John K. Ousterhout : CTSS : Multix OS Unix History : Unix shell history : VI editor : History of pipes concept : Solaris : MS DOS : Programming Languages History : PL/1 : Simula 67 : C : History of GCC development : Scripting Languages : Perl history : OS History : Mail : DNS : SSH : CPU Instruction Sets : SPARC systems 1987-2006 : Norton Commander : Norton Utilities : Norton Ghost : Frontpage history : Malware Defense History : GNU Screen : OSS early history
Classic books:
The Peter Principle : Parkinson Law : 1984 : The Mythical Man-Month : How to Solve It by George Polya : The Art of Computer Programming : The Elements of Programming Style : The Unix Hater’s Handbook : The Jargon file : The True Believer : Programming Pearls : The Good Soldier Svejk : The Power Elite
Most popular humor pages:
Manifest of the Softpanorama IT Slacker Society : Ten Commandments of the IT Slackers Society : Computer Humor Collection : BSD Logo Story : The Cuckoo's Egg : IT Slang : C++ Humor : ARE YOU A BBS ADDICT? : The Perl Purity Test : Object oriented programmers of all nations : Financial Humor : Financial Humor Bulletin, 2008 : Financial Humor Bulletin, 2010 : The Most Comprehensive Collection of Editor-related Humor : Programming Language Humor : Goldman Sachs related humor : Greenspan humor : C Humor : Scripting Humor : Real Programmers Humor : Web Humor : GPL-related Humor : OFM Humor : Politically Incorrect Humor : IDS Humor : "Linux Sucks" Humor : Russian Musical Humor : Best Russian Programmer Humor : Microsoft plans to buy Catholic Church : Richard Stallman Related Humor : Admin Humor : Perl-related Humor : Linus Torvalds Related humor : PseudoScience Related Humor : Networking Humor : Shell Humor : Financial Humor Bulletin, 2011 : Financial Humor Bulletin, 2012 : Financial Humor Bulletin, 2013 : Java Humor : Software Engineering Humor : Sun Solaris Related Humor : Education Humor : IBM Humor : Assembler-related Humor : VIM Humor : Computer Viruses Humor : Bright tomorrow is rescheduled to a day after tomorrow : Classic Computer Humor
The Last but not Least Technology is dominated by two types of people: those who understand what they do not manage and those who manage what they do not understand ~Archibald Putt. Ph.D
Copyright © 1996-2021 by Softpanorama Society. www.softpanorama.org was initially created as a service to the (now defunct) UN Sustainable Development Networking Programme (SDNP) without any remuneration. This document is an industrial compilation designed and created exclusively for educational use and is distributed under the Softpanorama Content License. Original materials copyright belong to respective owners. Quotes are made for educational purposes only in compliance with the fair use doctrine.
FAIR USE NOTICE This site contains copyrighted material the use of which has not always been specifically authorized by the copyright owner. We are making such material available to advance understanding of computer science, IT technology, economic, scientific, and social issues. We believe this constitutes a 'fair use' of any such copyrighted material as provided by section 107 of the US Copyright Law according to which such material can be distributed without profit exclusively for research and educational purposes.
This is a Spartan WHYFF (We Help You For Free) site written by people for whom English is not a native language. Grammar and spelling errors should be expected. The site contain some broken links as it develops like a living tree...
|
You can use PayPal to to buy a cup of coffee for authors of this site |
Disclaimer:
The statements, views and opinions presented on this web page are those of the author (or referenced source) and are not endorsed by, nor do they necessarily reflect, the opinions of the Softpanorama society. We do not warrant the correctness of the information provided or its fitness for any purpose. The site uses AdSense so you need to be aware of Google privacy policy. You you do not want to be tracked by Google please disable Javascript for this site. This site is perfectly usable without Javascript.
Last modified: March 12, 2019