269 lines
		
	
	
		
			11 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			269 lines
		
	
	
		
			11 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.
 | |
| 
 | |
| @subsection Can I use setup to install snapshots?
 | |
| 
 | |
| Yes.  If experimenting with developer snapshots from
 | |
| @file{http://cygwin.com/snapshots/}, you should generally install the
 | |
| full @code{cygwin-inst-YYYYMMDD.tar.bz2} update, rather than just the
 | |
| DLL, otherwise some components may be out of sync.  However, Cygwin tar
 | |
| won't work because it will load the DLL that you're trying to update,
 | |
| and a non-Cygwin program like WinZip will put everything in the wrong
 | |
| place.  The solution is to use @code{setup.exe}.
 | |
| 
 | |
| Just bunzip2 the cygwin-inst tarball, rename it to cygwin-YYYYMMDD.tar,
 | |
| gzip it, put it in an empty directory, and run @code{setup.exe} there.
 | |
| You should be given the option to install it.
 | |
| 
 | |
| The obvious warnings about updating the cygwin package and using developer
 | |
| snapshots apply:
 | |
| 
 | |
| @enumerate
 | |
| 
 | |
| @item Always download the latest version of setup from
 | |
| @file{http://cygwin.com/setup.exe}.
 | |
| 
 | |
| @item Close all Cygwin apps, including shells and services
 | |
| (e.g. inetd), before running setup.  You may have to restart Windows to
 | |
| clear the DLL from memory.
 | |
| 
 | |
| @item Snapshots are risky.  They have not been tested.  Use them @strong{only} if
 | |
| there is a feature or bugfix that you need to try.
 | |
| 
 | |
| @item If you cannot download a snapshot from the main ftp distribution
 | |
| site, use a mirror, and look in the @samp{snapshots} directory.  You may
 | |
| have to hunt for one that has a copy of the latest snapshot.  Start at
 | |
| @file{http://cygwin.com/mirrors.html}.
 | |
| 
 | |
| @end enumerate
 |