Cygwin 清华以及华为云镜像

清华镜像:https://mirrors.tuna.tsinghua.edu.cn/cygwin/
在 cmd 命令行下安装 Cygwin 软件包
假设原先的 setup 命令安装在 C:\cygwin64\cygwinsetup.exe 
我们只要运行
cygwinsetup -q -P package1_name, package2_name 
即可安装软件包,没有在 Mintty 下运行的原因是, 如果遇到升级,mintty 会被 kill 掉,安装会失败。 当然大多数情况下, 你也可以在 mintty 下,直接安装。例如:
譬如我们用华为云的镜像安装 curl 
$ ./cygwinsetup.exe -XqOs https://repo.huaweicloud.com/cygwin/ -P curl
$ /cygdrive/c/cygwin64/cygwinsetup.exe  --help
Cygwin setup 2.897

Command Line Options:

 --allow-unsupported-windows    Allow old, unsupported Windows versions
 -a --arch                         Architecture to install (x86_64 or x86)
 -C --categories                   Specify entire categories to install
 -o --delete-orphans               Remove orphaned packages
 -A --disable-buggy-antivirus      Disable known or suspected buggy anti virus
                                   software packages during execution.
 -D --download                     Download packages from internet only
 -f --force-current                Select the current version for all packages
 -h --help                         Print help
 -I --include-source               Automatically install source for every
                                   package installed
 -i --ini-basename                 Use a different basename, e.g. "foo",
                                   instead of "setup"
 -U --keep-untrusted-keys          Use untrusted keys and retain all
 -L --local-install                Install packages from local directory only
 -l --local-package-dir            Local package directory
 -m --mirror-mode                  Skip package availability check when
                                   installing from local directory (requires
                                   local directory to be clean mirror!)
 -B --no-admin                     Do not check for and enforce running as
                                   Administrator
 -d --no-desktop                   Disable creation of desktop shortcut
 -r --no-replaceonreboot           Disable replacing in-use files on next
                                   reboot.
 -n --no-shortcuts                 Disable creation of desktop and start menu
                                   shortcuts
 -N --no-startmenu                 Disable creation of start menu shortcut
 -X --no-verify                    Don't verify setup.ini signatures
    --no-version-check             Suppress checking if a newer version of
                                   setup is available
 -O --only-site                    Do not download mirror list.  Only use sites
                                   specified with -s.
 -M --package-manager              Semi-attended chooser-only mode
 -P --packages                     Specify packages to install
 -p --proxy                        HTTP/FTP proxy (host:port)
 -Y --prune-install                Prune the installation to only the requested
                                   packages
 -K --pubkey                       URL of extra public key file (gpg format)
 -q --quiet-mode                   Unattended setup mode
 -c --remove-categories            Specify categories to uninstall
 -x --remove-packages              Specify packages to uninstall
 -R --root                         Root installation directory
 -S --sexpr-pubkey                 Extra public key in s-expr format
 -s --site                         Download site URL
 -u --untrusted-keys               Use untrusted saved extra keys
 -g --upgrade-also                 Also upgrade installed packages
    --user-agent                   User agent string for HTTP requests
 -v --verbose                      Verbose output
 -V --version                      Show version
 -W --wait                         When elevating, wait for elevated child
                                   process

The default is to both download and install packages, unless either --download or --local-install is specified.

Cygwin HOME 默认为 /home/$U 如果我们修改 /etc/nsswitch.conf 把
db_home: 值修改为 /%H , 那么 Cygwin 可以使用 Windows 的 HOME 了. 不要忘记开头的 反斜杠啊!

如果我们去查看 git-scm 自带的 git bash 的话, 可以看到 /etc/nsswitch 的设置是

也就是说, 我们如果用 Cygwin 的话, 参照上面的 db_home 也应该是可以设置为 Windows 的 Home 的, 也就是 c:\Users\username

个人推荐的几个包: tree, psmisc, screen, wget, curl, procps

apt-cyg 是个好东东, 还是强烈推荐使用,简单方便。
安装 apt-cyg 就是 git clone https://github.com/transcode-open/apt-cyg.git
然后 cd apt-cyg; install apt-cyg /bin
使用 apt-cyg 就很简单了。 命令行不加任何参数就显示帮助, 列出本地安装的软件包就是 apt-cyg list
显示当前的使用的镜像就是 apt-cyg mirror
显示软件包里的所有文件: apt-cyg listfiles packageName

把 openssh 作为服务安装:
1. 运行 ssh-host-config -y
2. 然后可以用 net start cygsshd 或者 cygrunsrv -S cygsshd 启动

补充:
1. 在后面的文章有提到 KVM NFS 共享存储时,想到在 Cygwin 下也能直接挂接 Linux 上的 NFS 存储, 搜索了下, Cygwin 只能挂接自身的,不能挂接外面的 NFS 服务,因为需要原生的 NFS 文件系统驱动才能挂接,要么是打开 Windows 的 Unix 套件,但是那个和 Cygwin 本来就是“竞争对手”,如果要那个,就不会安装 Cygwin 了。 所以,这个算是 Cygwin 的一个缺点吧。


作者: 甬洁网络

--移动互联网&物联网技术提供商