MSYS2下载:

MSYS2下载:


初始一贯在用 msys,目前发现还有个 msys2,并且msys2 配套的编译器是MinGW-w64。 就试着用了用,感觉还不错,那里把安装进程记录一下。

MSYS2是什么

  • MSYS2 (Minimal SYStem 2) 是一个MSYS的单独改写版本,主要用于 shell
    命令行开发条件。同时它也是一个在Cygwin (POSIX 包容性层) 和
    MinGW-w64(从”MinGW-生成”)基础上暴发的,追求更好的互操作性的
    Windows 软件。
  • MSYS2 [1]
    是MSYS的一个升任版,准确的就是集成了pacman和Mingw-w64的Cygwin升级版,
    提供了bash shell等linux环境、版本控制软件(git/hg)和MinGW-w64
    工具链。与MSYS最大的界别是移植了 Arch Linux的软件包管理体系Pacman(其实是与Cygwin的差异)。

MSYS2是什么

  • MSYS2 (Minimal SYStem 2) 是一个MSYS的独立改写版本,主要用于 shell
    命令行开发环境。同时它也是一个在Cygwin (POSIX 包容性层) 和
    MinGW-w64(从”MinGW-生成”)基础上发出的,追求更好的互操作性的
    Windows 软件。
  • MSYS2 [1]
    是MSYS的一个提高版,准确的就是集成了pacman和Mingw-w64的Cygwin升级版,
    提供了bash shell等linux环境、版本控制软件(git/hg)和MinGW-w64
    工具链。与MSYS最大的区分是移植了 Arch Linux的软件包管理种类Pacman(其实是与Cygwin的分别)。

//
msys2使用小结 | 知行近思
http://www.annhe.net/article-3482.html
MSYS2是MSYS的一个升格版,准确的乃是集成了pacman和Mingw-w64的Cygwin升级版,
提供了bash shell等linux环境、版本控制软件(git/hg)和MinGW-w64
工具链。与MSYS最大的分裂是移植了 Arch Linux的软件包管理体系Pacman(其实是与Cygwin的界别)。[1]

一言以蔽之的说,MSYS2 是MSYS的一个升迁版, 提供了bash shell, Autotools, 版本控制软件和MinGW-w64 工具链。与MSYS最大的区分是移植了 Arch Linux的软件包管理连串 Pacman。有了 Pacman 升级系统,安装新软件包,还有解决软件包间的依靠难题就变得简单多了。

特点

  • 安装方便
  • 自带 pacman 管理,可以选取 pkgtool 来 makepkg
  • 较快的源速度(能够修改源地址)
  • 自带软件和库较全而且相比较新
  • 澳门金沙国际,利用mingw-w64工具链,能够编译32位或64位代码(必要活动安装)
  • 华语帮忙好,可以一向输入和浏览普通话目录

MSYS2配置计算,可以按照这一个第一字搜索。特点

  • 设置方便
  • 自带 pacman 管理,可以运用 pkgtool 来 makepkg
  • 较快的源速度(可以修改源地址)
  • 自带软件和库较全而且相比新
  • 运用mingw-w64工具链,可以编译32位或64位代码(须求活动设置)
  • 普通话协理好,能够直接输入和浏览中文目录

//
pacman查找安装软件
pacman -Ss #招来软件
pacman -S #设置软件
pacman -Sl #列出帮忙软件
pacman -Qi #翻看某个软件包音讯
pacman -Ql #列出软件包内容

可以在那边查看MSYS2包涵了怎么样软件包:

一、MSYS2的MirrorList配置

一、MSYS2的MirrorList配置


1、修改msys2安装目录下的/etc/pacman.d文件夹里面的3个mirrorlist.*文件

[mirrorlist.mingw32]
#中国科学技术大学开源软件镜像
Server = http://mirrors.ustc.edu.cn/msys2/mingw/i686/
#北京理工大学开源软件镜像
Server = http://mirror.bit.edu.cn/msys2/REPOS/MINGW/i686
#清华大学开源软件镜像
Server = https://mirrors.tuna.tsinghua.edu.cn/msys2/mingw/i686
#日本北陆先端科学技术大学院大学 sourceforge 镜像
Server = http://jaist.dl.sourceforge.net/project/msys2/REPOS/MINGW/i686
Server = ftp://ftp.jaist.ac.jp/pub/sourceforge/m/ms/msys2/REPOS/MINGW/i686
Include = /etc/pacman.d/mirrorlist.mingw32

