Giter Club home page Giter Club logo

cygwin-portable's Introduction

ConCygSys

GitHub release (latest by date) GitHub code size in bytes HitCount GitHub

Description

ConCygSys is a lightweight tool that installs portable Cygwin Unix-like environment and connects to portable ConEmu console emulator, with self-update feature.

This is an independent fork of amazing cygwin-portable-installer project. At first minimally modified for sysadmin purposes, later on filled with improvements and new features.

Features

  • Downloads and installs the latest Cygwin and makes it fully portable, so you can:
    • move it to a different directory at any time
    • replicate it by copying its folder
    • rename the folder
    • run from USB or network drive
    • use it in folders with spaces
  • Downloads and installs the latest portable ConEmu
  • WSL support via WSLtty
  • Only pure base with a couple of config files to make the installtion portable, no hacks with Cygwin/ConEmu code
  • The installer is flexible, you can customize the installation process per your requirements
  • You can add your own scripts to execute during installation/update (from URL or locally)
  • Being portable, the script can also upgrade itself and its components
  • Windows 7+ supported

Installation

Optional: Disable antivirus software on your PC during installation. Why it is recommended

Optional: Edit ConCygSys-installer.cmd to customize the installation per your requirements

  • Launch ConCygSys-installer.cmd

If Windows complains with a Windows protected your PC popup, you may need to click Run anyway to proceed with the installation.

  • Once the installation is finished, use Launch-*.cmd to run Cygwin/WSL.

Usage

Default behaviour of Cygwin console:

  • Select by Left Click and release - copy
  • Right click - paste

Shortcuts if using Cygwin via ConEmu console:

  • Ctrl+` - open/hide console (quake style)
  • Double click on Tab - rename a tab
  • Double click on Tab Panel - open a new tab
  • Win+X - open a new tab with standard Windows console

Update

Use update.cmd launcher in the root of your ConCygSys directory to update the installation.

You will be able either to update Cygwin only or to perform a full update: Cygwin + ConCygSys core making the installation protable. ConEmu is already set to check its updates on startup and can update itself independently.

If you cannot find update launcher or something goes wrong:

  • Download ConCygSys-installer.cmd (right click > save link as) to existing ConCygSys directory
  • Launch ConCygSys-installer.cmd

Customization

Open ConCygSys-installer.cmd with text editor on your PC before installation to get a control over the installation process. Available options will be in SCRIPT SETTINGS section. All settings are accompanied with description.

List of options

After the installation, in order to change settings / add components, edit :cygwinsettings and :installoptions sections of update.cmd launcher (Right click > Edit).

Cygwin extras collection

FAQ

How much disk space does it take after installation?

If installed with default settings: 205M zip: 70.3M 7z: 40.3M

What is the path to Windows drives when I'm in Cygwin console?

/cygdrive/DRIVE

BTW, different Windows files are symlinked in Cygwin environment. For instance, /etc/hosts file in Cygwin is linked to %WINDIR%\System32\drivers\etc\hosts. If you go to /proc/registry folder, you will see Windows registry structure. Many Windows programs can be executed from Cygwin as well, for instance:

ipconfig /flushdns - to flush your local DNS cache cygstart "notepad" - open Windows Notepad

Сan I install a package from command line?

If you've chosen to install apt-cyg (enabled by default in installer), you can istall packages from command line, for instance:

apt-cyg install nano

More info about apt-cyg usage | Available packages

I cannot find a desired package in Cygwin repository, what should I do?

This can happen. Fortunately, the packages can still be built from source. Below are some examples for the reference:

MTR | ipmitool

Pre-built packages:

MTR | ipmitool

Can I use this installation for organisation?

  • change CYGWIN_HOME to /%%H/SOMEFOLDER in ConCygSys-installer.cmd (% must be escaped)
  • install with admin rights to shared location, like C:\Program Files\cygwin

In this example every user who launched Cygwin will have own home folder in C:\Users\USER\SOMEFOLDER

For existing installation you can change home folder in /etc/nsswitch.conf. % sign does not need to be escaped in this case.

How to check ConCygSys version?

The version can be found at the beginning of:

  • README.txt file
  • any launcher file

Where can I report an issue or get a support?

GitHub issues GitHub closed issues Contributions welcome

cygwin-portable's People

Contributors

0zhu avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

cygwin-portable's Issues

post-install script failed, if PROXY_HOST set

if PROXY_HOST set, the generated post-install.sh failed with error:
\cygwin\post-install.sh: line 5: syntax error near unexpected token `then'
The failure is the ";" in line 5 with echo: the ";" terminate the command and then the "then" is unexpected.
Is "then" allone in the next line, then it works:
echo if [[ $HOSTNAME == "%COMPUTERNAME%" ]]
echo then
You can try in a interactiv shell: echo message; then it display the same error.
With kind regards

missing escape character for shell "$" / missing proxy setting in post-install.sh

a) the generated script with "echo echo ... " needs a "" (back-slash) to protecd the "$". otherwise the $ is missing in the script - with the result that the variable is empty at runtime.
b) during the install - the proxy setting is missing in the "post_install.sh". in "pre_install it is set in the first lines. if the PC ( in my case win7) has no direct internet access, the "wget" in the post_install.sh fails - because no proxy is set.

i have added the corrected script. the changes you see with "diff".
.. i cant upload the file -...sonething wrong.
i add diff:

394c395,396
<               echo if [[ $HOSTNAME == "%COMPUTERNAME%" ]]; then
---
>               echo if [[ $HOSTNAME == "%COMPUTERNAME%" ]]
>               echo then
522a525,531
>       if not "%PROXY_HOST%" == "" (
>               echo if [[ $HOSTNAME == "%COMPUTERNAME%" ]]
>               echo then
>               echo    export http_proxy=http://%PROXY_HOST%:%PROXY_PORT%
>               echo    export https_proxy=$http_proxy
>               echo fi
>       )
532c541,542
<               echo echo if [[ $HOSTNAME == "%COMPUTERNAME%" ]]; then
---
>               echo echo if [[ \$HOSTNAME == "%COMPUTERNAME%" ]]
>               echo echo then
534c544
<               echo echo       export https_proxy=$http_proxy
---
>               echo echo       export https_proxy=\$http_proxy
536,538c546,548
<               echo echo       export HTTP_PROXY=$http_proxy
<               echo echo       export HTTPS_PROXY=$http_proxy
<               echo echo       export NO_PROXY=$no_proxy
---
>               echo echo       export HTTP_PROXY=\$http_proxy
>               echo echo       export HTTPS_PROXY=\$http_proxy
>               echo echo       export NO_PROXY=\$no_proxy

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.