Major re-write of "Installation using the setup.exe program".
This commit is contained in:
parent
6642e617bb
commit
138b832b0c
|
@ -5,29 +5,41 @@ Unlike previous net releases such as B20.1 and earlier, there is no
|
||||||
monolithic "full" or "usertools" installation. Rather, you can pick and
|
monolithic "full" or "usertools" installation. Rather, you can pick and
|
||||||
choose the packages you wish to install, and update them individually.
|
choose the packages you wish to install, and update them individually.
|
||||||
|
|
||||||
The following packages are available with the latest net release:
|
The following packages are available with the current release, in their
|
||||||
|
respective directories:
|
||||||
|
|
||||||
ash, bash, binutils, bison, byacc, bzip2, clear, common, cygwin,
|
@table @samp
|
||||||
dejagnu, diff, expect, fileutils, findutils, flex, gawk, gcc, gdb,
|
|
||||||
gperf, grep, groff, gzip, inetutils, less, libpng, login, m4, make, man,
|
@item latest
|
||||||
opengl, patch, sed, shellutils, tar, tcltk, termcap, texinfo, textutils,
|
bison common diff flex gperf inetutils make opengl shellutils texinfo
|
||||||
time, zlib
|
ash byacc crypt expect gawk grep less man patch tar textutils bash bzip2
|
||||||
|
cygwin fileutils gcc groff login sed tcltk time binutils clear dejagnu
|
||||||
|
findutils gdb gzip m4 mt termcap vim
|
||||||
|
|
||||||
|
@item contrib
|
||||||
|
cvs gdbm jbigkit jpeg libpng tiff zlib
|
||||||
|
|
||||||
|
@end table
|
||||||
|
|
||||||
Full source code is available for all packages and tools.
|
Full source code is available for all packages and tools.
|
||||||
|
|
||||||
There are a few different ways to install the Cygwin net release, and
|
There is one recommended way to install Cygwin, which is to use the GUI
|
||||||
we'll try to cover them all here. It is strongly recommended to use the
|
installer @code{setup.exe}. There are some variations on how you go
|
||||||
automatic @code{setup.exe} program if you can.
|
about that.
|
||||||
|
|
||||||
|
Do it any other way, and you're on your own! That said, keep in mind
|
||||||
|
that the GUI installer is a "work in progress", so there might be a few
|
||||||
|
difficulties, especially if you are behind a firewall or have other
|
||||||
|
specific requirements. If something doesn't work right for you, and
|
||||||
|
it's not covered here or elsewhere, then by all means report it to the
|
||||||
|
mailing list.
|
||||||
|
|
||||||
@section Installation using the @code{setup.exe} program
|
@section Installation using the @code{setup.exe} program
|
||||||
|
|
||||||
@strong{IMPORTANT: If you run @code{setup.exe} on an existing Cygwin
|
@strong{IMPORTANT: First read the README file in the @code{latest}
|
||||||
installation, Setup will overwrite the contents of mounted directories.
|
directory at any ftp mirror. DO THIS NOW! Information in the README
|
||||||
There is no recovery from this. If you are upgrading from an older
|
file is not repeated here. You can find a mirror site near you from
|
||||||
version of Cygwin, you may wish to back up your current installation and
|
@file{http://sources.redhat.com/cygwin/mirrors.html}.}
|
||||||
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,
|
The @code{setup.exe} program is the recommended way to install Cygwin,
|
||||||
but it is still a work in progress. Expect features and functionality
|
but it is still a work in progress. Expect features and functionality
|
||||||
|
@ -36,199 +48,89 @@ 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
|
diagnose problems, should you have any. Check the cygwin mailing list
|
||||||
for the latest news about @code{setup.exe}.
|
for the latest news about @code{setup.exe}.
|
||||||
|
|
||||||
You have a few options when using @code{setup.exe}.
|
@subsection Why not install in C:\?
|
||||||
|
|
||||||
The @code{setup.exe} program will prompt you for a "root" directory.
|
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
|
The default is 'C:\cygwin', but you can change it. You are urged not to
|
||||||
urged @strong{not} to choose something like 'C:\'.) It will contain the
|
choose something like 'C:\' (the root directory on the system drive) for
|
||||||
necessary files and directory structure, and will be mounted to '/' as
|
your Cygwin root. If you do, then critical Cygwin system directories
|
||||||
part of the installation process.
|
like 'etc', 'lib' and 'bin' could easily be corrupted by other (non-Cygwin)
|
||||||
|
applications or packages that use \etc, \lib or \bin. Perhaps there is
|
||||||
|
no conflict now, but who knows what you might install in the future?
|
||||||
|
It's also just good common sense to segregate your Cygwin "filesystems"
|
||||||
|
from the rest of your Windows system disk. (In the past, there had been
|
||||||
|
genuine bugs that would cause problems for people who installed in C:\,
|
||||||
|
but we believe those are gone now.)
|
||||||
|
|
||||||
After a new installation in the default location, your mount points will
|
@subsection Can I use the new setup to update a B18, B19, B20, B20.1 or CD-ROM (1.0) installation of Cygwin?
|
||||||
look something like this:
|
|
||||||
|
|
||||||
@example
|
No, you must start from scratch with the new setup. The overall
|
||||||
Device Directory Type Flags
|
structure has changed so much that it would be silly to try to
|
||||||
C:\cygwin\bin /usr/bin user binmode
|
accomodate old installations of Cygwin. You'll probably be much better
|
||||||
C:\cygwin\lib /usr/lib user binmode
|
off with a whole new installation anyway. You may backup or rename your
|
||||||
C:\cygwin / user binmode
|
old installation first, or just install the new one somewhere else. Be
|
||||||
@end example
|
sure to make note of your current mount table, because this will be
|
||||||
|
overwritten during the new setup.
|
||||||
|
|
||||||
Note that /bin and /usr/bin point to the same location, as do /lib and
|
Once you've installed the latest net release, the new setup will update
|
||||||
/usr/lib. This is intentional, and you should not undo these mounts
|
just the individual packages that need it.
|
||||||
unless you @emph{really} know what you are doing. Currently,
|
|
||||||
@code{setup.exe} creates only binary mounts, but future versions will
|
|
||||||
probably be more flexible.
|
|
||||||
|
|
||||||
You can let @code{setup.exe} download all the files for you on the fly.
|
@subsection The README says I should turn off anti-virus software. Isn't that dangerous?
|
||||||
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
|
Only Network Associates (formerly McAfee) products have been reported to
|
||||||
installation, @code{setup.exe} will install @strong{only} the packages
|
"hang" when extracting Cygwin tar archives. Other products should not
|
||||||
it finds in the directory; it will not also be able to download packages
|
cause problems, if you prefer to keep them running.
|
||||||
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
|
Otherwise, you can download @code{setup.exe} and scan it. Then turn off
|
||||||
you from @file{http://sources.redhat.com/cygwin/mirrors.html}. Then
|
the anti-virus software, then run setup to download and extract all the
|
||||||
go to the 'latest' directory, download @code{setup.exe} and save that to
|
tar files. Then re-activate your anti-virus software and scan
|
||||||
an @strong{empty temporary directory}. While you're there, download the
|
everything in C:\cygwin (or wherever you chose to install). This should
|
||||||
README file and read it. Then read it again.
|
be safe. (As long as nobody substitutes a malicious setup.exe ...)
|
||||||
|
|
||||||
Then proceed according to your choice below.
|
@subsection What packages should I download?
|
||||||
|
|
||||||
@subsection Internet installation with @code{setup.exe}
|
Just get everything, if you have room for it. But if you must be
|
||||||
|
selective:
|
||||||
|
|
||||||
Shut down @strong{all cygwin applications} (including inetd, etc.).
|
@table @samp
|
||||||
|
|
||||||
Then, in a @strong{Windows command prompt} ("MS-DOS Prompt" in Windows
|
@item cygwin
|
||||||
95/98), '@code{cd}' to the temporary directory and type
|
This is the minimum core, consisting of the cygwin1.dll and a few
|
||||||
'@code{setup.exe}'.
|
commands (like @code{mount}). Not much else, and no shell!
|
||||||
|
|
||||||
When prompted, specify the location of the root directory, or accept the
|
@item bash
|
||||||
default.
|
This is the default interactive command shell for cygwin. If you don't
|
||||||
|
install @samp{bash}, then the "Cygwin Bash Shell" shortcut that setup
|
||||||
|
creates for you won't actually do anything.
|
||||||
|
|
||||||
At the next prompt, choose to install from the Internet ('i'). This is
|
@item ash
|
||||||
the default.
|
This is often forgotten because it's not obvious that @samp{ash}
|
||||||
|
contains @code{/bin/sh}, which is essential for running scripts, (and
|
||||||
|
@code{make} and ...).
|
||||||
|
|
||||||
Setup will connect to sources.redhat.com to read a list of mirror
|
@end table
|
||||||
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 and install 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
|
If you want to build programs, of course you'll need @samp{gcc}, but
|
||||||
your Start Menu, containing a shortcut to @code{cygwin.bat}, which
|
you'll also need @samp{binutils}, probably @samp{make} and
|
||||||
invokes bash with various environment variables set correctly. The
|
@samp{fileutils}, and possibly lots more. (Again, consider just getting
|
||||||
"Uninstall Cygwin" shortcut, if present, is unlikely to do a proper
|
everything!)
|
||||||
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
|
@subsection What if setup fails?
|
||||||
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}
|
If you are downloading from the internet, setup will fail if it cannot
|
||||||
|
download the list of mirrors at
|
||||||
|
@file{http://sources.redhat.com/cygwin/mirrors.html}. It could be that
|
||||||
|
the network is too busy. Similarly for an ftp download site that isn't
|
||||||
|
working. Try another mirror, or try again later.
|
||||||
|
|
||||||
Before proceeding, you must download packages into the temporary
|
If setup refuses to download a package that you know needs to be
|
||||||
directory containing @code{setup.exe}. These are in subdirectories of
|
upgraded, try deleting that package's entry from /etc/setup. If you are
|
||||||
'latest' and end in .tar.gz and not in -src.tar.gz. If there is more
|
reacting quickly to an announcement on the mailing list, it could be
|
||||||
than one in a given directory, pick the one with the highest version
|
that the mirror you are using doesn't have the latest copy yet. Try
|
||||||
number. Put them together in the temporary directory containing
|
another mirror, or try again tomorrow.
|
||||||
@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
|
@subsection What's the difference between packages in @samp{latest} and @samp{contrib}?
|
||||||
'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 all the tar files that it finds there. Here are the gory
|
|
||||||
details again:
|
|
||||||
|
|
||||||
Shut down @strong{all cygwin applications} (including inetd, etc.).
|
|
||||||
|
|
||||||
Then, in a @strong{Windows command prompt} ("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 proper
|
|
||||||
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.
|
|
||||||
|
|
||||||
@strong{You cannot use this method to update a B18, B19, B20, B20.1 or
|
|
||||||
CD-ROM (1.0) installation of Cygwin. You must have previously installed
|
|
||||||
a net release of Cygwin 1.1.0 or greater, using @code{setup.exe}, before
|
|
||||||
you can update packages with 'setup -u'.}
|
|
||||||
|
|
||||||
To update your installation, create an empty temporary directory, and
|
|
||||||
download the latest version of @code{setup.exe} to it from a Cygwin
|
|
||||||
mirror near you.
|
|
||||||
|
|
||||||
Then, in a @strong{Windows command prompt} ("MS-DOS Prompt" in Windows
|
|
||||||
95/98), '@code{cd}' to the temporary directory and type
|
|
||||||
@example
|
|
||||||
setup -u <pkg>
|
|
||||||
@end example
|
|
||||||
where "<pkg>" is the name of the package you wish to update, such as
|
|
||||||
"cygwin" or "gdb" or "make" or ...
|
|
||||||
|
|
||||||
Specify the root directory as you did when you first installed Cygwin.
|
|
||||||
This will update the package. As with the initial installation, you can
|
|
||||||
update from the internet ('i') or from the directory ('d'). 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 the package "cygwin", then you must close
|
|
||||||
@strong{all} Cygwin applications (including @code{inetd}, for example),
|
|
||||||
before running setup.
|
|
||||||
|
|
||||||
You can omit the '-u' option, which will force setup to install the
|
|
||||||
latest package (from internet or directory), regardless of whether
|
|
||||||
@code{setup.exe} believes it is necessary. You @strong{must} omit '-u'
|
|
||||||
if you are updating from a development snapshot, because development
|
|
||||||
snapshots have their version numbers "bumped" to the next release
|
|
||||||
number. In this case, @code{setup.exe} will think your installation is
|
|
||||||
already up-to-date.
|
|
||||||
|
|
||||||
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://sources.redhat.com/cygwin/mirrors.html}. This is
|
|
||||||
required for an internet ('i') install. Either sources.redhat.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 internet installation to work, just download the
|
|
||||||
packages yourself and do a directory ('d') 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 directory ('d') install
|
|
||||||
@item re-enable the anti-virus software
|
|
||||||
@item scan everything below your Cygwin root directory (@code{C:\cygwin} by default)
|
|
||||||
@end enumerate
|
|
||||||
|
|
||||||
|
Good question! That very issue is sometimes debated on the
|
||||||
|
@samp{cygwin-apps} mailing list. Check the list archives if you want to
|
||||||
|
know more.
|
||||||
|
|
Loading…
Reference in New Issue