主要是为了把用了许久的 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 基础包更新之后都会被覆盖,失效。
逆转这个过程…………