|
"Interix" is the name of the system when you run the command 'uname
-a'. If you install SUA (Subsystem for Unix-based Applications) or
SFU (Services for Unix) then Interix is still the system. There are
different versions of Interix: Interix 3.5 is with SFU 3.5, Interix
5.2 is with SUA on Windows Server 2003/R2 and Interix 6.0 is with
SUA on Vista and Server 2008.
These instructions apply to ALL versions.
Starting with Interix 3.5 all "/Tools" applications and libraries
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.
You MUST have Interix (SUA or SFU) already installed before starting
these instructions!
The first thing to do to is "bootstrap" the installer to your
system.
There is a specific "bootstrap" file for different versions. Here is
a table to explain and choose from:
Most people have a 32-bit system or are running a 32-bit version of
Windows on 64-bit hardware. The safest choice is to choose a 32-bit
system if you are unsure.
The installer can be run by the Administrator or by a member of the
Administrators group.
This file is a self-extracting, self-installing executable. As
mentioned earlier you MUST have already INSTALLED Interix (SUA/SFU).
You may run this executable from Windows or from an Interix shell.
If the program won't run it may be that you download program has not
set the file to be executable. Here's a full list of actions:
%
chmod +x pkg-current-bootstrap35.exe
% ./pkg-current-bootstrap35.exe
OR
%
chmod +x pkg-current-bootstrap60.exe
% ./pkg-current-bootstrap60.exe
(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.
Post Bootstrap Status
You now have the minimum tools to successfully install packages. The
tools installed include the installer programs plus several updates
to other tools to enhance functionality. When an installation
happens (even the bootstrap) we never destroy any files -- they are
saved to be restored later if you decide to uninstall everything.
You can view everything currently installed by running, from an
Interix shell, the command "pkg_info".
You are now ready to install individual packages that you choose.
If you would prefer to have a standard collection of packages
installed all at once you can refer to the "pkg_update Install"
section below, or you can obtain a software bundle (for more info
see
the SUA Community home page.
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.
If you would like to remove all of the installed packages except for
the core programs needed to run the installer you can issue the
command:
% pkg_delete -A
Be VERY CAREFUL with this command. You CANNOT UNDO this command.
Read the pkg_delete man page for more information on this option and
even more dangerous options.
Available Packages
You can find a list of all of the available packages on the Tool
Warehouse web page:
http://www.suacommunity.com/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 SUA Community
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 -G
You 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
Large Administration
Administrators of several machines usually want to control what
software can be installed or updated. Administrators usually like to
test and validate software (for a multitude of reasons that we won't
cover here) before making this software available to their users.
We understand the needs for this requirement and want to help.
This control can be done setting these conditions:
1. Cache packages you have validated on a local network drive.
2. Create your own "list" file in the cache directory with 'tags'.
3. Set the PKG_LOCATION and PKG_PATH environment variables to this
network drive on each system for members of the administrators
group.
4. Have members of the administrators group only use pkg_update
for installations and updates.
A good reading of the pkg_update and pkg_add manual
pages will help you set these conditions.
We also have available an automated system to reduce your work
controlling the updates and installations for multiple machines.
Contact us for more information.
You may be interested in a customized software bundle for your site.
Currently there are 4 software bundles available for download. Each
bundle is a self-extracting, self-installing file that adds the
pkg installer and many packages. The process is keen enough to
not clobber systems that already have packages installed -- it all
gets integrated together. If you would like a special bundle made
for your site please let know -- we were asked to do this almost
immediately after making the bundles available. You can view the
public bundles at the
SUA Community home page.
Problems, Bugs, Your Suggestions
If you encounter a problem installing a package please check that
you are installing the most recent version of the package. The
installer itself receives regular updates too. So keeping the
installer up-to-date will help too. If you still have the problem
please let us know either in one of the Forums or by e-mail:
tools@interopsystems.com. The sooner the problem is fixed the
less chance that another person will have to face the same problem.
The installer can update itself. We recommend that when a new
version is announced you update to that version. You can safely
update the installer by doing:
pkg_update -L pkg
If you already have the current version the installer will notice
and leave things as they are.
If you have a suggestion for a package please let know. The list of
packages has been developed by the requests of Interix users. We
can't promise that it will get done immediately but it will be added
to the "TO DO" list.
Frequently Asked Questions
I'm behind a firewall / I use an FTP Proxy
The ftp utility is used to transfer packages from the ftp
site to your machine. You can set ftp to work with an FTP
Proxy server by setting the environment variable "ftp_proxy" to the
URL of your FTP Proxy server. You will find this information on the
ftp manual page. We have adjusted ftp to try and use
any Internet Explorer proxy setting automatically. But we have not
expanded it to do a user/password exchange with any proxy.
I'm not allowed to use FTP or My Proxy wants a
password
Some people are at secure locations and are not allowed direct
access to the Tools ftp site or your network proxy requires a
password (which we currently don't support). You may be interested
in downloading the "software bundles."
The software bundles are larger versions of the bootstrap program.
Each bundle includes all of the installation software plus software
packages and their dependencies in one downloadable file. While
installing a bundle, no Internet access is required. You can view
more information on bundles and their content on the
SUA
Community
home page.
I tried to install package XXXX and it failed
Check that you spelled everything correctly. Typos happen.
Sometimes you may get warnings that can be ignored. Read the message
carefully.
If you still have questions ask a question in the Forum or send us
e-mail.
How can I avoid always typing "ftp://ftp.interopsystems.com/pkgs/3.5"
This is only needed if you are using the pkg_add command. We
suggest, as if you didn't already know, you use pkg_update
first. Otherwise you can set the environment variable PKG_PATH to
this URL. Refer to the pkg_add manual page for more
information.
Can I save the packages locally and install them?
Yes, you can. If you do try and keep all of the packages in one
directory. When you do an installation (using pkg_add)
do it from this directory or be sure to set the PKG_PATH environment
variable to this directory. Download all of the "env_*.tgz"
packages too. You may be interested in the cacheing option with
pkg_update (it's easier this way).
Can't find package "env_XXX-bin.tgz" when installing another
package
You likely downloaded just the packages you wanted to install and no
or just some of the dependencies. We always recommend you use the
FTP install whenever possible so this error does not happen.
Otherwise you need to download this "env_XXX-bin.tgz" package too
into the same directory as your other packages. Then try to install
again.
Packages at /Tools that need a common action to be taken during an
installation depend on another package. This reduces errors and the
amount of clutter on your machine. Remember that software bundles
are available too with everything in a single downloadable file.
What is this file ".netrc" about?
The ".netrc" file has been around for a long, long time. It is not a
new invention. You can find full details on the ftp manual
page. The ".netrc" file stores ftp login names and passwords for ftp
sites. It is similar to the ".rhosts" file for rlogin and
rsh. For security it needs to be owned by the user and should
have a permission mode of 0600 (rw-------). Having your /Tools
member name and password in the ".netrc" file makes installation of
packages (and dependent packages) happen in an easier manner.
Can I create my own package?
Yes, you can. Creating a package is very straight-forward when
compared to many other installers. This is one of the reasons we
chose to use this installer. We have also modified the installer to
meet the needs of Interix installations specifically. Other changes
have happened as real needs have been encountered by /Tools
members. If a new feature or bug fix is needed please let us know
-- we respond to this swiftly. To start to learn how to create a
package read the pkg_create manual page.
Can I create my own bundle?
If you are interested in a specific set of packages and their
dependencies in a bundle please let us know. |