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 -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.
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
Some people are at secure locations and are not allowed direct
access to the /Tools ftp site. You may be interested in ordering
the /Tools Toolworks CD. This CD will correctly install from
itself all of the packages or just the packages that you choose. This CD is regularly accepted after going through a "clean room"
check so that it may enter a facility. The Toolworks CD is
updated regularly. If you have a special need please let us know
so that we can help you.
I tried to install package XXXX and it failed
Check that you spelled everything correctly. Typos happen.
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 the packages you wanted to install. 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.
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.
|