zoukankan      html  css  js  c++  java
  • cygwin

    cygwin

    192.168.1.102:3389

    Root Directory —— Cygwin环境根目录
    Local Package Directory —— 软件包下载存放位置

    安装的时候,python也要去掉,后续用apt-cyg安装python2.7

    下载地址:http://cygwin.com
    在Use URL处,输入:http://mirrors.163.com/cygwin/

    “Cygwin1.dll”文件的地址,就在“CCygwinin“里
    原因是缺少了一个“Cygwin1.dll”的环境变量,我们只要把这个“Cygwin1.dll”的文件跟要执行的程序放在同一目录即可。


    我们首先在列表中寻找Cygwin中国镜像的地 址:http://www.cygwin.cn,如果找到就选中这个地址;如果找不到这个地址,就在下面手动输入中国镜像的地址:http: //www.cygwin.cn/pub/,再点击“Add”,然后再在列表中选中


    安装cygwin中只需要注意两点:

    1)、安装文件的路径中不能有中文名

    2)、要选中cygwin支持NDK的几个包(为了不遗漏把devel下的全部选中安装

    测试cygwin是否安装成功:

    运行cygwin,在弹出的命令行窗口输入:cygcheck -c cygwin命令,会打印出当前cygwin的版本和运行状态,如果status是ok的话,则cygwin运行正常。
    然后依次输入gcc –version,g++ --version,make –version,gdb –version进行测试,如果都打印出版本信息和一些描述信息,非常高兴的告诉你,你的cygwin安装完成了


    http://www.51testing.com/html/82/547282-854339.html
    http://www.51testing.com/html/82/547282-854340.html
    http://www.cnblogs.com/astwish/articles/3700459.html


    http://www.cnblogs.com/clarkchen/archive/2011/02/21/1960217.html
    http://www.cnblogs.com/starstroll/archive/2009/01/15/1376624.html

    http://bbs.chinaunix.net/thread-3676471-1-1.html hbmhalley
    http://www.cnblogs.com/zuroc/archive/2005/02/09/103469.html

    http://blog.csdn.net/w405722907/article/details/77967718

    http://blog.csdn.net/lionwoo/article/details/446964

    http://blog.csdn.net/shenshouer/article/details/7244358

    https://jingyan.baidu.com/article/08b6a591a5048b14a809220b.html

    http://www.360doc.com/content/13/0123/09/9780582_261890818.shtml
    http://www.cnblogs.com/YHM07/p/4116713.html
    http://blog.sina.com.cn/s/blog_4dbe69550100e7an.html

    https://segmentfault.com/a/1190000002789600
    http://www.codeweblog.com/cygwin%E7%9A%84%E5%AE%89%E8%A3%85-%E9%85%8D%E7%BD%AE%E4%B8%8E%E8%B0%83%E6%95%B4/
    http://blog.csdn.net/Mary_Jane/article/details/50769631

    下载地址:http://cygwin.com  
    在Use URL处,输入:http://mirrors.163.com/cygwin/

    最新版本:2.9.0


    下载地址:http://cygwin.com
    在Use URL处,输入:http://mirrors.163.com/cygwin/


    安装cygwin中只需要注意:
    1、安装文件的路径中不能有中文名
    2、测试cygwin是否安装成功:运行cygwin terminal,输入:cygcheck -c cygwin命令
    会打印出当前cygwin的版本和运行状态,如果status是ok的话,则cygwin运行正常。





    安装流程:从163镜像源下载包,然后解压安装,跟Linux安装流程类似


    ps  -W  :查看windows的所有进程

    mintty只有pty,没有tty,只有虚拟终端,没有本地终端

    ncurses
    ncurses(new curses)是一套编程库,它提供了一系列的函数以便使用者调用它们去生成基于文本的用户界面
    下面这几个软件都曾经用过ncurses库
    vim
    emacs
    lynx
    screen
    ncurses貌似没有提供Windows平台的支持


     http://www.codeweblog.com/cygwin%E7%9A%84%E5%AE%89%E8%A3%85-%E9%85%8D%E7%BD%AE%E4%B8%8E%E8%B0%83%E6%95%B4/

    自动安装脚本

    安装脚本
    也可基于 command-line 进行安装,比如写个批处理文件放到安装目录中:

    @echo off
    echo Cygwin installer.
    echo Copyright (c) 2014 Chen Zhiqiang. Released under the MIT license.
    echo The script used to install cygwin in quiet mode. Maybe you should adjust this script first.
    echo It's a good idea that set CYGWIN_ROOT and CYGWIN_CACHE before call this script.

    ::CYGWIN_ROOT: Cygwin will be installed to this path
    if not defined CYGWIN_ROOT set CYGWIN_ROOT=%~dp0
    if "%CYGWIN_ROOT:~-1%"=="" set CYGWIN_ROOT=%CYGWIN_ROOT:~0,-1%

    ::CYGWIN_CACHE: Local package directory
    if not defined CYGWIN_CACHE set CYGWIN_CACHE=%CYGWIN_ROOT%packages

    ::CYGWIN_MIRROR: Download site
    if not defined CYGWIN_MIRROR set CYGWIN_MIRROR=http://mirrors.kernel.org/sourceware/cygwin/

    ::CYGWIN_SETUP: Cygwin setup program
    if defined CYGWIN_SETUP if exist %CYGWIN_SETUP% goto PRE
    set CYGWIN_SETUP=
    for %%i in (setup*.exe) do (
    set CYGWIN_SETUP=%%~fi
    )
    if not defined CYGWIN_SETUP set /P CYGWIN_SETUP=Input the path of cygwin setup program:

    :PRE
    ::CATEGORIES: Specify entire categories to install
    set CATEGORIES=Base,Admin,System

    ::PACKAGES: Specify packages to install
    ::Audio packages
    set PACKAGES=sox,sox-fmt-flac,sox-fmt-wavpack
    ::DB
    set PACKAGES=%PACKAGES%,postgresql,postgresql-client
    ::Devel packages
    set PACKAGES=%PACKAGES%,autobuild,autoconf,automake,binutils,make,cmake,gcc-g++,gdb
    set PACKAGES=%PACKAGES%,mingw-gcc,mingw64-i686-gcc,mingw64-x86_64-gcc,clang,llvm
    set PACKAGES=%PACKAGES%,gendef,git,git-svn,cvs2svn,bzr,cygport,cygwin64,doxygen,indent
    set PACKAGES=%PACKAGES%,patch,pkg-config,swig,tcl,tcl-tk,gawk,lua,perl,python,ruby
    ::Graphics
    set PACKAGES=%PACKAGES%,gnuplot,gd,ImageMagick,optipng,pngcrush,popper,popper-data,exif
    ::Net
    set PACKAGES=%PACKAGES%,aria2,curl,openssh,rsync,wget,tftp,tftp-server
    ::Utils
    set PACKAGES=%PACKAGES%,bzip2,cpio,genisoimage,gnupg,mkisofs,upx,vim,hexedit
    ::X11
    set PACKAGES=%PACKAGES%,xorg-server,xinit,XtoW,xauth,xhost

    echo Installing Cygwin using these settings: (Press CTRL+C to abord)
    echo CYGWIN_ROOT=%CYGWIN_ROOT%
    echo CYGWIN_CACHE=%CYGWIN_CACHE%
    echo CYGWIN_MIRROR=%CYGWIN_MIRROR%
    echo CATEGORIES=%CATEGORIES%
    echo PACKAGES=%PACKAGES%
    echo --

    choice /T 8 /D Y /M "Confirm (continue after 8 seconds)"

    if ERRORLEVEL 2 goto :EOF
    if ERRORLEVEL 1 goto Install
    goto :EOF

    :Install
    %CYGWIN_SETUP% -q -B -N -n -d ^
    -R %CYGWIN_ROOT% ^
    -l %CYGWIN_CACHE% ^
    -s %CYGWIN_MIRROR% ^
    -C %CATEGORIES% ^
    -P %PACKAGES%


    根据自己的情况进行些调整,即可全自动安装Cygwin了,如想进行一些交互,或者仅以普通用户运行时遇到权限问题,应从命令参数中去掉 -q,这样可以在安装过程中进行交互和干涉。另外,如果用的是从 redhat.com 下载的安装文件,那么不需要加 -s 参数,因为 redhat.com 提供的那个安装文件默认只有一个镜像源,而且我在批处理中所用的那个镜像源也不适用于它。
    为了便携化的目的,在上面的批处理中我使用了 -N -n -d 这些参数,这使得Cygwin不会自动生成菜单和快捷方式。如果不考虑便携,那么应该将这几个参数去掉

    自动安装程序

    我写了一个批处理文件 cyg-setup.bat,它可以将命令行参数传递给 Cygwin 的 setup 程序,但它会自动补上 -R, -l, -s 参数。将这个批处理及 Cygwin 的 setup 程序一起放到 Cygwin 的安装目录下,可以在CMD里这样使用它:

    :: 安装软件包
    cyg-setup -q -P wget,ocaml-llvm,guile

    ::删除软件包
    cyg-setup -q -x guile,tcl-tk
    下面是这个批处理的源码:

    @echo off && goto main
    :Info
    echo cyg-setup - Cygwin setup wrapper.
    echo Copyright (c) 2014 Chen Zhiqiang. Released under the MIT license.
    echo Usage is same to the cygwin setup program, but it will try to resolve these options if they omited: -R, -l, -s.
    echo -R, use %%CYGWIN_ROOT%%, or, use the directory path of this program.
    echo -l, use %%CYGWIN_CACHE%%, or, use %%CYGWIN_ROOT%%packages.
    echo -s, use %%CYGWIN_MIRROR%%, or, pass a default mirror site to the setup.
    echo And, you can use the "acl" option (%0 acl) to reset ACL.
    goto :EOF

    :main
    set P= %*
    ::CYGWIN_ROOT: Cygwin will be installed to this path
    if not defined CYGWIN_ROOT set CYGWIN_ROOT=%~dp0
    if "%CYGWIN_ROOT:~-1%"=="" set CYGWIN_ROOT=%CYGWIN_ROOT:~0,-1%
    ::CYGWIN_CACHE: Local package directory
    if not defined CYGWIN_CACHE set CYGWIN_CACHE=%CYGWIN_ROOT%packages
    ::CYGWIN_MIRROR: Download site
    if not defined CYGWIN_MIRROR set CYGWIN_MIRROR=http://mirrors.kernel.org/sourceware/cygwin/

    if /i "%1"=="info" goto Info
    if /i "%1"=="acl" goto ACL

    ::CYGWIN_SETUP: Cygwin setup program
    if defined CYGWIN_SETUP if exist %CYGWIN_SETUP% goto PRE
    set CYGWIN_SETUP=
    for %%i in (setup*.exe) do (
    set CYGWIN_SETUP=%%~fi
    )
    if not defined CYGWIN_SETUP set /P CYGWIN_SETUP=Input the path of cygwin setup program:

    :PRE
    (echo %P% | findstr /C:" -R " >nul) || (echo %P% | findstr /C:" --root ">nul) || set P=%P% -R %CYGWIN_ROOT%
    (echo %P% | findstr /C:" -l " >nul) || (echo %P% | findstr /C:" --local-package-dir " >nul) || set P=%P% -l %CYGWIN_CACHE%
    (echo %P% | findstr /C:" -s " >nul) || (echo %P% | findstr /C:" --site " >nul) || set P=%P% -s %CYGWIN_MIRROR%

    :Setup
    %CYGWIN_SETUP% %P%
    goto :EOF

    :ACL
    takeown /F %CYGWIN_ROOT% /A
    icacls %CYGWIN_ROOT% /reset
    takeown /F cygdrive /A
    icacls cygdrive /reset
    set CHOWN=%CYGWIN_ROOT%inchown.exe
    %CHOWN% Administrators:Administrators home
    %CHOWN% -R Administrators:Administrators usr lib bin sbin etc var tmp dev
    goto :EOF
    这个脚本使用了几个变量:

    CYGWIN_ROOT,Cygwin的安装目录,默认值为该脚本所在的目录;
    CYGWIN_CACHE,Cygwin的软件包下载路径,默认值为 %CYGWIN_ROOT%packages;
    CYGWIN_MIRROR,Cygwin的安装镜像源,默认使用 mirrors.kernel.org。
    这三个变量都可以通过设置环境变量来改变它们的位置。


  • 相关阅读:
    工作中遇到新知识应该怎么办
    Java中的集合
    JSTL学习(二)自定义标签库
    别跟我扯依赖注入
    经典算法的分析
    Debian
    C 底层细节【转】
    C文件操作 【转】
    利用strstr和sscanf解析GPS信息
    算法学习建议 ACM()转
  • 原文地址:https://www.cnblogs.com/MYSQLZOUQI/p/8439339.html
Copyright © 2011-2022 走看看