使用Cygwin在Windows上体验Linux的快感

jopen 9年前

 使用Cygwin在Windows上体验Linux的快感

前言

记得大学的时候就曾经使用过Cygwin,可惜当时没有发现她的美,我相信现在大多数朋友可能会更加倾向于使用Git或 者干脆直接使用虚拟机以及原生Unix。不过对于刚进入Linux的世界新人来说,使用Cygwin可以让你在Windows下面练习Linux的 Bash,以及常用工具,而不需要安装Linux,也不用担心Windows被破坏,给每个人多一种选择也蛮好的,最后再一次感谢163为开源做出的努 力。

Get that Linux feeling - on Windows


更新历史

2015年07月21日 - 初稿

阅读原文 - http://wsgzao.github.io/post/cygwin/

扩展阅读

Cygwin - http://www.cygwin.com/
163源 - http://mirrors.163.com/cygwin/


按照个人习惯一步步勾选即可,软件源我选择163,如果网络不给力可以下载我提供的完整离线包

在线安装

  1. 点击下一步
  2. 选择Install from Internet
  3. 自定义安装路径
  4. 自定义Local Package Directory
  5. 自定义网络连接下载方式(可以使用代理加速)
  6. 选择http://mirrors.163.com作为下载源
  7. 选择自己所需的Packages

离线安装

  1. 点击下一步
  2. 选择Install from Local Directory
  3. 自定义安装路径
  4. 定义Local Package Directory为mirrors.163.com
  5. 选择自己所需的Packages

软件库

你同样可以在Cygwin上编译安装和执行Unix下的程序

在Select Packages界面搜索并勾选所需的包或者直接全部installDevel,举个GoAccess栗子

Administrator@PC-20150629NSFI ~/goaccess-0.9.2  $ ./configure --enable-utf8  checking for a BSD-compatible install... /usr/bin/install -c  checking whether build environment is sane... yes  checking for a thread-safe mkdir -p... /usr/bin/mkdir -p  checking for gawk... gawk  checking whether make sets $(MAKE)... yes  checking for gcc... gcc  checking whether the C compiler works... yes  checking for C compiler default output file name... a.exe  checking for suffix of executables... .exe  checking whether we are cross compiling... no  checking for suffix of object files... o  checking whether we are using the GNU C compiler... yes  checking whether gcc accepts -g... yes  checking for gcc option to accept ISO C89... none needed  checking for style of include used by make... GNU  checking dependency style of gcc... gcc3  checking whether gcc and cc understand -c and -o together... yes  checking for pthread_create in -lpthread... yes  checking build system type... x86_64-unknown-cygwin  checking host system type... x86_64-unknown-cygwin  checking whether to build with rdynamic for GNU ld... no  checking for mvaddwstr in -lncursesw... yes  checking for ncursesw/ncurses.h... yes  checking for ncurses.h... yes  checking for pkg-config... /usr/bin/pkg-config  checking pkg-config is at least version 0.9.0... yes  checking for pkg-config... /usr/bin/pkg-config  checking for GLIB2... yes  checking for g_list_append in -lglib-2.0... yes  checking for socket in -lsocket... no  checking for gethostbyname in -lnsl... no  checking how to run the C preprocessor... gcc -E  checking for grep that handles long lines and -e... /usr/bin/grep  checking for egrep... /usr/bin/grep -E  checking for ANSI C header files... yes  checking for sys/types.h... yes  checking for sys/stat.h... yes  checking for stdlib.h... yes  checking for string.h... yes  checking for memory.h... yes  checking for strings.h... yes  checking for inttypes.h... yes  checking for stdint.h... yes  checking for unistd.h... yes  checking netinet/in.h usability... yes  checking netinet/in.h presence... yes  checking for netinet/in.h... yes  checking sys/socket.h usability... yes  checking sys/socket.h presence... yes  checking for sys/socket.h... yes  checking arpa/inet.h usability... yes  checking arpa/inet.h presence... yes  checking for arpa/inet.h... yes  checking locale.h usability... yes  checking locale.h presence... yes  checking for locale.h... yes  checking netdb.h usability... yes  checking netdb.h presence... yes  checking for netdb.h... yes  checking for stdint.h... (cached) yes  checking for stdlib.h... (cached) yes  checking for string.h... (cached) yes  checking for unistd.h... (cached) yes  checking stddef.h usability... yes  checking stddef.h presence... yes  checking for stddef.h... yes  checking for an ANSI C-conforming const... yes  checking for off_t... yes  checking for size_t... yes  checking whether struct tm is in sys/time.h or time.h... time.h  checking for ptrdiff_t... yes  checking for working strtod... yes  checking for _LARGEFILE_SOURCE value needed for large files... no  checking for working memcmp... yes  checking whether lstat correctly handles trailing slash... yes  checking whether stat accepts an empty string... no  checking for strftime... yes  checking for regcomp... yes  checking for strtoull... yes  checking for memmove... yes  checking for floor... yes  checking for gethostbyaddr... yes  checking for gethostbyname... yes  checking for memset... yes  checking for setlocale... yes  checking for strchr... yes  checking for strdup... yes  checking for strerror... yes  checking for strrchr... yes  checking for strstr... yes  checking for strtol... yes  checking for realpath... yes  checking for malloc... yes  checking for realloc... yes  configure: creating ./config.status  config.status: creating Makefile  config.status: creating src/config.h  config.status: executing depfiles commands    Your build configuration:      CFLAGS = -pthread    storage: On-memory Hash Database (GLib)    prefix: /usr/local    package: goaccess    version: 0.9.2    bugs: goaccess@prosoftcorp.com      make && make install    $ goaccess -V  GoAccess - 0.9.2.  For more details visit: http://goaccess.io  Copyright (C) 2009-2015 GNU GPL'd, by Gerardo Orellana

来自:http://wsgzao.github.io/post/cygwin/