[mirrorlist.mingw64]
#中国科学技术大学开源软件镜像
Server = http://mirrors.ustc.edu.cn/msys2/mingw/x86_64/
#北京理工大学开源软件镜像
Server = http://mirror.bit.edu.cn/msys2/REPOS/MINGW/x86_64
#清华大学开源软件镜像
Server = https://mirrors.tuna.tsinghua.edu.cn/msys2/mingw/x86_64
#日本北陆先端科学技术大学院大学 sourceforge 镜像
Server = http://jaist.dl.sourceforge.net/project/msys2/REPOS/MINGW/x86_64
Server = ftp://ftp.jaist.ac.jp/pub/sourceforge/m/ms/msys2/REPOS/MINGW/x86_64
Include = /etc/pacman.d/mirrorlist.mingw64

[mirrorlist.msys]
#中国科学技术大学开源软件镜像
Server = http://mirrors.ustc.edu.cn/msys2/msys/$arch
#北京理工大学开源软件镜像
Server = http://mirror.bit.edu.cn/msys2/REPOS/MSYS2/$arch
#清华大学开源软件镜像
Server = https://mirrors.tuna.tsinghua.edu.cn/msys2/msys/$arch
#日本北陆先端科学技术大学院大学 sourceforge 镜像
Server = http://jaist.dl.sourceforge.net/project/msys2/REPOS/MSYS2/$arch
Server = ftp://ftp.jaist.ac.jp/pub/sourceforge/m/ms/msys2/REPOS/MSYS2/$arch
Include = /etc/pacman.d/mirrorlist.msys

1、修改msys2安装目录下的/etc/pacman.d文件夹里面的3个mirrorlist.*文件

[mirrorlist.mingw32]
#中国科学技术大学开源软件镜像
Server = http://mirrors.ustc.edu.cn/msys2/mingw/i686/
#北京理工大学开源软件镜像
Server = http://mirror.bit.edu.cn/msys2/REPOS/MINGW/i686
#清华大学开源软件镜像
Server = https://mirrors.tuna.tsinghua.edu.cn/msys2/mingw/i686
#日本北陆先端科学技术大学院大学 sourceforge 镜像
Server = http://jaist.dl.sourceforge.net/project/msys2/REPOS/MINGW/i686
Server = ftp://ftp.jaist.ac.jp/pub/sourceforge/m/ms/msys2/REPOS/MINGW/i686
Include = /etc/pacman.d/mirrorlist.mingw32

[mirrorlist.mingw64]
#中国科学技术大学开源软件镜像
Server = http://mirrors.ustc.edu.cn/msys2/mingw/x86_64/
#北京理工大学开源软件镜像
Server = http://mirror.bit.edu.cn/msys2/REPOS/MINGW/x86_64
#清华大学开源软件镜像
Server = https://mirrors.tuna.tsinghua.edu.cn/msys2/mingw/x86_64
#日本北陆先端科学技术大学院大学 sourceforge 镜像
Server = http://jaist.dl.sourceforge.net/project/msys2/REPOS/MINGW/x86_64
Server = ftp://ftp.jaist.ac.jp/pub/sourceforge/m/ms/msys2/REPOS/MINGW/x86_64
Include = /etc/pacman.d/mirrorlist.mingw64

[mirrorlist.msys]
#中国科学技术大学开源软件镜像
Server = http://mirrors.ustc.edu.cn/msys2/msys/$arch
#北京理工大学开源软件镜像
Server = http://mirror.bit.edu.cn/msys2/REPOS/MSYS2/$arch
#清华大学开源软件镜像
Server = https://mirrors.tuna.tsinghua.edu.cn/msys2/msys/$arch
#日本北陆先端科学技术大学院大学 sourceforge 镜像
Server = http://jaist.dl.sourceforge.net/project/msys2/REPOS/MSYS2/$arch
Server = ftp://ftp.jaist.ac.jp/pub/sourceforge/m/ms/msys2/REPOS/MSYS2/$arch
Include = /etc/pacman.d/mirrorlist.msys

