2.2. Cygwin在线安装指南

下面详细解释Cygwin的setup.exe的安装过程:

2.2.1. Cygwin的setup.exe的安装首界面

双击setup.exe,则会出现安装界面:

图 2.1. Cygwin Net Release Setup Program

Cygwin Net Release Setup Program

可以看到,其中对于setup.exe,即此安装包,也是有对应的版本的,此处的是2.774。

2.2.2. 选择Cygwin的安装方式

点击“下一步”,出现“Choose installation type”界面:

其中有三个选项:

  • Install from internet(downloaded files will be kept for feature reuse)

    从网上下载(下载下来的文件,也可以将来再用)

    其意思是,从网上下载的文件,存在本地硬盘后,以后万一遇到诸如某个模块被破坏了,不能用了,则可以再通过此setup.exe去重新安装一下,但是选择的是下面要说的第三项,即选择从本地某个文件夹安装,即此处之前下载好了的,效果相当于,windows中安装程序的修复功能。

    关于如何从网上下载安装,接下来会详细解释。

  • Download Without Installing

    只下载不安装

    其用意,暂时没有完全搞懂。大概是为了先完全下载下来,然后方便选择性的安装自己需要的模块吧。

  • Install from Local Directory

    为选择从本地安装

    上面已经提到了,其前提是,之前已经下载过了对应的所需的各个安装模块了,此时可以选择此项,去全新安装或者修复式安装某个模块。

2.2.3. 选择Cygwin的安装根目录

点击“下一步”后,出现“Select Root Install Directory”的界面:

其中Root Directory,指的是你所要将Cygwin安装到哪个目录。

默认为C:\cygwin,此处可以改为自己所要的路径,也可以用默认值,都可以。

我此处改为我所要的路径:E:\DevTools\Cygwin\cygwin_install

然后对于Install for,有两种选择:

  • All User(RECOMMENDED)

    为windows当前所有用户都有效。

  • Just Me

    只对当前的windows用户有效。

此处选择默认的,对所有用户都有效,即可。

2.2.4. 选择Cygwin的本地安装包下载路径

点击“下一步”后,进入“Select Local Package Directory”的界面:

其中Local Package Directory部分,是由于前面选择的是从网上下载并安装,所以此处让你选择对于下载下来的各个模块的安装文件,都放在哪里,此处,根据自己需要,设置一个路径即可。

我此处设置为E:\download\cygwin\cygwin_down

[提示] 设置的路径(文件夹)最好是已经创建好的

不过要注意一点的是,确保你的设置的路径,是真实存在的,否则就会出现这样的错误提示了:

当然,此时也是可以点击”是(Y)“去让其帮你创建对应的路径的。

2.2.5. 选择网络连接方式

然后就进入”Select Your Internet Connection“的界面了:

此时对于网络连接方式,有几种选择:

  • Direct Connection

    一般多数用户都是这种直接连接的网络,所以都是直接使用默认设置即可。

  • Use Internet Explorer Proxy Settings

    使用IE代理设置,如果你本身上网是通过代理上的,且IE中已经设置好了代理,那么就可以用此种设置了。

  • Use HTTP/FTP Proxy

    使用HTTP或FTP类型的代理。同理,如果有需要,自己选择此项后,设置对应的代理地址和端口,即可。

2.2.6. 选择(所要连接的)服务器(去用于后续下载文件)

点击”下一步“后,其会自动去下载一个服务器的列表,然后跳转到”Choose A Download Site“的界面:

图 2.2. Choose A Download Site

Choose A Download Site

此处需要选择一个服务器,之后就是从该服务器下载对应的安装所需的模块文件了。

因此,此处如果选择的服务器不合适的话,尽管你的网络本身速度很快,但是此处下载速度很慢。

所以,此处需要选择一个速度比较快的服务器。

对于国内来说,连接很多国外的服务器,速度一般都很慢。

不过,目前已经的,口碑较好的,速度较快的服务器,是近几年刚出现的163的服务器。

所以,此处对于多数人,最好的选择就是选择163的服务器。

此处,我这里,由图可见,已经默认选择好了163的服务器,所以不需要额外设置了。

如果你的选择其他的服务器,而且服务器列表中也找不到163的话,那么可以自己手动添加:

在Use URL处,输入:

http://mirrors.163.com/cygwin/
[提示] 关于163镜像服务器

163是个好公司,因为刚看到http://mirrors.163.com/.help/中的介绍,得知其前身就是cn99镜像。

之前玩过Ubuntu的人,估计多数都知道cn99这个镜像,因为对于国内来说,apt的源的地址中,属其速度最快。

而且,现又发现,163的镜像,除了提供cygwin,其还提供了其他很多资源的镜像,都可以在http://mirrors.163.com/中找到。

包括很多常见的,比如mandriva,openSUSE,ubuntu等等。

[提示] 为何手动添加URL时,输入的是而不是

首先要说的是,直接输入在图 2.2 “Choose A Download Site”中所看的的地址http://mirrors.163.com/,是无法正常连接163服务器去下载cygwin的。

这也是我之前在【记录】Cygwin下载过程记录中所遇到并解决了的问题。

而具体的原因是为何,我也是刚刚才注意到的:

因为cygwin去安装的话,不论是在线安装还是本地安装,都会需要一个对应的配置文件:setup.ini,而你打开http://mirrors.163.com/中,是找不到对应的setup.ini的,但是在http://mirrors.163.com/cygwin/中是可以找到对应的setup.ini的。

因此,你给cygwin的setup.exe指定了http://mirrors.163.com/后,其从此URL中,找不到对应的setup.ini,所以无法继续安装cygwin。

所以URL中需要输入http://mirrors.163.com/cygwin/

2.2.7. 选择需要安装的模块(安装包)

