Cygwin是Windows平台上运行的UNIX模拟环境,它对于学习UNIX/Linux操作环境,或者从UNIX到Windows的应用程序移植,或者进行某些特殊的开发工作,尤其是使用GNU工具集在Windows上进行嵌入式系统开发,非常有用。
一、Cygwin的安装
1. 下载Cygwin,这个可以到这里下载 ,至于使用32位的还是64位的版本可以根据自己的系统而定,打开下载好的setup-x86.exe(以64bit Windws系统为例) 。
2. 我这里选择的是2.876(64位)版本
3. 第一个选项是在线安装,第二个选项是只下载不安装(然后手动安装),第三个指你已经下载了安装包,通过已经下载的本地安装包安装,若是第一次安装,选中第一个即可(默认),【下一步】
4. 指定unix系统的根目录,以及限定那些用户可以访问这个目录。安装目录别为中文名,以免出错,接入网站如果不行,提示错误,那就重新来换一个接入网站,建议这个路径要指定在空间比较大的硬盘,在后面的开发中,这个目录是工作目录,随着积累会越来越大
5. 指定包的下载目录,安装完成以后可删除,下面的单选框默认即可,【下一步】
6. 选择连接方式,如果用的是外网,选择第一个(默认)即可,如果使用的是公司网或者其他需要代理的内网,记得使用相应的代理,一般如果默认浏览器有设代理,选择第二个就好,如果默认浏览器没有设代理,则使用第三项自己配置代理,【下一步】
7. 选择一个镜像站点,任选一个即可,按Ctrl键可选中多个。这里需要注意一下,对于国内的用户,强烈建议使用国内的镜像,这样可以在后面的下载过程中有更快的速度,比如我这里使用的是http://mirrors.163.com/cygwin/,我用10M的宽带,下载速度能够达到2M多;【下一步】
8. 这一步很关键,选择要下载和安装的包,根据你的需要选择包,选的包越多所需的下载时间越长,单击【View】可以在分类、全部、已选之间循环切换,点击每一类前面的加号可以展开,要选中每一个包,只需单击每一行前边像循环的那个图标,会在版本号和Skip之间切换,选一个最新的版本号即可,下边的那个复选框默认即可。
为了后面的操作,我们有必要在这里选择一些必要的包进行安装:
(1) curl;
(2) git* (git,git-completion, git-gui, gitk);
(3) libreadline6, libiconv2;
(4) vim, ctags
(5) Python;
(6) lynx
(7) wget, tar, gawk, bzip2
当然其中有一些是已经就默认勾选的,在选择的时候只要在search里面输入对应名称,它就会自动过滤出你要安装的包了,然后将循环Skip切换成你需要安装的版本就好了,一定要记得在搜索的时候不需要按Enter, 不然就直接跳到下一步了。
9. 选好后【下一步】下图,会显示你选择的安装包:
单击下一步开始安装,最后会让你让你选择是否生成快捷方式,然后OK了!
以后要安装新的安装包,或是更新,还是通过这个过程,运行setup.exe选择安装包即可。
二、Cygwin的配置
打开Cygwin终端,右击打开 Options...选项
Text可以设置字体的一些属性,如大小、编码,Locale 选择C, Character set 选择 UTF-8,可以避免中文显示乱码
三、安装apt-cyg
这时就可以打开Cygwin64 Terminal,开始像正常linux终端一样在windows下工作了,但是现在还是比较粗糙,缺少很多我们必要的比如一些依赖库和命令,而且我们比较熟悉的apt-get也没有,在Cygwin中,我们使用apt-cyg来下载和管理安装包,下面我们来介绍怎么安装它:
现在googlecode关闭了,以前网上搜的好多办法都不可行了,没法用wget安装apt-cyg
找了半天只有github里有个方法可行:
apt-cyg is a simple script. To install:
lynx -source rawgit.com/transcode-open/apt-cyg/master/apt-cyg > apt-cyg
install apt-cyg /bin
Example use of apt-cyg:
apt-cyg install nano
四、安装repo
这时候repo命令就可以用了,可以用 ~/bin/repo init --help 命令测试一下,不过关闭终端以后,需要重新配置一下环境变量
或者将它加到 /.bashrc 里面,然后export一下也行。
下面我们可以用repo初始化一个仓库:
初始化一个Android项目用于测试(将上面初始化仓库的操作换成)
下载并同步源码树,这时下载速度就和你的宽带和选择的镜像源有关了,所以国内还是建议使用163的源
当你需要暂停时只需要ctrl+c就可以暂停同步,repo是支持断点续传的,关机你也可以再次来到工作目录执行repo sync继续同步!
当然同步过程可能会经常性的卡住,这时候我们可以使用一个脚本来帮忙vim dowmload.sh,将下面的祖传代码写入dowmload.sh中:
chomd a+x download.sh让其可以运行,然后终端输入./download.sh就可以开始下载了,用这一步代替官方文档里的repo sync。当连接不上终端时休息3毫秒然后再自动repo sync,这样就不用一直等着了。
repo其实是一个脚本,它可以同时管理多个git仓库,而一个git仓库只能维护一份项目代码,关于repo命令的详细可以自寻搜索,也可以参考这里和 repo用法详解
===================================================================================================================
cygwin作为windows下模拟Linux环境的的工具,使得我们能在windows下非常方便的使用Linux的命令和工具,下面讲讲怎样在cygwin添加不支持的命令。
一、安装cygwin工具的安装工具apt-cyg,此工具类似于Ubuntu下的apt-get工具,所有的工具都是通过他安装,用过Ubuntu的人应该都知道
#wget http://apt-cyg.googlecode.com/svn/trunk/apt-cyg
wget http://w.gdu.me/wiki/files/shell/apt-cyg
或者直接从这里clone https://github.com/transcode-open/apt-cyg
chmod +x apt-cyg
mv apt-cyg /usr/local/bin/
apt-cyg --help
cygcheck --help
# 修改软件源
apt-cyg --mirror http://mirrors.163.com/cygwin
#下面是可选的源
# ftp://mirror.mcs.anl.gov/pub/cygwin
# http://mirrors.163.com/cygwin
# ftp://ftp.ges.RedHat.com/private/releng/cygwin-1.8
二、完成以上步骤之后,就可以随便安装相应的软件了
# apt-cyg install man cygwin-doc
apt-cyg install vim screenwget subversion openssh pwgen gzip bzip2 curl rsyncbash-completion lftp nc tree p7zip connect-proxy util-linux bind-utils inetutils
三、添加常用Linux命令
给Cygwin添加more/col/whereis等命令:安装util-linux包:apt-cyg install util-linux
给Cygwin添加telnet/ftp工具:apt-cyg install inetutils
给Cygwin安装dig命令
安装bind-utils包:apt-cyg install bind-utils
检查系统中已设置好DNS: ipconfig /all
得到Windows格式的路径名?
cygpath
-d -m "`pwd`"
Cygwin 3.0.0-1 发布,POSIX兼容环境