//
行使MSYS2/MinGW-w64环境编译GNU Emacs | M-x 克里斯-An-Emacser
https://chriszheng.science/2015/03/19/Chinese-version-of-Emacs-building-guideline/
MSYS2是MS-Windows下编译自由/开源软件的一个条件,衍生自Cygwin,也就是说它和Cygwin一样,编译出的先后不可能脱离Cygwin环境运行(其实就是离不开那么些DLL文件)。但MSYS2有一个很牛的地点是它自带了MinGW-w64,MinGW-w64可以认为是MinGW的提拔版本,编译出的程序是原生的Windows程序,最大的性状和名字同样,支持编译出64位的先后。最近MSYS2和MinGW-w64开发都很活跃,两者结合,既表明了MSYS2对*NIX世界的包容性,又能用MinGW-w64编译原生代码,很爽,自带的包很丰裕,包管理使用Arch
Linux用的Pacman,相当的福利。

 

2、修改/etc/pacman.conf,把上面注释行松开

XferCommand = /usr/bin/wget --passive-ftp -c -O %o %u

2、修改/etc/pacman.conf,把下部注释行放手

XferCommand = /usr/bin/wget --passive-ftp -c -O %o %u

轻率说多了,总之,用MSYS2/MinGW-w64能便于的编译自由/开源软件,这里我们用那些组合来编译64位的GNU
Emacs,也就是项目Emacs-w64。

安装

 

msys2 的主页地址:

 

第一下载安装文件,我的系统是32位的,所以下载32位的安装包:

msys2-i686-20140910.exe

 

msys2 需要安装目录只好有 ascii 字符并且不可能有空格。我选取设置在:

C:/msys32

诸如此类设置完后只有最要旨的系统,没有gcc开发条件。运行如下命令可以打开一个bash shell:

msys2_shell.bat

剩余的行事都在这么些bash shell下进展。

msys2 移植了Arch Linux 上的软件包管理连串 Pacman,有了包管理连串,升级、安装新的软件就很简短了。 可是我直接在用redhat 系的linux,没有接触过 Pacman,学习新命令依然花了些时间。这里把一部分广泛的Pacman命令记录一下。

3、更新软件包

pacman -Syu

3、更新软件包

$ pacman -Syu

立异本地软件包

履新本地软件包数据库:

pacman -S –refresh

可以缩写为:pacman -Sy

下一场升级软件包:

pacman -S –refresh –sysupgrade 

可以缩写为:pacman -Syu

 

那边须要越发注意,不可能写为:

pacman -Su

提交的说辞如下,我水平太低,没完全知道是啥意思:

because all MSYS2 programs share the same address space for DLLs due to how MSYS2 (well, Cygwin) implements ‘fork’, and because any Pacman package (both MSYS2 and MinGW-w64 ones) may use MSYS2’s bash to run a post-install script, issuing this command can cause these scripts to fail to run should any updated, core MSYS2 DLLs end up in a different location to where they were. For this reason, the safest procedure for updating MSYS2 is to do it in two stages;

首先更新MSYS2中坚程序包:

pacman -S –needed filesystem msys2-runtime bash libreadline libiconv libarchive libgpgme libcurl pacman ncurses libintl

 

若是这一步更新了有些软件包,那么就需求关闭 msys2 然后再重新运行如下三个批处理文件:

autorebase.bat

msys2_shell.bat

要不更新其他软件包是会报错。(看来MSYS2 依然有点弱,希望今后可以把那一个题材改好了)

今后就可以用:

pacman -Su

立异系统的其余软件包了。

二、常用工具安装

二、常用工具安装

//
从cygwin迁移到msys2的缘由和步子 – 陌辞寒的技巧博客 – SegmentFault
https://segmentfault.com/a/1190000002789600
何以从cygwin迁移到msys2
习惯Linux后,再使用Windows的话,cygwin基本是必须的。但cygwin有部分痛点:

列出富有安装了的软件

pacman -Q –explicit

或者

pacman -Q -e

1、查看工具套件

pacman -Sg

得到结果如下:

