2000-02-17 20:38:33 +01:00
<chapter id="setup-net"><title>Setting Up Cygwin</title>
2004-01-16 07:31:49 +01:00
<sect1 id="internet-setup">
<title>Internet Setup</title>
2001-12-04 05:20:31 +01:00
<para>To install the Cygwin net release, go to <ulink
2004-12-24 22:58:38 +01:00
url="http://cygwin.com/">http://cygwin.com/</ulink> and click on <ulink
url="http://cygwin.com/setup.exe">"Install Cygwin Now!"</ulink>. This will
2001-12-04 05:20:31 +01:00
download a GUI installer called <command>setup.exe</command> which can
be run to download a complete cygwin installation via the internet.
2003-03-27 05:56:52 +01:00
Follow the instructions on each screen to install Cygwin.
</para>
2003-03-22 21:03:41 +01:00
<para>
The <command>setup.exe</command> installer is designed to be easy
for new users to understand while remaining flexible for the
experienced. The volunteer development team is constantly working
on <command>setup.exe</command>; before requesting a new feature,
2009-07-02 00:07:31 +02:00
check the wishlist in the <ulink url="http://sourceware.org/cgi-bin/cvsweb.cgi/setup/README?cvsroot=cygwin-apps&rev=2">CVS <literal>README</literal>
2003-03-23 20:35:52 +01:00
</ulink>. It may already be present in the CVS version!
2003-03-22 21:03:41 +01:00
</para>
<para>
Since the default value for each option is the logical choice for
most installations, you can get a working minimal Cygwin environment
installed by simply clicking the <literal>Next</literal> button
at each page. The only exception to this is choosing a Cygwin mirror,
which you can choose by experimenting with those listed at
2004-12-24 22:58:38 +01:00
<ulink url="http://cygwin.com/mirrors.html">
2003-03-22 21:03:41 +01:00
http://cygwin.com/mirrors.html
</ulink>. For more details about each of page of the
<command>setup.exe</command> installation, read on below.
2003-03-27 05:56:52 +01:00
Please note that this guide assumes that you have a basic understanding
of Unix (or a Unix-like OS). If you are new to Unix, you will also want
2004-12-24 22:58:38 +01:00
to make use of <ulink url="http://www.google.com/search?q=new+to+unix">
2003-03-27 05:56:52 +01:00
other resources</ulink>.
2003-03-22 21:03:41 +01:00
</para>
2008-07-17 13:49:45 +02:00
<sect2 id="setup-download"><title>Download Source</title>
2003-03-22 21:03:41 +01:00
<para>
Cygwin uses packages to manage installing various software. When
the default <literal>Install from Internet</literal> option is chosen,
<command>setup.exe</command> creates a local directory to store
the packages before actually installing the contents.
<literal>Download from Internet</literal> performs only the first
part (storing the packages locally), while
<literal>Install from Local Directory</literal> performs only the
second (installing the contents of the packages).
</para>
<para>
The <literal>Download from Internet</literal> option is mainly
for creating a base Cygwin package tree on one computer for
installation on several machines with
2003-03-27 05:56:52 +01:00
<literal>Install from Local Directory</literal>; copy the
entire local package tree to another machine with the directory
tree intact. For example, you might create a <literal>C:\cache\</literal>
directory and place <command>setup.exe</command> in it. Run
<command>setup.exe</command> to <literal>Install from Internet</literal>
or <literal>Download from Internet</literal>, then copy the whole
<literal>C:\cache\</literal> to each machine and instead choose
2010-01-16 19:06:27 +01:00
<literal>Install from Local Directory</literal>.
2003-03-27 05:56:52 +01:00
</para>
<para>
2003-03-22 21:03:41 +01:00
Though this provides some basic mirroring functionality, if you
2009-04-03 13:51:31 +02:00
are managing a large Cygwin installation, to keep up to date we recommend
2003-03-27 05:56:52 +01:00
using a mirroring tool such as <command>wget</command>. A helpful user on
the Cygwin mailing list created a simple demonstration script to accomplish
2003-03-22 21:03:41 +01:00
this; search the list for <command>mkcygwget</command> for ideas.
</para>
</sect2>
2008-07-17 13:49:45 +02:00
<sect2 id="setup-dir"><title>Selecting an Install Directory</title>
2003-03-22 21:03:41 +01:00
<para>
The <literal>Root Directory</literal> for Cygwin (default
2003-03-22 22:16:25 +01:00
<literal>C:\cygwin</literal>) will become <literal>/</literal>
within your Cygwin installation. You must have write access to
the parent directory, and any ACLs on the parent directory will
determine access to installed files.
2003-03-22 21:03:41 +01:00
</para>
<para>
2003-03-23 20:35:52 +01:00
The <literal>Install For</literal> options of <literal>All Users</literal>
or <literal>Just Me</literal> should always be left on the default
<literal>All Users</literal>, unless you do not have write access to
<literal>HKEY_LOCAL_MACHINE</literal> in the registry or the All Users
Start Menu. This is true even if you are the only user planning to use Cygwin
2003-03-23 20:43:33 +01:00
on the machine. Selecting <literal>Just Me</literal> will cause problems
2003-03-23 20:35:52 +01:00
for programs such as <command>crond</command> and <command>sshd</command>.
If you do not have the necessary permissions, but still want to use these
programs, consult the Cygwin mailing list archives about others' experiences.
2003-03-22 21:03:41 +01:00
</para>
</sect2>
2008-07-17 13:49:45 +02:00
<sect2 id="setup-localdir"><title>Local Package Directory</title>
2003-03-22 21:03:41 +01:00
<para>
The <literal>Local Package Directory</literal> is the cache where
<command>setup.exe</command> stores the packages before they are
2003-03-23 17:23:52 +01:00
installed. The cache must not be the same folder as the Cygwin
2003-03-22 21:03:41 +01:00
root. Within the cache, a separate directory is created for each
Cygwin mirror, which allows <command>setup.exe</command> to use
multiple mirrors and custom packages. After installing Cygwin,
the cache is no longer necessary, but you may want to retain the
packages as backups, for installing Cygwin to another system,
or in case you need to reinstall a package.
</para>
2004-01-24 09:09:45 +01:00
</sect2>
2003-03-22 21:03:41 +01:00
2008-07-17 13:49:45 +02:00
<sect2 id="setup-connection"><title>Connection Method</title>
2003-03-22 21:03:41 +01:00
<para>
2003-03-23 17:23:52 +01:00
The <literal>Direct Connection</literal> method of downloading will
directly download the packages, while the IE5 method will leverage your
IE5 cache for performance. If your organisation uses a proxy server or
auto-configuration scripts, the IE5 method also uses these settings.
If you have a proxy server, you can manually type it into
2003-03-22 21:03:41 +01:00
the <literal>Use Proxy</literal> section. Unfortunately,
<command>setup.exe</command> does not currently support password
authorization for proxy servers.
</para>
</sect2>
2008-07-17 13:49:45 +02:00
<sect2 id="setup-mirror"><title>Choosing Mirrors</title>
2003-03-22 21:03:41 +01:00
<para>
Since there is no way of knowing from where you will be downloading
Cygwin, you need to choose at least one mirror site. Cygwin mirrors
are geographically distributed around the world; check the list at <ulink
2004-12-24 22:58:38 +01:00
url="http://cygwin.com/mirrors.html">http://cygwin.com/mirrors.html</ulink>
2003-03-22 21:03:41 +01:00
to find one near you. You can select multiple mirrors by holding down
<literal>CTRL</literal> and clicking on each one. If you have the URL of
an unlisted mirror (for example, if your organization has an internal Cygwin
mirror) you can add it.
</para>
</sect2>
2008-07-17 13:49:45 +02:00
<sect2 id="setup-packages"><title>Choosing Packages</title>
2003-03-22 21:03:41 +01:00
<para>
For each selected mirror site, <command>setup.exe</command> downloads a
2003-03-23 17:23:52 +01:00
small text file called <literal>setup.bz2</literal> that contains a list
2003-03-22 21:03:41 +01:00
of packages available from that site along with some basic information about
2003-03-23 17:23:52 +01:00
each package which <command>setup.exe</command> parses and uses to create the
2004-01-11 09:32:09 +01:00
chooser window. For details about the format of this file, see
2009-07-02 00:07:31 +02:00
the <ulink url="http://sourceware.org/cygwin-apps/setup.html">
2004-01-11 09:32:09 +01:00
setup.exe homepage</ulink>.
2003-03-22 21:03:41 +01:00
</para>
<para>
The chooser is the most complex part of <command>setup.exe</command>.
2003-03-23 17:23:52 +01:00
Packages are grouped into categories, and one package may belong to multiple
categories (assigned by the volunteer package maintainer). Each package
2012-02-04 12:40:44 +01:00
can be found under any of those categories in the hirarchial chooser view.
2009-04-03 13:51:31 +02:00
By default, <command>setup.exe</command>
2003-03-22 21:03:41 +01:00
will install only the packages in the <literal>Base</literal> category
2003-03-23 17:23:52 +01:00
and their dependencies, resulting in a minimal Cygwin installation.
2003-03-22 21:03:41 +01:00
However, this will not include many commonly used tools such as
<command>gcc</command> (which you will find in the <literal>Devel</literal>
2004-01-11 09:32:09 +01:00
category). Since <command>setup.exe</command> automatically selects
dependencies, be careful not to unselect any required packages. In
particular, everything in the <literal>Base</literal> category is
required.
2003-03-22 21:03:41 +01:00
</para>
<para>
You can change <command>setup.exe</command>'s view style, which is helpful
if you know the name of a package you want to install but not which
category it is in.
Click on the <literal>View</literal> button and it will rotate between
<literal>Category</literal> (the default), <literal>Full</literal> (all
2010-07-27 00:56:24 +02:00
packages), and <literal>Pending</literal> (only packages to be
installed, removed or upgraded).
2003-03-22 21:03:41 +01:00
If you are familiar with Unix, you will probably want to at least glance
through the <literal>Full</literal> listing for your favorite tools.
</para>
<para>
Once you have an existing Cygwin installation, the <command>setup.exe</command>
chooser is also used to manage your Cygwin installation.
Information on installed packages is kept in the
<literal>/etc/setup/</literal> directory of your Cygwin installation; if
2009-04-03 13:51:31 +02:00
<command>setup.exe</command> cannot find this directory it will act as if
you have no Cygwin installation. If <command>setup.exe</command>
2003-03-22 21:03:41 +01:00
finds a newer version of an installed package available, it will automatically
mark it to be upgraded.
To <literal>Uninstall</literal>, <literal>Reinstall</literal>, or get the
<literal>Source</literal> for an existing package, click on
<literal>Keep</literal> to toggle it.
Also, to avoid the need to reboot after upgrading, make sure
to close all Cygwin windows and stop all Cygwin processes before
<command>setup.exe</command> begins to install the upgraded package.
</para>
<para>
2010-07-27 00:56:24 +02:00
To avoid unintentionally upgrading, use the <literal>Pending</literal>
2010-06-26 18:08:46 +02:00
view to see which packages have been marked for upgrading. If you
don't want to upgrade a package, click on the new version number to
2011-07-20 21:31:05 +02:00
toggle it until it says <literal>Keep</literal>. All packages can be
set to stay at the installed version by pressing the <literal>Keep</literal>
button in the top right part of the chooser window.
</para>
<para>
A previous version of each package is usually available, in case downgrading
is required to avoid a serious bug in the current version of the package.
Packages also occasionally have testing (or "experimental") versions available.
Previous and experimental versions can be chosen by clicking on the package's
<literal>New</literal> column until the required version appears.
</para>
<para>
All available experimental packages can be selected by pressing the
<literal>Exp</literal> in the top right part of the chooser window.
Be warned, however, that the next time you run <command>setup.exe</command>
it will try to replace all old or experimental versions with the current
version, unless told otherwise.
2003-03-22 21:03:41 +01:00
</para>
</sect2>
2008-07-17 13:49:45 +02:00
<sect2 id="setup-progress"><title>Download and Installation Progress</title>
2003-03-22 21:03:41 +01:00
<para>
First, <command>setup.exe</command> will download all selected packages
to the local directory chosen earlier. Before installing,
<command>setup.exe</command> performs a checksum on each package. If the
local directory is a slow medium (such as a network drive) this can take
a long time. During the download and installation, <command>setup.exe</command>
2009-04-03 13:51:31 +02:00
shows progress bars for the current task and total remaining disk space.
2003-03-22 21:03:41 +01:00
</para>
</sect2>
2011-12-13 04:54:59 +01:00
<sect2 id="setup-icons"><title>Shortcuts</title>
2003-03-22 21:03:41 +01:00
<para>
2011-12-13 04:54:59 +01:00
You may choose to install "Cygwin Terminal" shortcuts on the Desktop
and/or Start Menu. These shortcuts run <command>mintty</command>,
which will start your default shell as specified
in <filename>/etc/passwd</filename>.
2003-03-22 21:03:41 +01:00
</para>
</sect2>
2008-07-17 13:49:45 +02:00
<sect2 id="setup-postinstall"><title>Post-Install Scripts</title>
2003-03-22 21:03:41 +01:00
<para>
Last of all, <command>setup.exe</command> will run any post-install
scripts to finish correctly setting up installed packages. Since each
script is run separately, several windows may pop up. If you are
2003-03-23 17:23:52 +01:00
interested in what is being done, see the Cygwin Package Contributor's
Guide at <ulink
2004-12-24 22:58:38 +01:00
url="http://cygwin.com/setup.html">http://cygwin.com/setup.html</ulink>
2003-03-23 17:23:52 +01:00
When the last post-install script is completed, <command>setup.exe</command>
will display a box announcing the completion. A few packages, such as
2003-03-22 21:03:41 +01:00
the OpenSSH server, require some manual site-specific configuration.
2003-03-23 17:23:52 +01:00
Relevant documentation can be found in the <literal>/usr/doc/Cygwin/</literal>
2004-07-16 16:17:15 +02:00
or <literal>/usr/share/doc/Cygwin/</literal> directory.
2003-03-22 21:03:41 +01:00
</para>
</sect2>
2008-07-17 13:49:45 +02:00
<sect2 id="setup-troubleshooting"><title>Troubleshooting</title>
2005-07-10 21:39:31 +02:00
<para>
Unfortunately, the complex setup process means that odd problems can
occur. If you're having trouble downloading packages, it may be network
congestion, so try a different mirror and/or a different protocol (i.e.,
HTTP instead of FTP). If you notice something is not working after
running setup, you can check the <command>setup.exe</command> log file
at <literal>/var/log/setup.log.full</literal>. Make a backup of this
file before running <command>setup.exe</command> again, and follow the
steps for <ulink url="http://cygwin.com/problems.html">Reporting
Problems with Cygwin</ulink>.
</para>
</sect2>
2003-03-22 21:03:41 +01:00
2000-02-17 20:38:33 +01:00
</sect1>
DOCTOOL-INSERT-setup-env
2003-02-06 03:52:14 +01:00
DOCTOOL-INSERT-setup-maxmem
2009-03-25 11:37:06 +01:00
DOCTOOL-INSERT-setup-locale
2000-05-03 00:26:41 +02:00
DOCTOOL-INSERT-ntsec
2000-02-17 20:38:33 +01:00
DOCTOOL-INSERT-setup-files
</chapter>