使用Cygwin在Windows上体验Linux的快感
jopen
9年前
前言
记得大学的时候就曾经使用过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,如果网络不给力可以下载我提供的完整离线包
在线安装
- 点击下一步
- 选择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界面搜索并勾选所需的包或者直接全部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/