kf5
mingw-w64-i686-toolchain
mingw-w64-i686
mingw-w64-i686-gimp-plugins
mingw-w64-i686-qt4
mingw-w64-i686-qt
mingw-w64-i686-qt5
mingw-w64-i686-vulkan-devel
tesseract-data
mingw-w64-x86_64-toolchain
mingw-w64-x86_64
mingw-w64-x86_64-gimp-plugins
mingw-w64-x86_64-qt4
mingw-w64-x86_64-qt
mingw-w64-x86_64-qt5
mingw-w64-x86_64-vulkan-devel
libraries
development
base-devel
base
msys2-devel
compression
VCS
sys-utils
Database
net-utils
editors
python-modules
mingw-w64-cross-toolchain
mingw-w64-cross
MSYS2-devel
perl-modules

机关依据要求设置,一般较常用安装

pacman -S --noconfirm mingw-w64-x86_64-toolchain libraries development base-devel msys2-devel compression VCS sys-utils net-utils editors python-modules
pacman -S --noconfirm mingw-w64-cross mingw-w64-cross-toolchain

1、查看工具套件

$ pacman -Sg

得到结果如下:

kf5
mingw-w64-i686-toolchain
mingw-w64-i686
mingw-w64-i686-gimp-plugins
mingw-w64-i686-qt4
mingw-w64-i686-qt
mingw-w64-i686-qt5
mingw-w64-i686-vulkan-devel
tesseract-data
mingw-w64-x86_64-toolchain
mingw-w64-x86_64
mingw-w64-x86_64-gimp-plugins
mingw-w64-x86_64-qt4
mingw-w64-x86_64-qt
mingw-w64-x86_64-qt5
mingw-w64-x86_64-vulkan-devel
libraries
development
base-devel
base
msys2-devel
compression
VCS
sys-utils
Database
net-utils
editors
python-modules
mingw-w64-cross-toolchain
mingw-w64-cross
MSYS2-devel
perl-modules

机关依照要求设置,一般较常用安装

$ pacman -S --noconfirm mingw-w64-x86_64-toolchain libraries development base-devel msys2-devel compression VCS sys-utils net-utils editors python-modules

并未一个好用的包管理工具,无论是官方的setup.exe,如故第三方的多少个apt-cyg,都存在利用不便于和效应不全的标题:
setup.exe选包很忙碌
apt-cyg和它的器重性得卓殊安装
cygwin的已设置软件数据库不区分是直接设置的或者被着重的包,一旦装上想等卸载就只好自己手动分辨了
apt-cyg不帮助软件升级操作,我自己加上了这么些功效(goreliu/apt-cyg),尽管基本能用,但要么存在有的标题
cygwin的软件打包形式不便于,并且为官方软件仓库提交新的包要求走加邮件列表、发邮件、确认、上传等众多流程
cygwin里不少软件的版本照旧相比较老的,比如git照旧2.1.4本子的,升级缓慢(一个好新闻是python和ruby方今几天升级到最新版本了,以前依旧python
2.7.8/3.2.2、ruby 2.0.0,盼了遥遥无期)
而msys2基本上解决了这么些标题:
选拔从archlinux移植过来的pacman,作用完全,使用方便
PKGBUILD好写,用过archlinux的话无学习开支,为官方源提交新包可以直接在github发PR
msys2里的软件总体是要比cygwin新的(一个特例,如今cygwin的ruby升级到了时尚的2.2,而msys2的或者2.1)

设置新的软件包

pacman -S <package_names|package_groups>

比如自己要安装 gcc。那么执行:

pacman -S gcc 

接下来根据提示安装就足以了。

2、常用工具

  • 翻开可安装软件列表

pacman -Sl
  • 安装python

pacman -S --noconfirm mingw-w64-x86_64-python2 mingw-w64-x86_64-python2-setuptools mingw-w64-x86_64-python2-pip mingw-w64-x86_64-python2-ipython
pacman -S --noconfirm mingw-w64-x86_64-python3 mingw-w64-x86_64-python3-setuptools mingw-w64-x86_64-python3-pip mingw-w64-x86_64-python3-ipython
  • 设置python科学统计库

