转载请注明作者和出处: http://blog.csdn.net/john_bh/
pacman 可以用一个命令就可以升级整个系统。花费的时间取决于系统有多老。这个命令会同步非本地(local)软件仓库并升级系统的软件包:
pacman -Syu
在msys2中 pacman -Syu后需要重启一下msys2(关掉shell重新打开即可)。
在Arch linux中,只支持系统完整升级,不支持部分升级。所以即使在msys2中,pacman -Syu也会升级整个系统。可以观察一下,即使新安装的msys2,pacman -Syu后,msys2安装目录占用空间立马变大很多。
如果升级时,网络比较慢,觉得既浪费时间又浪费硬盘,实在不想升级那么多东西,可以逐个软件包升级。用下面命令可以升级核心包:
pacman -S --needed filesystem msys2-runtime bash libreadline libiconv libarchive libgpgme libcurl pacman ncurses libintl
pacman -Sl | gcc跟pacman -Ssq gcc很接近,但是会少一些和gcc有关但软件名不包含gcc的包。
很多人建议通过安装软件组来安装工具链,例如:
但是这样比较浪费空间。实际上如果把gcc, qt, clang等安装上,msys2就要占掉超过10G的硬盘空间,所以个人很少直接安装软件组。
pacman命令较多,作为新手,将个人最常用的命令总结如下:
msys64\etc\pacman.d 目录下有三个文件。
首先是 mirrorlist.msys:
##
## MSYS2 repository mirrorlist
##
## Primary
## msys2.org
Server = https://mirrors.tuna.tsinghua.edu.cn/msys2/msys/$arch
Server = http://mirrors.ustc.edu.cn/msys2/msys/$arch/
Server = http://repo.msys2.org/msys/$arch
Server = http://downloads.sourceforge.net/project/msys2/REPOS/MSYS2/$arch
Server = http://www2.futureware.at/~nickoe/msys2-mirror/msys/$arch/
mirrorlist.mingw64:
##
## 64-bit Mingw-w64 repository mirrorlist
##
## Primary
## msys2.org
Server = https://mirrors.tuna.tsinghua.edu.cn/msys2/mingw/x86_64
Server = http://mirrors.ustc.edu.cn/msys2/mingw/x86_64/
Server = http://repo.msys2.org/mingw/x86_64
Server = http://downloads.sourceforge.net/project/msys2/REPOS/MINGW/x86_64
Server = http://www2.futureware.at/~nickoe/msys2-mirror/x86_64/
Server = http://mirror.bit.edu.cn/msys2/REPOS/
mirrorlist.mingw32:
##
## 32-bit Mingw-w64 repository mirrorlist
##
## Primary
## msys2.org
Server = https://mirrors.tuna.tsinghua.edu.cn/msys2/mingw/i686
Server = http://mirrors.ustc.edu.cn/msys2/mingw/i686/
Server = http://repo.msys2.org/mingw/i686
Server = http://downloads.sourceforge.net/project/msys2/REPOS/MINGW/i686
Server = http://www2.futureware.at/~nickoe/msys2-mirror/i686/
重新运行D:\msys64\msys2.exe。测试一下软件源是否可用:
pacman -Sy
这句命令的意思是同步本地软件数据库,如果看到了以下几句,说明没有问题:
:: 正在同步软件包数据库…
mingw32 已经是最新版本
mingw64 已经是最新版本
msys 已经是最新版本
更新核心软件包。
pacman -Su
这句命令意为更新所有软件。但是似乎在第一次使用时只会更新核心软件包(待考证)。