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的区别)。

特点

  • 安装方便
  • 自带 pacman 管理,可以使用 pkgtool 来 makepkg
  • 较快的源速度(可以修改源地址)
  • 自带软件和库较全而且比较新
  • 使用mingw-w64工具链,可以编译32位或64位代码(需要自行安装)
  • 中文支持好,可以直接输入和浏览中文目录

MSYS2官网下载:http://www.msys2.org/

一、修改Msys2镜像源


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


[mirrorlist.mingw32]
#清华大学开源软件镜像
Server = https://mirrors.tuna.tsinghua.edu.cn/msys2/mingw/i686
#中国科学技术大学开源软件镜像
Server = http://mirrors.ustc.edu.cn/msys2/mingw/i686/
#北京理工大学开源软件镜像
Server = http://mirror.bit.edu.cn/msys2/REPOS/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


[mirrorlist.mingw64]
#清华大学开源软件镜像
Server = https://mirrors.tuna.tsinghua.edu.cn/msys2/mingw/x86_64
#中国科学技术大学开源软件镜像
Server = http://mirrors.ustc.edu.cn/msys2/mingw/x86_64/
#北京理工大学开源软件镜像
Server = http://mirror.bit.edu.cn/msys2/REPOS/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


[mirrorlist.msys]
#清华大学开源软件镜像
Server = https://mirrors.tuna.tsinghua.edu.cn/msys2/msys/$arch
#中国科学技术大学开源软件镜像
Server = http://mirrors.ustc.edu.cn/msys2/msys/$arch
#北京理工大学开源软件镜像
Server = http://mirror.bit.edu.cn/msys2/REPOS/MSYS2/$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

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

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

3、更新软件包

pacman -Syu

二、常用工具安装

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

2、常用工具

查看可安装软件列表

pacman -Sl

安装帮助手册

pacman -S --noconfirm help2man man-db man-pages-posix

安装zsh、git和vim

pacman -S --noconfirm zsh git vim

安装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配置文件

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

三、Pacman 命令详解

Pacman 是一个命令行工具,这意味着当你执行下面的命令时,必须在终端或控制台中进行。

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。

3、删除包

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

4、搜索包

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

5、其他用法

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

四、整合cmder

1、添加MSYS2_ROOT环境变量
值为msys2安装位置

把MSYS目录中的usr/bin加到环境变量里面去,在正常的cmd下面就也能跑其中的软件了。

2、配置cmder

代码

set CHERE_INVOKING=1 & %MSYS2_ROOT%\usr\bin\zsh.exe --login -i -new_console:C:"%MSYS2_ROOT%\msys2.ico"

最新文章

  1. UML课程复习重点
  2. COALESCE NVL NVL2 DECODE
  3. afterTextChanged() callback being called without the text being actually changed
  4. Git详解之一 Git起步
  5. vc++项目 : error PRJ0002 : 错误的结果 1 (从“C:\Program Files\Microsoft SDKs\Windows\v6.0A\bin\rc.exe”返回)。
  6. Xcode旧项目引入CocoaPod遇到的问题与解决
  7. 【转】JY 博客
  8. [Swift]LeetCode95. 不同的二叉搜索树 II | Unique Binary Search Trees II
  9. shell 获得后台进程返回值
  10. Python中GIL
  11. 安装GDB-ImageWatch ,在QT中查看图像
  12. APIO2018 铜滚记
  13. ios中一级导航
  14. JS貪食蛇網頁代碼
  15. WPF ListView 简单的拖拽实现(转)
  16. Nginx内置的嵌入变量
  17. Zookeeper安装以及配置说明(三)
  18. php实现一个简单的购物网站
  19. 实验四——使用库函数API和C代码中嵌入汇编代码两种方式使用同一个系统调用
  20. CODEFORCES 429B 动态规划

热门文章

  1. VLAN实验(1)Access接口
  2. 启动elasticsearch
  3. ASP.NET Aries 高级开发教程:如何写WebAPI接口
  4. VueRouter爬坑第二篇-动态路由
  5. 【笔记】总结Springboot和Vue前后端分离的跨域问题
  6. Android项目依赖库管理方式简介
  7. PHP的常用字符串处理
  8. Hibernate注解之@Enumerated:针对枚举enum(转)
  9. linux免密登录和设置别名
  10. python安装matplotlib:python -m pip install matplotlib报错