pacman -S --noconfirm mingw-w64-x86_64-python2-numpy mingw-w64-x86_64-python2-scipy mingw-w64-x86_64-python2-matplotlib mingw-w64-x86_64-python2-pandas
pacman -S --noconfirm mingw-w64-x86_64-python3-numpy mingw-w64-x86_64-python3-scipy mingw-w64-x86_64-python3-matplotlib mingw-w64-x86_64-python3-pandas
  • 设置具有python工具

pacman -Sl | grep mingw-w64-x86_64-python2 | awk '{print "pacman -S --noconfirm "$2}' > python2-all.sh
sh python2-all.sh
pacman -Sl | grep mingw-w64-x86_64-python3 | awk '{print "pacman -S --noconfirm "$2}' > python3-all.sh
sh python3-all.sh
  • 安装nodejs

pacman -S --noconfirm mingw-w64-x86_64-nodejs
  • 设置帮助手册

pacman -S --noconfirm help2man man-db man-pages-posix
  • 安装zsh和git

pacman -S --noconfirm zsh git
  • 安装oh my zsh

sh -c "$(curl -fsSL https://raw.githubusercontent.com/robbyrussell/oh-my-zsh/master/tools/install.sh)"
  • 启航打开zsh

vim .bashrc

在文件最后一行添加,当然也足以一直在指令行中执行

exec zsh
  • 安装vim

pacman -S --noconfirm vim
  • 超强vim配置文件

wget -qO- https://raw.github.com/ma6174/vim/master/setup.sh | sh -x

2、常用工具

  • 查阅可安装软件列表

    $ pacman -Sl
    
  • 安装python2

    $ pacman -S --noconfirm mingw-w64-x86_64-python2
    
  • 安装pip

    $ pacman -S --noconfirm mingw-w64-x86_64-python2-pip
    
  • 安装ipython

    $ pacman -S --noconfirm mingw-w64-x86_64-python2-ipython
    
  • 安装python科学总计库

    $ pacman -S --noconfirm mingw-w64-x86_64-python2-numpy mingw-w64-x86_64-python2-scipy mingw-w64-x86_64-python2-matplotlib
    
  • 设置具有python工具

    $ pacman -Sl | grep mingw-w64-x86_64-python2 | awk '{print "pacman -S --noconfirm "$2}' > python2.sh
    $ sh python2.sh
    
  • 安装nodejs

    $ pacman -S --noconfirm mingw-w64-x86_64-nodejs
    
  • 设置帮助手册

    $ pacman -S --noconfirm help2man
    $ pacman -S --noconfirm man-db
    $ pacman -S --noconfirm man-pages-posix
    
  • 安装zsh和git

    $ pacman -S --noconfirm zsh git
    
  • 安装oh my zsh

    $ sh -c "$(curl -fsSL https://raw.githubusercontent.com/robbyrussell/oh-my-zsh/master/tools/install.sh)"
    
  • 启动打开zsh

    $ vim .bashrc
    

    在文件最终一行添加,当然也得以平素在指令行中执行

    exec zsh
    
  • 安装vim

    $ pacman -S --noconfirm vim
    
  • 超强vim配置文件

    $ wget -qO- https://raw.github.com/ma6174/vim/master/setup.sh | sh -x
    

应用pacman安装要求的软件

探寻软件包

许多时候,我们不知底要根据的软件的准确名称,那时就要先查询软件包的名目。

pacman -Ss <name_pattern>

 

诸如我想安装gcc相关的软件,那么能够这么搜索

pacman -Ss gcc

 

pacman -Q –groups

可以列出所有的软件组,在自家那边举行的结果如下:

base bash

base bash-completion

base bsdcpio

base bsdtar

base bzip2

base catgets

base coreutils

base crypt

base curl

base dash

base file

base filesystem

base findutils

base flex

base gawk

base gcc-libs

base getopt

base grep

base gzip

base less

base lndir

base man-db

base mintty

base msys2-runtime

base ncurses

base pacman

base pacman-mirrors

base pkgfile

base rebase

base sed

base texinfo

base tzcode

base which

msys2-devel binutils

msys2-devel gcc

msys2-devel msys2-w32api-headers

msys2-devel msys2-w32api-runtime

compression bzip2

compression gzip

compression liblzo2

compression xz

libraries cloog

libraries gmp

libraries heimdal-libs

libraries icu

libraries isl

