233 lines
9.3 KiB
Plaintext
233 lines
9.3 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 current release, in their
|
|
respective directories:
|
|
|
|
@table @samp
|
|
|
|
@item latest
|
|
ash autoconf bash binutils bison byacc bzip2 clear common crypt cygwin
|
|
dejagnu diff expect fileutils findutils flex gawk gcc gdb gperf grep
|
|
groff gzip inetutils less login m4 make man mt opengl openssh openssl
|
|
patch regex sed shellutils tar tcltk termcap texinfo textutils time vim
|
|
w32api
|
|
|
|
@item contrib
|
|
cvs gdbm gettext jbigkit jpeg libpng ncurses readline tiff xpm zlib
|
|
|
|
@end table
|
|
|
|
Full source code is available for all packages and tools.
|
|
|
|
There is one recommended way to install Cygwin, which is to use the GUI
|
|
installer @samp{setup.exe}. There are some variations on how you go
|
|
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 @samp{setup.exe} program
|
|
|
|
@strong{IMPORTANT: First read the README file in the @samp{latest}
|
|
directory at any ftp mirror. DO THIS NOW! Information in the README
|
|
file is not repeated here. You can find a mirror site near you from
|
|
@file{http://cygwin.com/mirrors.html}.}
|
|
|
|
The @samp{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}.
|
|
|
|
@subsection Why not install in C:\?
|
|
|
|
The @code{setup.exe} program will prompt you for a "root" directory.
|
|
The default is @samp{C:\cygwin}, but you can change it. You are urged not to
|
|
choose something like 'C:\' (the root directory on the system drive) for
|
|
your Cygwin root. If you do, then critical Cygwin system directories
|
|
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.)
|
|
|
|
@subsection Can I use the new setup to update a B18, B19, B20, B20.1 or CD-ROM (1.0) installation of Cygwin?
|
|
|
|
No, you must start from scratch with the new setup. The overall
|
|
structure has changed so much that it would be silly to try to
|
|
accomodate old installations of Cygwin. You'll probably be much better
|
|
off with a whole new installation anyway. You may backup or rename your
|
|
old installation first, or just install the new one somewhere else. Be
|
|
sure to make note of your current mount table, because this will be
|
|
overwritten during the new setup.
|
|
|
|
Once you've installed the latest net release, the new setup will update
|
|
just the individual packages that need it.
|
|
|
|
@subsection The README says I should turn off anti-virus software. Isn't that dangerous?
|
|
|
|
Only Network Associates (formerly McAfee) products have been reported to
|
|
"hang" when extracting Cygwin tar archives. Other products have been
|
|
reported to detect false positives in Cygwin files. Depending on how
|
|
your anti-virus software is configured, it may then delete the file(s)
|
|
without prompting you. Any problems will depend on the particular
|
|
engine and/or signature file in use, and possibly other factors. If you
|
|
don't mind @emph{this} risk, then just leave your anti-virus software
|
|
running.
|
|
|
|
Otherwise, you can download @code{setup.exe} and scan it. Then turn off
|
|
the anti-virus software, then run setup to download and extract all the
|
|
tar files. Then re-activate your anti-virus software and scan
|
|
everything in C:\cygwin (or wherever you chose to install). This should
|
|
be safe, as long as nobody substitutes a malicious @code{setup.exe}!
|
|
|
|
@subsection What packages should I download?
|
|
|
|
Just get everything, if you have room for it. But if you must be
|
|
selective:
|
|
|
|
@table @samp
|
|
|
|
@item cygwin
|
|
This is the minimum core, consisting of the cygwin1.dll and a few
|
|
commands (like @code{mount}). Not much else, and no shell!
|
|
|
|
@item bash
|
|
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.
|
|
|
|
@item ash
|
|
This is often forgotten because it's not obvious that @samp{ash}
|
|
contains @code{/bin/sh}, which is essential for running scripts (and
|
|
@samp{make} and ...).
|
|
|
|
@end table
|
|
|
|
If you want to build programs, of course you'll need @samp{gcc}, but
|
|
you'll also need @samp{binutils}, probably @samp{make} and
|
|
@samp{fileutils}, and possibly lots more. (Again, consider just getting
|
|
everything!)
|
|
|
|
@subsection What if setup fails?
|
|
|
|
First, make sure that you are using the latest version of
|
|
@code{setup.exe}. It's a work in progress, with improvements and
|
|
bugfixes being made often. The latest version is always available from
|
|
the 'Install Cygwin now' link on the Cygwin Home Page at
|
|
@file{http://cygwin.com/}.
|
|
|
|
If you are downloading from the internet, setup will fail if it cannot
|
|
download the list of mirrors at
|
|
@file{http://cygwin.com/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.
|
|
|
|
If setup refuses to download a package that you know needs to be
|
|
upgraded, try deleting that package's entry from /etc/setup. If you are
|
|
reacting quickly to an announcement on the mailing list, it could be
|
|
that the mirror you are using doesn't have the latest copy yet. Try
|
|
another mirror, or try again tomorrow.
|
|
|
|
If setup has otherwise behaved strangely, check the files
|
|
@samp{setup.log} and @samp{setup.log.full} in the Cygwin root directory
|
|
(@code{C:\cygwin} by default). It may provide some clues as to what
|
|
went wrong and why.
|
|
|
|
If you're still baffled, search the Cygwin mailing list for clues.
|
|
Others may have the same problem, and a solution may be posted there.
|
|
If that search proves fruitless, send a query to the Cygwin mailing
|
|
list. You must provide complete details in your query: version of
|
|
setup, options you selected, contents of setup.log and setup.log.full,
|
|
what happened that wasn't supposed to happen, etc.
|
|
|
|
@subsection What's the difference between packages in @samp{latest} and @samp{contrib}?
|
|
|
|
Good question! That very issue has been debated on the
|
|
@samp{cygwin-apps} mailing list. Check the list archives if you want to
|
|
know more. Start at @file{http://cygwin.com/lists.html}.
|
|
|
|
But it really doesn't matter, and there is no distinction as far as
|
|
@code{setup.exe} is concerned. By default, it will install all packages
|
|
from both @code{latest} and @code{contrib} directories.
|
|
|
|
@subsection My Windows logon name has a space in it, will this cause problems?
|
|
|
|
Most definitely yes! UNIX shells (and thus Cygwin) use the space
|
|
character as a word delimiter. Under certain circumstances, it is
|
|
possible to get around this with various shell quoting mechanisms, but
|
|
you are much better off if you can avoid the problem entirely.
|
|
|
|
In particular, the environment variables @samp{USER} and @samp{HOME} are
|
|
set for you in /etc/profile. By default these derive from your Windows
|
|
logon name. You may edit this file and set them explicitly to something
|
|
without spaces.
|
|
|
|
(If you use the @samp{login} package or anything else that reads
|
|
/etc/passwd, you may need to make corresponding changes there. See the
|
|
README file for that package.)
|
|
|
|
@subsection Setup screwed up my mounts!
|
|
|
|
Setup will remove the following mounts, should you have them:
|
|
|
|
@example
|
|
/
|
|
/usr
|
|
/usr/bin
|
|
/usr/lib
|
|
/var
|
|
/lib
|
|
/bin
|
|
/etc
|
|
@end example
|
|
|
|
It will then restore (or create new) mounts for /, /usr/bin and /usr/lib
|
|
as follows (assuming the default install root C:\cygwin):
|
|
|
|
@example
|
|
Device Directory
|
|
C:\cygwin\bin /usr/bin
|
|
C:\cygwin\lib /usr/lib
|
|
C:\cygwin /
|
|
@end example
|
|
|
|
Since setup is not a Cygwin program, it cannot know about your mounts
|
|
(or symlinks, for that matter), and so must impose and enforce this
|
|
structure. You should not try to defeat it, unless you know what you
|
|
are doing and can deal with the consequences.
|
|
|
|
@subsection How do I uninstall Cygwin?
|
|
|
|
Setup has no automatic uninstall facility. Just delete everything
|
|
manually:
|
|
|
|
@itemize @bullet
|
|
@item Cygwin shortcuts on the Desktop and Start Menu
|
|
|
|
@item The registry tree @samp{Software\Cygnus Solutions} under
|
|
@code{HKEY_LOCAL_MACHINE} and/or @code{HKEY_CURRENT_USER}.
|
|
|
|
@item Anything under the Cygwin root folder, @samp{C:\cygwin} by
|
|
default.
|
|
|
|
@item Anything created by setup in its temporary working directory.
|
|
|
|
@end itemize
|
|
|
|
It's up to you to deal with other changes you made to your system, such
|
|
as installing the inetd service, altering system paths, etc. Setup
|
|
would not have done any of these things for you.
|