User Tools

Site Tools


tech:microsoft:cygwin:start

Cygwin: Salvation on Windows

GA Distribution

Cygwin as-distributed provides a rather unique, and sometimes inconvenient, mechanism for installation. A small network-install executable is provided, which consults online repositories for downloads of installation artifacts. The install executable also relies on locally-written meta-data to keep track of the entire installation footprint.

Installation

Removal

  • Uninstall all services
    • List services installed: cygrunsrv -L
      NOTE: the inetd service won't show in the list, even if installed/running, but stopping it and removing it will work regardless
    • Stop each service with: cygrunsrv –stop service_name
    • Remove each service with: cygrunsrv –remove service_name
  • Stop X server, after stopping any cygwin X clients that are running
  • If using the cyglsa authentication mechanisms (hopefully not - pain), revert all of that
  • Remove the cygwin (or cygwin64) folder tree
  • Remove all shortcuts installed by the installer
  • Remove references to the cygwin folder tree from environment variables (most notably, PATH)
  • Using the regedit program, remove the registry tree(s) Software\Cygwin under HKEY_LOCAL_MACHINE and/or HKEY_CURRENT_USER

Backup Client-Side Agent

Cygwin makes a particularly powerful solution for a client-side agent in providing central command-n-control with a centralized backup/archival system. Here are some details around how Albert Lea Data has devised such a solution.

Installation

  • Create an administrative user (we'll refer to as $USR) for the backup system identity to be used, log into Windows as that user
  • Acquire the ZIP archive to the client machine: http://www.albertleadata.org/pub/backup-client-agent.zip
  • Extract the contents of the ZIP archive to a working location
  • Move the cygwin64 folder extracted from the ZIP archive to suitable destination, we'll refer to as $CYGDIR (either c:\ or d:\ recommended)
  • Edit the .reg files extracted from the ZIP archive to ensure path references are corrected
  • Right-click on each .reg file and choose Merge
  • Right-click on the Cygwin.bat batch file in the $CYGDIR folder and choose Run as administrator
  • Run these commands:
    mkpasswd -l > /etc/passwd
    mkgroup -l > /etc/group
    chmod 111 /var
    chmod +t /var
    ssh-host-config

    Make sure to enter ntsec for CYGWIN value, and specify your new admin user when prompted

  • Start the SSH service: cygsrvrun -S sshd
  • SSH to the Windows box and log in as new admin user
  • Create SSH key with: ssh-keygen -t rsa … make sure to specify empty passphrase
  • Populate authorized_keys file with server's SSH key for password-less operation
  • Populate backup server's host key (typically just SSH to it and answer yes at key prompt)
  • Ensure home directory has group-write disabled, for example: chmod g-w ~

Packaging & Upgrading

This is the recipe for how the client-side agent footprint is bundled, and how to go about upgrading it.

tech/microsoft/cygwin/start.txt · Last modified: 2018/02/24 16:39 by rk4n3