libraries libarchive

libraries libasprintf

libraries libbz2

libraries libcares

libraries libcatgets

libraries libcrypt

libraries libcurl

libraries libdb

libraries libexpat

libraries libffi

libraries libgdbm

libraries libgettextpo

libraries libgpg-error

libraries libgpgme

libraries libiconv

libraries libidn

libraries libintl

libraries liblzma

libraries liblzo2

libraries libmetalink

libraries libnettle

libraries libopenssl

libraries libp11-kit

libraries libpcre

libraries libpipeline

libraries libreadline

libraries libsqlite

libraries libssh2

libraries libtasn1

libraries libxml2

libraries mpc

libraries mpfr

libraries zlib

Database db

Database gdbm

base-devel file

base-devel flex

base-devel gawk

base-devel gettext

base-devel grep

base-devel groff

base-devel m4

base-devel pacman

base-devel perl

base-devel pkgfile

base-devel sed

base-devel texinfo

MSYS2-devel msys2-runtime-devel

 

三、Pacman 命令详解

Pacman
是一个命令行工具,这意味当您执行下边的指令时,必须在极端或控制沈阳举行。

三、Pacman 命令详解

Pacman
是一个命令行工具,那象征当你执行下边的指令时,必须在极端或控制巴尔的摩开展。

剔除一个软件包

pacman -R <package_names|package_groups>

 

1、更新系统

  • 在 Arch Linux 中,使用一条命令即可对一切系统开展立异:

pacman -Syu
  • 设若你已经采纳 pacman -Sy
    将本地的包数据库与长途的仓库进行了同步,也得以只进行:

pacman -Su

1、更新系统

  • 在 Arch Linux 中,使用一条命令即可对整连串统开展立异:

    pacman -Syu
    
  • 只要你已经应用 pacman -Sy
    将当地的包数据库与长途的仓库举行了同步,也得以只举行:

    pacman -Su
    

2、安装包

pacman -S 包名 例如,执行 pacman -S firefox 将安装 Firefox。你也可以同时安装多个包,只需以空格分隔包名即可。
pacman -Sy 包名 与上面命令不同的是,该命令将在同步包数据库后再执行安装。
pacman -Sv 包名 在显示一些操作信息后执行安装。
pacman -U 安装本地包,其扩展名为 pkg.tar.gz。

2、安装包

pacman -S 包名 例如,执行 pacman -S firefox 将安装 Firefox。你也可以同时安装多个包,只需以空格分隔包名即可。
pacman -Sy 包名 与上面命令不同的是,该命令将在同步包数据库后再执行安装。
pacman -Sv 包名 在显示一些操作信息后执行安装。
pacman -U 安装本地包,其扩展名为 pkg.tar.gz。

3、删除包

pacman -R 包名 该命令将只删除包,不包含该包的依赖。
pacman -Rs 包名 在删除包的同时,也将删除其依赖。
pacman -Rd 包名 在删除包时不检查依赖。

3、删除包

pacman -R 包名 该命令将只删除包,不包含该包的依赖。
pacman -Rs 包名 在删除包的同时,也将删除其依赖。
pacman -Rd 包名 在删除包时不检查依赖。

4、搜索包

pacman -Ss 关键字 这将搜索含关键字的包。
pacman -Qi 包名 查看有关包的信息。
pacman -Ql 包名 列出该包的文件。

4、搜索包

pacman -Ss 关键字 这将搜索含关键字的包。
pacman -Qi 包名 查看有关包的信息。
pacman -Ql 包名 列出该包的文件。

5、其余用法

pacman -Sw 包名 只下载包,不安装。
pacman -Sc Pacman 下载的包文件位于 /var/cache/pacman/pkg/ 目录。该命令将清理未安装的包文件。
pacman -Scc 清理所有的缓存文件。

至于 Pacman 越发详细的用法,能够翻阅Pacman
的手册页

5、其余用法

pacman -Sw 包名 只下载包,不安装。
pacman -Sc Pacman 下载的包文件位于 /var/cache/pacman/pkg/ 目录。该命令将清理未安装的包文件。
pacman -Scc 清理所有的缓存文件。

有关 Pacman 尤其详细的用法,能够阅读Pacman
的手册页

相关文章