点击“下一步”后,其会解析一下,然后进入”Select Package“的界面:

此界面,才是整个Cygwin安装过程中的最重要,最需要详细讲解的部分。

2.2.7.1. Cygwin中模块的各种分类

先来说说,那一堆的列表。

可以看到,其有Accesibility,Base,Devel,Editors,Math等很多的部分。

这些,是总体的分类,对于Cygwin中所包含的N个模块的分门别类。

此处,对于安装Cygwin来说,就是安装各种各样的模块而已。

具体安装什么模块,则是根据你自己的需要,去选择不同的模块。

而对于大多数人,尤其是不熟悉的人,其实,最核心的,要记住的一点,那就是,记住一定要安装Devel这个部分的模块,其中包含了各种开发所用到的工具或模块。

而对于其他部分的设置,如果不熟悉,那么可以直接使用默认配置即可。

2.2.7.2. Cygwin中如何查看某分类下,默认已经安装了哪些模块

下面再来解释一下,如何选择或者取消对应的模块。

可以看到,其默认的各个分类后面的是Default字样,其意思很明显,就是cygwin帮我们设置好的,默认的选择安装了一些模块,其具体包含哪些模块,可以通过点击对应的分类前面的加号以展开。

以Devel为例:

点击加号:

然后就可以看到,cygwin已经默认帮忙选择了哪些安装哪些模块:

可以看到,有很多n/a的标示,其表示Not Avalibale不可用,此处即为不安装的意思,对应的模块的前面也写的是Skip,同样是跳过安装此模块的意思。

而对应方括号中间打叉,表示的是选择安装该模块,上图中即为选择安装gettext这个模块。

2.2.7.3. cygwin中如何取消/选择安装单个模块

而想要安装某单个模块,比如gdb模块的话,那么就是对着那个skip前面的图标,点击一下,然后就可以看到gdb模块被选中了,表示安装此模块:

2.2.7.4. Cygwin中如何取消/选择/重新/卸载安装某分类下的所有模块

很明显,如果想要对几十个,几百个模块都想要安装的话,如果都要一个个点击,那岂不是累死了。

对此,cygwin早就想好了,给我们提供了更方便的设置,那就是,对于此Devel分类下面的所有的模块,如果你想要都安装,那么可以点击Devel后面的那个Default:

那么Default就会变成Install,同时,其下所有的模块,也都变成选择安装了:

对应的,再次点击Install,则会变成Reinstall,对应的Devel下面的各个模块,也都变成相应的skip了:

此处对于reinstall之所以变成skip,那是因为之前就没有安装过,所以此处对于之前没有安装过的模块,就是变成skip,即也不安装了。而如果你是第二次运行此cygwin安装程序,那么对于那些之前安装过的,则会变成对应的reinstall的。

同理,点击Reinstall,则又会变成Uninstall:

含义很明显,卸载对应的模块的意思。

如此,对于某个分类,点击对应的后面的安装选项的话,会在:Default,Install,Reinstall,Uninstall这几个选项之间来回切换。

2.2.7.5. Cygwin中如何知道某个模块是否已经选择安装了

而对于想要知道某个库,或者说模块,程序等,是否已经选择安装了,

多数人都会被cygwin里面太多的模块而搞晕掉,所以其提供了一个Search的功能。

比如,我想要去确定(用于搭建Docbook环境所必须的其中)一个叫做libxml2的模块,

那么就可以去search框中输入libxml2,则其会自动把与此libxml2相关的模块,都列出来:

不过由于各个子分类都是加号,没有展开的,所以点击加号,全部展开:

可以看到此处已经安装了Devel中的libxml2-devel这个模块了,其已经基本满足开发需求了。

但是很多时候,我们可能对于剩下的其他的与此libxml2相关的模块,不是很清楚其功能,不知道是否需要安装,那么此时,其实最简单省事的办法就是,把相关的模块,都点击Skip,直到都变成Install:

如此,就不怕漏装某个libxml2的库,而导致以后需要回来重新安装了。

如此,安装自己需求,一点点去选择自己需要的模块,即可。

2.2.7.6. 关于安装Cygwin模块方面的最简单,最核心的提示

还是那句话,对于新手,很多不清楚各个模块的作用:

那么最简单的做法是,全部都选上。

当然觉得全部都选上,又太浪费下载时间和安装后的空间的话,那么最为开发用途的cygwin,则至少可以把

Base,Devel,Libs,Net,System,Utils

等这几个最基本的分类下面的模块都选上。

即点击

Base,Devel,Libs,Net,System,Utils

的Default,使其都变成Install即可:

当然,如果对于这些,你还嫌弃还是太多,那么就只选择Devel,也基本够你日常开发所用了。

2.2.8. 安装所选模块直至完成

选择好需要安装的模块后,就可以点击”下一步“去安装了。

然后后面就很简单了,基本上都是下一步,然后cygwin就会自动去下载并安装对应的模块了。

这个过程所需时间,取决于你所选模块的多少,和连接(前面所设置的163)服务器的速度快慢,决定了下载所用时间,以及最后加上安装所有模块的时间,总体上来说,应该都是以小时为单位,比如2,3个小时之类的时间。

最后安装完毕,会在桌面出现一个cygwin的图标,双击后,第一次运行,其会初始化一下,之后就是正常的使用Linux的环境了。

[提示] 关于安装到最后有时候会死掉的解决办法

如果遇到了安装到最后,比如95%的时候死掉的问题,可以参考:

【记录】Cygwin下载过程记录

[提示] 离线安装Cygwin

离线安装Cygwin,即从本地安装,其安装方法,和上面的从setup.exe安装相比,主要的不同点就是选择从本地安装,剩下的过程都类似,就不多解释了。