前言
记得大学的时候就曾经使用过Cygwin,可惜当时没有发现她的美,我相信现在大多数朋友可能会更加倾向于使用Git
或者干脆直接使用虚拟机以及原生Unix。不过对于刚进入Linux世界的新人来说,使用Cygwin可以让你在Windows下面练习Linux的Bash,以及常用工具,而不需要安装Linux,也不用担心Windows被破坏,给每个人多一种选择也蛮好的,***再一次感谢163为开源做出的努力。
更新历史
Cygwin - http://www.cygwin.com/
163源 - http://mirrors.163.com/cygwin/
按照个人习惯一步步勾选即可,软件源我选择163,如果网络不给力可以下载我提供的完整离线包。
在线安装
- 点击下一步
- 选择
Install from Internet
- 自定义安装路径
- 自定义Local Package Directory
- 自定义网络连接下载方式(可以使用代理加速)
- 选择
http://mirrors.163.com
作为下载源 - 选择自己所需的Packages
离线安装
- 点击下一步
- 选择
Install from Local Directory
- 自定义安装路径
- 定义Local Package Directory为
mirrors.163.com
- 选择自己所需的Packages
软件库
你同样可以在Cygwin上编译安装和执行Unix下的程序
在Select Packages
界面搜索并勾选所需的包或者直接全部install Devel
,举个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