关于程序员:我是如何使用-Mackup-优雅的备份和恢复电脑开发环境

39次阅读

共计 2298 个字符,预计需要花费 6 分钟才能阅读完成。

利用 Homebrew 和 Mackup 优雅的备份和复原电脑开发环境

遇到的问题

  1. 每次更换电脑都要重新安装开发环境和初始化各类常用软件的配置
  2. 最头疼的是常用软件的插件及个性化配置的迁徙

如下流程我三年经验了六次😣😣😣:

  • 装置 Homebrew
  • 再用 Homebrew 装置常用软件:vscode,iTerm,nvm,Chrome……
  • 减少配置文件,配置环境变量,如 nvm
  • 装置 vscode 的罕用插件
  • 配置插件
  • 装置 iTerm 插件
  • 配置插件
  • ……

整个过程繁琐且耗时,怎么解?

解法

解决软件装置效率问题

如果你曾经应用 Homebrew 治理常用软件,那肯定要应用 Homebrew Bundle 优雅的备份和复原软件列表

批量备份 homebrew 软件

# 执行 brew bundle dump 备份命令
brew bundle dump --describe --force --file="/your/path/to/Brewfile"

# 参数阐明
--describe:为列表中的命令行工具加上说明性文字。--force:间接笼罩之前生成的 Brewfile 文件。如果没有该参数,则询问你是否笼罩。--file:在指定地位生成文件。如果没有该参数,则在当前目录生成 Brewfile 文件。

批量装置 homebrew 软件

brew bundle --file="/your/path/to/Brewfile"

批量装置 vscode 插件

# vscode 装置胜利后,利用 vscode 提供的 code 命令批量装置插件
code --install-extension dbaeumer.vscode-eslint

解决配置迁徙问题

所有配置皆文件,所以只有解决文件同步该问题迎刃而解,这里能够应用 git 或云同步工具。
这里还有一个小问题就是,从 git 同步下来配置文件如何失效?
不同软件的配置文件放在固定目录,肯定是扩散在文件系统的各个角落,而咱们 git 同步下来的文件是依照咱们本人定义的构造保留的,这里就须要解决一下,让咱们的拉下来的配置文件失效。

解法就是应用「软连贯」

ln 命令是 linux 下一个非常重要也有用的命令,它能够为一个文件在另外一个中央建设一个同步的链接,相似于快捷键。
ln [参数] [源文件或目录] [指标文件或目录]
ln -s 创立软链接命令,s 是代号 symbolic 的意思,所谓软链接,它只会在你选定的地位上生成一个镜像,而不会占用磁盘空间,而如果应用 ln 不带参数的话,则就是硬链接,会在选定的地位上生成一个和源文件大小雷同的文件,占用磁盘空间。

备份过程

将默认的配置文件全副挪动到备份目录,而后通过软连贯重定位配置文件的地位:

cp ~/.zshrc ~/dotfiles/.zshrc
rm ~/.zshrc
ln -s ~/dotfiles/.zshrc ~/.zshrc

还原过程

将 dotfiles 里的备份配置软链到理论地位:

ln -s ~/dotfiles/.zshrc ~/.zshrc

上述过程能够手写脚本也能够应用 Mackup 这个工具实现

如何应用

备份配置

  1. 初始化目录
# 找一个你喜爱的中央搁置 dotfiles 文件夹, 例如你的用户根目录
cd ~

# 你能够 clone 我的这个模板
git clone https://github.com/lorcannn/dotfiles.git

# 或者你也能够本人管制目录构造
mkdir dotfiles
...
  1. 备份 Homebrew 软件
# 执行 brew bundle dump 备份命令
brew bundle dump --describe --force --file="~/dotfiles/homebrew/Brewfile"
  1. 手动备份 vscode 插件

# 手动复制插件 ID 后在 /vscode/setup.sh 中增加执行命令,如上面的命令将装置 eslint 插件
code --install-extension dbaeumer.vscode-eslint
  1. 备份其余配置文件
# 通过 Homebrew (http://brew.sh/) 装置

brew install mackup

# 创立 Mackup 的配置文件 参考: https://github.com/lra/mackup/blob/master/doc/README.md

touch ~/.mackup.cfg

# 备份

mackup backup
  1. 上传代码到你的仓库

初始化新设施

请确保电脑上装置了如下软件:

  • Git
  • Homebrew
  • Mackup
git -v

brew -v

mackup --version
  1. 拉取你的 dotfiles 仓库
git clone https://github.com/{yourname}/dotfiles.git

# 若 .sh 文件执行无权限则须要减少权限
chmod u+x ~/dotfiles/**/*.sh
  1. 应用 Homebrew 装置软件
/dotfiles/homebrew/setup.sh
  1. 装置 vscode 插件
/dotfiles/vscode/setup.sh
  1. 复原其余配置文件
# 生成 mackup 配置文件
~/dotfiles/bootstrap.sh

# 另外还需批改 .mackup.cfg 中 `path = /Users/{yourname}/dotfiles` 的 `{yourname}` 替换为你的用户名,以保障门路正确

# 最初还原备份的文件
mackup restore

图解:

我的配置模板

https://github.com/lorcannn/d…

参考资料:

  • https://github.com/cpojer/dot…
  • https://dotfiles.github.io/
  • https://github.com/lra/mackup
  • https://github.com/Homebrew/h…

正文完
 0