msys mingw 自用安装指南

目的

 在Windows环境下安装类unix的一个操作环境,并添加像是mingw以及 git 等编译操作环境
`</pre>

## 安装步骤
  1. 下载安装文件

    下载地址: http://downloads.sourceforge.net/project/mingw/Installer/mingw-get-setup.exe?r=http%3A%2F%2Fwww.mingw.org%2Fdownload%2Finstaller&ts=1399712983&use_mirror=softlayer-dal

  2. 运行下载下来的安装文件,按照提示步骤进行安装
  3. 安装包选择

    选择两个基本包 msys-base 和 mingw-base。 当然,也可以选择develop 那个包一起安装,甚至是g++ 包这些一起安装都没有问题

    理论上到这里就可以直接使用了,很简单吧

    安装完以后的设置

  4. 默认的安装是将msys作为mingw的附属。我喜欢将msys 复制出来,作为上级,而将mingw作为msys的一个模块

    将 mingw安装目录下的 msys/1.0里的东西移动想要的地方。 我习惯复制到d盘根目录。
    将1.0改名为想要的名称,我喜欢改成msys

    将原被的 mingw 目录移动到 msys 下面(这是我个人的习惯,其实放哪都是可以的,只要在后面的配置后能找到.

  5. 修改mingw配置
    默认的mingw配置位置已经被我们变更了,所以需要进行一些调整

    1. 修改d:\msys\mingw\var\lib\mingw-get\data\defaults.xml

    查找

    <sysroot subsystem= "mingw32"  path= "%R"  />
    <sysroot subsystem="MSYS" path="%R/msys/1.0" />
    

    将原本的路径修改成

    <sysroot subsystem= "mingw32"  path= "%R"  />
     <sysroot subsystem="MSYS" path="%R/../" />
    
    1. 修改d:\msys\mingw\var\lib\mingw-get\data\profile.xml 跟上一个一样的修改方法

    现在可以试试用mingw-wget intall xxx 安装一些软件,看看安装的软件位置是不是在所期望的地方。

    中文设置

    首先我们修改下/etc/profile,这里我们已经打开使用msys了,我们要最后加入这样的内容

    ` export LANG=en
     alias l='/bin/ls --show-control-chars --color=auto'
     alias la='/bin/ls -aF --show-control-chars --color=auto'
     alias ll='/bin/ls -alF --show-control-chars --color=auto'
     alias ls='/bin/ls --show-control-chars --color=auto'
    `

    然后保存退出,这里LANG=en是设置了语言环境,我们设置成英语,至于其它的我们要设置一下其它的语言环境了,,后面的alias是为了在使用ls时能够显示中文.
    但是我们发现不能输入中文,于是我们需要修改/etc/inputrc.default和用户目录下的.inputrc文件,(这里主要是 用户目录下的.inputrc 文件,测试过删除或者修改 /etc/inputrc.default都没用处,只是修改后复制一份为.inputrc就可以了)
    我们找到的内容并修改

    `set meta-flag on
    set input-meta on
    set output-meta on
    set convert-meta off
    `

    另外使用 Mintty 或rxvt的方法是: 先安装 mingw-get install mingw-mintty ,然后建立msys.bat的快捷方式。

    修改快捷方式属性,在快捷方式启动方式上加上 –mintty 或 –rxvt 就可以了

    扩展设置

    在 /etc/profile 或者 .profile 中添加一下内容,用于整合外部一些程序,比如 qemu,git 等

    `# Initialize our extra package repository

    if [ ! -d /extra ]; then
    mkdir -p /extra
    fi
    

    Initialize our initizlization script directory

    if [ ! -d /etc/mpkg ]; then
    mkdir -p /etc/mpkg
    fi
    

    Initialize user configurations

    if [ ! -d "$HOME" ]; then
    mkdir -p "$HOME"
    cp -a /etc/std/.inputrc $HOME/.inputrc
    cp -a /etc/std/.vimrc   $HOME/.vimrc
    cp -a /etc/std/.vim     $HOME/.vim
    cd $HOME
    ctags -R --c++-kinds=+p --fields=+iaS --extra=+q ../../mingw
    mv tags .tags
    echo -e "System Version 3 installed successfully !!!\n"
    fi
    

    Initialize extra packages

    for i in /etc/mpkg/*.sh; do
    if [ -f $i ]; then
    . $i
    fi
    done