269 lines
12 KiB
XML
269 lines
12 KiB
XML
<?xml version="1.0" encoding='UTF-8'?>
|
|
<!DOCTYPE chapter PUBLIC "-//OASIS//DTD DocBook V4.5//EN"
|
|
"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd">
|
|
|
|
<chapter id="setup-net" xmlns:xi="http://www.w3.org/2001/XInclude">
|
|
<title>Setting Up Cygwin</title>
|
|
|
|
<sect1 id="internet-setup">
|
|
<title>Internet Setup</title>
|
|
<para>To install the Cygwin net release, go to <ulink
|
|
url="https://cygwin.com/"/> and run
|
|
<ulink url="https://cygwin.com/setup-x86_64.exe">setup-x86_64.exe</ulink>
|
|
to install the 64 bit version of Cygwin. This will download a GUI
|
|
installer which can be run to download a complete cygwin installation
|
|
via the internet. Follow the instructions on each screen to install Cygwin.
|
|
</para>
|
|
|
|
<para>
|
|
The <command>setup</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</command>; before requesting a new feature,
|
|
check the wishlist in the
|
|
<ulink url="https://sourceware.org/git/gitweb.cgi?p=cygwin-setup.git;a=blob_plain;f=README;hb=HEAD">Git <literal>README</literal>
|
|
</ulink>. It may already be present in the Git version!
|
|
</para>
|
|
|
|
<para>
|
|
On Windows Vista and later, <command>setup</command> will check by
|
|
default if it runs with administrative privileges and, if not, will try
|
|
to elevate the process. If you want to avoid this behaviour and install
|
|
under an unprivileged account just for your own usage, run
|
|
<command>setup</command> with the <literal>--no-admin</literal> option.
|
|
</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
|
|
<ulink url="https://cygwin.com/mirrors.html"/>. For more details about each of page of the
|
|
<command>setup</command> installation, read on below.
|
|
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
|
|
to make use of <ulink url="http://www.google.com/search?q=new+to+unix">
|
|
other resources</ulink>.
|
|
</para>
|
|
|
|
<sect2 id="setup-download"><title>Download Source</title>
|
|
<para>
|
|
Cygwin uses packages to manage installing various software. When
|
|
the default <literal>Install from Internet</literal> option is chosen,
|
|
<command>setup</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
|
|
<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</command> in it. Run
|
|
<command>setup</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
|
|
<literal>Install from Local Directory</literal>.
|
|
</para>
|
|
<para>
|
|
Though this provides some basic mirroring functionality, if you
|
|
are managing a large Cygwin installation, to keep up to date we recommend
|
|
using a mirroring tool such as <command>wget</command>. A helpful user on
|
|
the Cygwin mailing list created a simple demonstration script to accomplish
|
|
this; search the list for <command>mkcygwget</command> for ideas.
|
|
</para>
|
|
</sect2>
|
|
|
|
<sect2 id="setup-dir"><title>Selecting an Install Directory</title>
|
|
<para>
|
|
The <literal>Root Directory</literal> for Cygwin (default
|
|
<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.
|
|
</para>
|
|
<para>
|
|
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
|
|
on the machine. Selecting <literal>Just Me</literal> will cause problems
|
|
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.
|
|
|
|
</para>
|
|
</sect2>
|
|
|
|
<sect2 id="setup-localdir"><title>Local Package Directory</title>
|
|
<para>
|
|
The <literal>Local Package Directory</literal> is the cache where
|
|
<command>setup</command> stores the packages before they are
|
|
installed. The cache must not be the same folder as the Cygwin
|
|
root. Within the cache, a separate directory is created for each
|
|
Cygwin mirror, which allows <command>setup</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>
|
|
</sect2>
|
|
|
|
<sect2 id="setup-connection"><title>Connection Method</title>
|
|
<para>
|
|
The <literal>Direct Connection</literal> method of downloading will
|
|
directly connect. If your system is configured to use a proxy server or
|
|
auto-configuration scripts, the <literal>Use System Proxy Settings</literal>
|
|
method uses those settings. Alternatively, you can manually enter proxy
|
|
settings into the <literal>Use HTTP/FTP Proxy</literal> section.
|
|
</para>
|
|
</sect2>
|
|
|
|
<sect2 id="setup-mirror"><title>Choosing Mirrors</title>
|
|
<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 url="https://cygwin.com/mirrors.html"/>
|
|
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>
|
|
|
|
<sect2 id="setup-packages"><title>Choosing Packages</title>
|
|
<para>
|
|
For each selected mirror site, <command>setup</command> downloads a
|
|
small text file called <literal>setup.bz2</literal> that contains a list
|
|
of packages available from that site along with some basic information about
|
|
each package which <command>setup</command> parses and uses to create the
|
|
chooser window. For details about the format of this file, see the
|
|
<ulink url="https://sourceware.org/cygwin-apps/setup.html">setup homepage</ulink>.
|
|
</para>
|
|
<para>
|
|
The chooser is the most complex part of <command>setup</command>.
|
|
Packages are grouped into categories, and one package may belong to multiple
|
|
categories (assigned by the volunteer package maintainer). Each package
|
|
can be found under any of those categories in the hierarchical chooser view.
|
|
By default, <command>setup</command>
|
|
will install only the packages in the <literal>Base</literal> category
|
|
and their dependencies, resulting in a minimal Cygwin installation.
|
|
However, this will not include many commonly used tools such as
|
|
<command>gcc</command> (which you will find in the <literal>Devel</literal>
|
|
category). Since <command>setup</command> automatically selects
|
|
dependencies, be careful not to unselect any required packages. In
|
|
particular, everything in the <literal>Base</literal> category is
|
|
required.
|
|
</para>
|
|
<para>
|
|
You can change <command>setup</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
|
|
packages), and <literal>Pending</literal> (only packages to be
|
|
installed, removed or upgraded).
|
|
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</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
|
|
<command>setup</command> cannot find this directory it will act as if
|
|
you have no Cygwin installation. If <command>setup</command>
|
|
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</command> begins to install the upgraded package.
|
|
</para>
|
|
<para>
|
|
To avoid unintentionally upgrading, use the <literal>Pending</literal>
|
|
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
|
|
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</command>
|
|
it will try to replace all old or experimental versions with the current
|
|
version, unless told otherwise.
|
|
</para>
|
|
</sect2>
|
|
|
|
<sect2 id="setup-progress"><title>Download and Installation Progress</title>
|
|
<para>
|
|
First, <command>setup</command> will download all selected packages
|
|
to the local directory chosen earlier. Before installing,
|
|
<command>setup</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</command>
|
|
shows progress bars for the current task and total remaining disk space.
|
|
</para>
|
|
</sect2>
|
|
|
|
<sect2 id="setup-icons"><title>Shortcuts</title>
|
|
<para>
|
|
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>.
|
|
</para>
|
|
</sect2>
|
|
|
|
<sect2 id="setup-postinstall"><title>Post-Install Scripts</title>
|
|
<para>
|
|
Last of all, <command>setup</command> will run any post-install
|
|
scripts to finish correctly setting up installed packages.
|
|
When the last post-install script is completed, <command>setup</command>
|
|
will display a box announcing the completion. A few packages, such as
|
|
the OpenSSH server, require some manual site-specific configuration.
|
|
Relevant documentation can be found in the <literal>/usr/doc/Cygwin/</literal>
|
|
or <literal>/usr/share/doc/Cygwin/</literal> directory.
|
|
</para>
|
|
</sect2>
|
|
<sect2 id="setup-troubleshooting"><title>Troubleshooting</title>
|
|
<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</command> log file
|
|
at <literal>/var/log/setup.log.full</literal>. Make a backup of this
|
|
file before running <command>setup</command> again, and follow the
|
|
steps for <ulink url="https://cygwin.com/problems.html">Reporting
|
|
Problems with Cygwin</ulink>.
|
|
</para>
|
|
</sect2>
|
|
|
|
</sect1>
|
|
|
|
<xi:include href="setup-env.xml"/>
|
|
<xi:include href="setup-maxmem.xml"/>
|
|
<xi:include href="setup-locale.xml"/>
|
|
<xi:include href="setup-files.xml"/>
|
|
</chapter>
|