If you've never heard of Cygwin, you're in for a treat. I've used it for years to homogenize my environments into one where I can write scripts once and deliver them everywhere for consistent automation solutions. It's a pain to write bash scripts that work on Linux, on Macs, and on commercial Unices, and then have to jump headlong into PowerShell and batch files to attempt to match the level of automation that I can achieve with some Bash scripting.
According to the website, Cygwin is:
If you have already installed cygwin and are looking for a convenient way to install additional software from the command line, the apt-cyg tool may be just what you need. The apt-cyg utility provides a commandline package installation facility which cooperates with the cygwin setup program and uses the same repository. Write-Output ' Downloading extra Python packages (5/7) ' Start-Process - wait - FilePath ' C: cygwin bin bash ' - ArgumentList ' -login -i -c 'pip2 install empy' ' Write-Output ' Downloading and installing JSBSim, then downloading APM source (6/7) '. But here’s a hint: you need to visit the git web page, and install git for Windows. If you prefer a GUI client I recommend tortoise git, you will need to install this separately. INSTALLING EMACS Cygwin. The first task is to install Cygwin. Cygwin is a repository of GNU tools for Microsoft Windows. How to add packages after install Cygwin. Cygwin don’t support command yum for install a new package. But we can use apt-cyg to install a new package on within Cygwin. Apt-cyg is a Cygwin package manager. It includes a command-line installer for Cygwin which cooperates with Cygwin Setup and uses the same repository.
- A large collection of GNU and Open Source tools that provide functionality similar to a Linux distribution on Windows.
- A DLL (cygwin1.dll) which provides substantial POSIX API functionality.
And it is not:
- A way to run native Linux apps on Windows. You must rebuild your application from source if you want it to run on Windows.
- A way to magically make native Windows apps aware of UNIX® functionality like signals, ptys, etc. Again, you need to build your apps from source if you want to take advantage of Cygwin functionality.
Note: Cygwin works equally well on Windows desktops and on server systems.
Why Cygwin?
Cygwin is still relevant if you wish to have native *nix commands available to you on the Windows platform. Yes, I know about Windows Subsystem for Linux (WSL), but Cygwin and WSL aren't the same. Cygwin gives you the power of *nix commands in your native Windows environment. There's no emulation, no virtual machine, and no extra layers between the operating system and this collection of utilities. They are, in fact, authentic open source commands compiled for the Windows platform.
How To Install Cygwin Packages
Linux Containers
Installing Cygwin
Generally, you can accept the default option for each prompt. I provide guidance when there are choices to be made. You can select your own, but I've found that these selections work best in my environments and for the way I work.
Cygwin Install Package Offline
Open a browser on your Windows system and point it to the Cygwin web site. Select the Install Cygwin by running setup-x86_64.exelink to download the setup executable file. Run the executable file to begin the installation and click Next on the Cygwin Setup screen.
Cygwin Install Additional Packages
On the Choose Installation Type screen, select the type of installation you want. For myself, I always select the default, which is Install from Internet.