232 lines
10 KiB
Plaintext
232 lines
10 KiB
Plaintext
@chapter Installation Instructions
|
|
@section Contents
|
|
|
|
Unlike previous net releases such as B20.1 and earlier, there is no
|
|
monolithic "full" or "usertools" installation. Rather, you can pick and
|
|
choose the packages you wish to install, and update them individually.
|
|
|
|
The following packages are available with the latest net release:
|
|
|
|
ash(really '/bin/sh'), bash, binutils, bison, byacc, bzip2, clear, common,
|
|
cygwin, dejagnu, diff, expect, fileutils, findutils, flex, gawk, gcc,
|
|
gdb, gperf, grep, groff, gzip, inetutils, less, libpng, login, m4, make,
|
|
man, patch, sed, shellutils, tar, tcltk, termcap, texinfo, textutils,
|
|
time, zlib
|
|
|
|
Full source code is available for all packages and tools.
|
|
|
|
There are a few different ways to install the Cygwin net release, and
|
|
we'll try to cover them all here. It is strongly recommended to use the
|
|
automatic @code{setup.exe} program if you can.
|
|
|
|
@section Installation using the @code{setup.exe} program
|
|
|
|
@strong{IMPORTANT: If you run @code{setup.exe} on an existing Cygwin
|
|
installation, Setup will overwrite the contents of mounted directories.
|
|
There is no recovery from this. If you are upgrading from an older
|
|
version of Cygwin, you may wish to back up your current installation and
|
|
unmount old mount points in order to isolate them. Then you can
|
|
re-install Cygwin in a new location with new mount points, if this is
|
|
what you want.}
|
|
|
|
The @code{setup.exe} program is the recommended way to install Cygwin,
|
|
but it is still a work in progress. Expect features and functionality
|
|
to change. For this reason, it is a good idea to note the version and
|
|
build time reported by @code{setup.exe} when you run it. This will help
|
|
diagnose problems, should you have any. Check the cygwin mailing list
|
|
for the latest news about @code{setup.exe}.
|
|
|
|
You have a few options when using @code{setup.exe}.
|
|
|
|
The @code{setup.exe} program will prompt you for a "root" directory.
|
|
The default is 'C:\cygwin', but you can change it. (You are strongly
|
|
urged @strong{not} to choose something like 'C:\'.) It will contain the
|
|
necessary files and directory structure, and will be mounted to '/' as
|
|
part of the installation process.
|
|
|
|
After a new installation in the default location, your mount points will
|
|
look something like this:
|
|
|
|
@example
|
|
Device Directory Type Flags
|
|
C:\cygwin\bin /usr/bin user binmode
|
|
C:\cygwin\lib /usr/lib user binmode
|
|
C:\cygwin / user binmode
|
|
@end example
|
|
|
|
Note that /bin and /usr/bin point to the same location, as do /lib and
|
|
/usr/lib. This is intentional, and you should not undo these mounts
|
|
unless you @emph{really} know what you are doing. Currently,
|
|
@code{setup.exe} creates only binary mounts, but future versions will be
|
|
more flexible.
|
|
|
|
You can let @code{setup.exe} download all the files for you on the fly.
|
|
This is the 'internet' installation. Or you can download all (or some)
|
|
of the packages ahead of time, and instruct @code{setup.exe} to install
|
|
Cygwin from those files. This is the 'directory' installation. You
|
|
must use this method if you want to install only a subset of the
|
|
available packages.
|
|
|
|
Note that you cannot combine methods. If you use the directory
|
|
installation, @code{setup.exe} will install @strong{only} the packages
|
|
it finds in the directory; it will not also be able to download packages
|
|
from the internet in the same pass. If you have not carefully chosen
|
|
which packages to download, you may not end up with a working Cygwin
|
|
installation. You can, however, add and update packages later. See
|
|
below.
|
|
|
|
Whichever you choose, the first step is to open an ftp mirror site near
|
|
you from @file{http://sourceware.cygnus.com/cygwin/mirrors.html}. Then
|
|
go to the 'latest' directory, download @code{setup.exe} and save that to
|
|
an @strong{empty temporary directory}. While you're there, download the
|
|
README file and read it. Then read it again.
|
|
|
|
Then proceed according to your choice below.
|
|
|
|
@subsection Internet installation with @code{setup.exe}
|
|
|
|
Shut down @strong{all cygwin applications} (including inetd, etc.).
|
|
|
|
Then, @strong{in a command window} ("MS-DOS Prompt" in Windows 95/98),
|
|
'@code{cd}' to the temporary directory and type '@code{setup.exe}'.
|
|
|
|
When prompted, specify the location of the root directory, or accept the
|
|
default.
|
|
|
|
At the next prompt, choose to install from the Internet ('i'). This is
|
|
the default.
|
|
|
|
Setup will connect to sourceware.cygnus.com to read a list of mirror
|
|
sites. Choose one from the list, or choose 'other' to supply your own.
|
|
If you supply your own, you must provide a full URL, not just the ftp
|
|
hostname. Setup will then proceed to download all packages from the ftp
|
|
site. Of course this may take a while if you have a slow connection.
|
|
|
|
When finished, Setup will have created a "Cygnus Solutions" folder on
|
|
your Start Menu, containing a shortcut to @code{cygwin.bat}, which
|
|
invokes bash with various environment variables set correctly. The
|
|
"Uninstall Cygwin" shortcut, if present, is unlikely to do a complete
|
|
job. If you want to completely uninstall Cygwin, you will probably have
|
|
to delete some things by hand.
|
|
|
|
Once setup is complete you may remove the temporary directory. It will
|
|
contain @code{setup.exe}, the downloaded @code{.tar.gz} files, and a
|
|
setup log file, which is not needed, but may contain helpful diagnostics
|
|
if your installation failed for some reason.
|
|
|
|
@subsection Directory installation with @code{setup.exe}
|
|
|
|
Before proceeding, you must download packages into the temporary
|
|
directory containing @code{setup.exe}. These are in subdirectories of
|
|
'latest' and end in .tar.gz and not in -src.tar.gz. If there is more
|
|
than one in a given directory, pick the one with the highest version
|
|
number. Put them together in the temporary directory containing
|
|
@code{setup.exe}. You may preserve the directory structure of 'latest',
|
|
and include the -src.tar.gz files, without ill effect.
|
|
|
|
Whatever subset you think is appropriate, it @strong{must} contain the
|
|
'cygwin' package, or you will not end up with a working Cygwin
|
|
installation.
|
|
|
|
When you have all the necessary tar files together with
|
|
@code{setup.exe}, proceed as you would for an internet installation,
|
|
except choose directory installation ('d') when prompted. Setup will
|
|
install from the tar files that it finds there. Here are the details
|
|
again:
|
|
|
|
Shut down @strong{all cygwin applications} (including inetd, etc.).
|
|
|
|
Then, @strong{in a command window} ("MS-DOS Prompt" in Windows 95/98),
|
|
'@code{cd}' to the temporary directory and type '@code{setup.exe}'.
|
|
|
|
When prompted, specify the location of the root directory, or accept the
|
|
default.
|
|
|
|
At the next prompt, choose to install from the current directory ('d').
|
|
This is @strong{not} the default.
|
|
|
|
When finished, Setup will have created a "Cygnus Solutions" folder on
|
|
your Start Menu, containing a shortcut to @code{cygwin.bat}, which
|
|
invokes bash with various environment variables set correctly. The
|
|
"Uninstall Cygwin" shortcut, if present, is unlikely to do a complete
|
|
job. If you want to completely uninstall Cygwin, you will probably have
|
|
to delete some things by hand.
|
|
|
|
Once setup is complete you may remove the temporary directory. It will
|
|
contain @code{setup.exe}, the downloaded @code{.tar.gz} files, and a
|
|
setup log file, which is not needed, but may contain helpful diagnostics
|
|
if your installation failed for some reason.
|
|
|
|
@subsection Adding or updating packages
|
|
|
|
Later versions of @code{setup.exe} permit you to add and/or update
|
|
packages to an existing cygwin installation.
|
|
|
|
To update your installation, create an empty directory, cd to it, and
|
|
download the latest version of @code{setup.exe} from the @code{latest}
|
|
directory at a Cygwin mirror near you.
|
|
|
|
Once you've downloaded @code{setup.exe}, type
|
|
@example
|
|
./setup <pkg>
|
|
@end example
|
|
where "<pkg>" is the name of the package you wish to update, such as
|
|
"cygwin" or "gdb" or "make" or ...
|
|
|
|
Answer the questions as you did when you first installed Cygwin. This
|
|
will update the package. As with the initial installation, you can
|
|
update from the (i)nternet or from the (d)irectory. The latter requires
|
|
that you download the @code{.tar.gz} file of the package ahead of time,
|
|
along with @code{setup.exe}.
|
|
|
|
If you are updating "cygwin", then you must close @strong{all} Cygwin
|
|
applications (including @code{inetd}, for example), and run
|
|
@code{setup.exe} from the Windows command prompt.
|
|
|
|
If you supply the @code{-u} option to @code{setup.exe}, then
|
|
@code{setup.exe} will only update the package if an older version is
|
|
currently installed. For example:
|
|
@example
|
|
./setup -u gdb
|
|
@end example
|
|
However, if you currently have a development snapshot installed, setup
|
|
may fail to update the package, because development snapshots have their
|
|
version numbers "bumped" to the next release number. In this case, you
|
|
should not use @code{-u}. Omitting @code{-u} forces @code{setup.exe} to
|
|
perform the update, regardless of whether @code{setup.exe} deems it
|
|
necessary.
|
|
|
|
Once setup is complete you may remove the temporary directory. It will
|
|
contain @code{setup.exe}, the downloaded @code{.tar.gz} files, and a
|
|
setup log file, which is not needed, but may contain helpful diagnostics
|
|
if your installation failed for some reason.
|
|
|
|
@subsection Problems running @code{setup.exe}
|
|
|
|
@subsubsection Error message: "Unable to retrieve the list of cygwin mirrors..."
|
|
|
|
This means that @code{setup.exe} could not make an http connection to
|
|
@file{http://sourceware.cygnus.com/cygwin/mirrors.html}. This is
|
|
required for an (i)nternet install. Either sourceware.cygnus.com was
|
|
too busy, or there is a problem with your network. Note that
|
|
@code{setup.exe} has very limited proxy functionality for firewalls, and
|
|
depends on IE4 or later being installed and configured properly. If you
|
|
cannot get the (i)nternet installation to work, just download the
|
|
packages yourself and do a (d)irectory install.
|
|
|
|
@subsubsection System hangs when unpacking tar archives
|
|
|
|
Your anti-virus software is interfering with @code{setup.exe}. You will
|
|
have to disable it before running setup. In that case, you will
|
|
probably want to:
|
|
|
|
@enumerate
|
|
@item download all the .tar.gz files for the packages, along with @code{setup.exe}
|
|
@item scan it all for viruses
|
|
@item disable the anti-virus software
|
|
@item perform a (d)irectory install
|
|
@item re-enable the anti-virus software
|
|
@item scan everything below your Cygwin root directory (@code{C:\cygwin} by default)
|
|
@end enumerate
|
|
|