移动 MSYS2 的安装目录

主要是为了把用了许久的 MSYS2 的安装目录从机械硬盘迁到固态硬盘上,同时把 home 目录放到机械硬盘数据分区避免损坏。发现官网有教程。

参考

https://www.msys2.org/wiki/MSYS2-reinstallation/  Re-installing MSYS2

使用 pacman 命令导出手动安装过的包的列表

pacman -Qqe | xargs echo > /c/packages.txt ; exit

重命名 msys?? (我的是 msys64)目录为为 msys??.old (我的是msys64.old)

运行 msys2 安装程序。

为了节省网络下载带宽,可以移动旧的下载包缓存目录,到新安装目录的对应目录下……

在 msys2 终端里更新安装包数据库……

更新核心包……

如果核心包有被更新的,那么退出再重启动 msys2 终端。

pacman 命令导入之前导出的手动安装包列表文件,执行重新安装

可以比较新旧 $HOME 目录,合并“点”开头的文件和其他文件。(以及还有 /etc 目录下的一些配置文件)

MSYS2 的 HOME 目录,可以用 mklink 命令,加“/j”参数创建目录链接,创建到其他硬盘分区目录的符号链接,使内容实际上存储在其他分区,如为了防止固态硬盘频繁写入出错。需要以“管理员”身份运行 cmd 命令行。

mklink /j HOME目录 作为链接目标的目录

补充,发现不论用的 /d 还是 /j 参数创建目录链接,在特定 msys2 基础包更新之后都会被覆盖,失效。

逆转这个过程…………

原文地址:https://www.cnblogs.com/silvestris/p/15115885.html