macOS 使用 homebrew-bundle 優雅的備份和恢復軟件列表

前言

每個人都會積累一套自己習慣使用的 App。如果平時習慣使用 Time Machine 備份,那麼在重裝系統時,直接用它還原倒是一個不錯的辦法,不必再手動安裝一個個 App。但是有些時候,我們可能想要一個更加「乾淨」的新系統,此時就需要依次手動安裝。這顯然不是個高效、省心的方法,可能還需要一個個回憶之前用的 App。這時候,我們往往希望有一份屬於自己的 App 清單,最好還能在重裝時一鍵安裝,省心省力。無論是Windows還是macOS下我們都希望實現一鍵裝機,而 homebrew-bundle 正是這樣一款 Mac 下的備份恢復利器。

macOS 使用 homebrew-bundle 優雅的備份和恢復軟件列表

更新歷史

2018年11月07日 - 初稿

閱讀原文 - https://wsgzao.github.io/post...

擴展閱讀

定期自動雲備份 macOS 軟件列表,維護一份屬於自己的必備 App 清單 - https://sspai.com/post/43265
狡兔三窟——雲備份軟件列表與相應配置,補充 Time Machine - https://sspai.com/post/43479


Time Machine

macOS 自帶的 Time Machine 無疑是備份與還原的利器。無論是重裝系統,還是新機配置,Time Machine 用起來都十分方便、省心。但是它存在以下不足:

  1. 如果直接在本機硬盤上備份,Time Machine 動輒百 G 的硬盤佔用,令小硬盤電腦用戶望而卻步。而且一般情況下,電腦內只有一塊硬盤,如果系統和備份在同一硬盤上,那麼硬盤掛了就兩者皆掛。
  2. 如果使用網絡備份,帶寬和網絡空間費用可能都是問題。
  3. 如果使用 NAS 或者使用樹莓派架設 Time Capsule,則需要有一定的計算機相關基礎和折騰能力。

即使上述情況對你來說都不是問題,多一種備份方式也是多一份安全和保障。

homebrew-bundle

Bundler for non-Ruby dependencies from Homebrew

homebrew-bundle - https://github.com/Homebrew/h...

  1. Mac 上非常常用的包管理器 Homebrew, 我們經常用它來安裝其他的軟件包
  2. 還有 Homebrew-cask, 可以用來安裝圖形界面的 App
  3. homebrew-bundle 類似 node 中的 package.json 或者 Cocoapods 中的 Podfile
  4. 我們將需要的包和 App, 聲明在一個 Brewfile 中, 然後執行 brew bundle 即可安裝所有包

homebrew-bundle 如何備份

備份列表包含:

  1. brew tap中的軟件庫
  2. brew 安裝的命令行工具
  3. brew cask 安裝的 App
  4. Mac App Store 安裝的 App
# 執行brew bundle dump備份命令
brew bundle dump --describe --force --file="~/Desktop/Brewfile"

# 參數說明
--describe:爲列表中的命令行工具加上說明性文字。
--force:直接覆蓋之前生成的Brewfile文件。如果沒有該參數,則詢問你是否覆蓋。
--file="~/Desktop/Brewfile":在指定位置生成文件。如果沒有該參數,則在當前目錄生成 Brewfile 文件。

# 該命令會在桌面上生成Brewfile文件,雙擊打開查看,其內容類似於

## 該部分是 brew 中的 tap,相當於一個個軟件庫
tap "homebrew/bundle"
tap "homebrew/cask"

## 該部分是 brew 安裝的命令行工具
# Mac App Store command-line interface
brew "mas"
# UNIX shell (command interpreter)
brew "zsh"
# Fish shell like syntax highlighting for zsh
brew "zsh-syntax-highlighting"

## 該部分是 brew cask 安裝的 app
cask "mounty"
cask "dteoh/sqa/slowquitapps"

## 該部分是 Mac App Store 安裝的 app
mas "ting_en", id: 734383760
mas "Xcode", id: 497799835

homebrew-bundle 如何恢復

通過備份的軟件列表文件批量安裝軟件
# 安裝 Homebrew
/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
# 安裝 mas
brew install mas

# 批量安裝軟件
brew bundle --file="~/Desktop/Brewfile"

# 這裏分享一份自己的真實備份文件
wangao@wangao-MAC ~/Desktop # cat Brewfile
tap "buo/cask-upgrade"
tap "dteoh/sqa"
tap "homebrew/bundle"
tap "homebrew/cask"
tap "homebrew/core"
tap "homebrew/services"
# GNU compiler collection
brew "gcc"
# Distributed revision control system
brew "git", link: false
# Improved top (interactive process viewer)
brew "htop"
# Mac App Store command-line interface
brew "mas"
# MySQL database connector for C applications
brew "mysql-connector-c"
# Platform built on V8 to build network applications
brew "node"
# Perl compatible regular expressions library
brew "pcre"
# Password generator
brew "pwgen"
# Interpreted, interactive, object-oriented programming language
brew "python"
# Interpreted, interactive, object-oriented programming language
brew "python@2"
brew "sshpass"
# User interface to the TELNET protocol (built from macOS Sierra sources)
brew "telnet"
# Display directories as trees (with optional color/HTML output)
brew "tree"
# Internet file retriever
brew "wget"
# UNIX shell (command interpreter)
brew "zsh"
# Fish shell like syntax highlighting for zsh
brew "zsh-syntax-highlighting"
cask "java"
cask "mounty"
cask "xquartz"
cask "dteoh/sqa/slowquitapps"
mas "GarageBand", id: 682658836
mas "iMovie", id: 408981434
mas "Keynote", id: 409183694
mas "Microsoft Remote Desktop", id: 1295203466
mas "Numbers", id: 409203825
mas "Pages", id: 409201541
mas "ting_en", id: 734383760
mas "Xcode", id: 497799835
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章