Cygwin

Last Modified:October 17, 2023

Cygwin is a large collection of GNU and Open Source tools which provide functionality similar to a linux distribution on Windows. Cygwin comes with a DLL (cygwin1.dll) which provides substantial POSIX API functionality.


Cygwin History

Cygwin was developed by Cygnus Solutions in 1995. It is written in C/C++ for the Windows operating system. It is licensed under the GNU LGPLv3 license, which essentially means Open Source. Cygnus was acquired by Red Hat in 2016 and continues to develop the application.

Functionality

Cygwin provides a library which implements the POSIX system, and a GNU development toolchain to compile linux sourcecode applications so they will run under Cygwin. It also permits installation of services such as sshd, apache and other inetd applications so Windows appear to be a linux server to clients connecting to it.

Download

Cygwin is available for download from the official website at https://www.cygwin.com, and is available in a 32bit and 64bit version.

Installing Cygwin

The screenshots below will go through a 32 bit install of Cygwin.

  1. Cygwin Setup

    Run the Cygwin setup program. The Setup program will launch with some important information. It will state:
    This setup program is used for the initial installation of the Cygwin environment as well as all subsequent updates. Make sure to remember where you saved it.
    The pages that follow will guide you through the installation. Please note that Cygwin consists of a large number of packages spanning a wide variety of purposes. We only install a base set of packages by default. You can always run this program at any time in the future to add, remove, or upgrade packages as necessary.

    Click on the "Next" button.
    Installing Cygwin Image 01
  2. Cygwin Setup - Choose Installation Type

    The install will then ask "Choose a Download Source"
    Choose whether to install or download from the internet, or install from files in a local directory. Choose the "Install from Internet" Radio button (should be chosen by default) and click "Next"
    Installing Cygwin Image 02
  3. Cygwin Setup - Choose Installation Directory

    The install now prompts "Select Root Install Directory."
    Select the directory where you want to install Cygwin. Also Choose a few installation parameters. The default Root Directory is "C:\Cygwin". You also have the choice to install for "All Users" or "Just Me". You can keep the default of "All Users (RECOMMENDED)" and click on "Next".
    Installing Cygwin Image 03
  4. Cygwin Setup - Select Local Package Directory

    Select a directory where you want Setup to store the installation files it downloads. The directory will be created if it does not already exist.
    It will default to the location where you ran the setup program. If this location is ok, click on "Next"
    Installing Cygwin Image 04
  5. Cygwin Setup - Select Connection Type

    Select Your Internet Connection. Setup needs to know how you want it to connect to the internet. Choose the appropriate settings below. If you are not sure, choose Direct Connection, then click "Next".
    Installing Cygwin Image 05
  6. Cygwin Setup - Choose Download Site(s)

    Choose a Download Site.
    Choose a site from this list, or add your own sites to the list.
    Normally you want to choose a site close to your location. Hilite one or more sites, then click on "Next"
    Installing Cygwin Image 06
  7. Cygwin Setup - Select Packages

    Select Packages.
    Select packages to install. Here is where you can choose the various packages to install. For a basic install, just keep everything as default, and click on "Next".
    Installing Cygwin Image 07
  8. Cygwin Setup - Review and confirm changes

    Review and confirm changes.
    On this screen, it will show all the various packages which were chosen in the previous step. Click on the "Next" button.
    Installing Cygwin Image 08
  9. Cygwin Setup - Percentage complete.

    The setup program will begin downloading the packages you selected from the download sites you selected. It will place them into the install directory you have chosen previously. It will display status bars for the progress of a particular package, total progress of all packages, and disk space remaining.
    Installing Cygwin Image 09
  10. Cygwin Setup - Installation Status and Create Icons

    Create Icons
    Tell setup if you want it to create a few icons for convenient access to the Cygwin environment. Keep the default selections of creating Icon on Desktop and Add Icon to Start Menu. Click on the "Finish" button.
    Installing Cygwin Image 10
  11. Cygwin Command Prompt Launches

    The command prompt or shell launches for Cygwin. Since this is the first time Cygwin is launching for you, it will state:
    Copying skeleton files.
    These files are for the users to personalise their cygwin experience.

    They will never be overwritten nor automatically updated.

    './.bashrc' -> '/home/user//.bashrc'
    './.bash_profile' -> '/home/user//.bash_profile'
    './.inputrc' -> '/home/usr//.inputrc'
    './.profile' -> '/home/user//.profile'

    It will then state your username@yoursystemname followed by the $ prompt.
    Installing Cygwin Image 11
  12. And you are done!

Summary

The basic Cygwin installation will setup the foundation of linux for windows. The meat and potatoes come from the installation of specific packages to meet the needs of the developer / user.