Title:黑阔的Mac系统装机指南
Date:2015-02-24 16:42:22
Category:技术生活
Tag:技术,生活,Macbook
Author:EricTang
本文为译文,原文链接:http://lapwinglabs.com/blog/hacker-guide-to-setting-up-your-mac
本文最先发表在我自己的个人博客上,链接为黑阔的Mac装机指南,欢迎大家前去围观。
嗯,大概就这样儿了,郑重其事的第一篇译作,一定要用心好好翻译。一来是电脑用的时间略长了然后好多东西随便扔随便扔确实打算过阵子不忙的时候重装一下系统了,二来是,之前都是自己看英文文档但是从来没翻译过,所以,嗯,差不多是时候了,翻译的不好,最开始打算是自己拿来看看,参考一下就好,如有翻译的实在令人承受不了的地方欢迎大家斧正,然后就是大家如果参考这篇文章进行重装系统的话,本人就重装系统产生的一些列问题统统都是不负责任的哟,请仔细参考原文下方的评论,可能会对电源管理产生一定的影响,慎重!
开始正文
黑阔们大多痴迷于自动化,我们希望让机器来做那些巴拉巴拉(无聊的事儿),这样儿我们就能把精力更加集中在那些有意思的事儿上了。比如,设置你的电脑(安装系统和软件)就是一个很常见的大部分工作都可以自动化但是很多人都么有注意到的地方。
来,我们今天就来给大家讲解一些技巧,帮助大家伙儿完成自动初始化你的电脑。今天这篇博文的目标,就是为了实现80%的安装都自动化,让你可以轻松在几个小时内搞定你的mac,而不是像以前一样花费好几天。
先秀秀图。。。
准备工作
俗话说“工欲善其事,必先利其器”,俗话还说“没有那金刚钻就憋揽那瓷器活儿”,嗯,要实现mac系统的自动化安装,Boxen就是其中必须要提一提的。Boxen是Github自家的一个解决方案,用来统一开发环境(有点儿像最近如日中天的Docker),这样儿就不会出现“诶代码在我的机器上是好的啊”这种情况了。Boxen对于那些自有开发团队的建制较为完善的公司来说是一个灰常不错的解决方案,但是,那些小的刚起步的团队呢?那些如“独狼”一般的黑阔呢?我们需要一个更适合他们的解决方案。
我们的工具箱
这篇博客里呢,我们将会用到一下的开源工具来实现Mac的自动化配置:
下面分别来讲解一下
通过Homebrew来安装二进制文件
Homebrew是一个社区主导的包管理工具,并且也是每个黑阔的必备工具包。Homebrew能够自动完成二进制文件的安装、编译和链接,它同时也使得更新和卸载二进制文件变得灰常轻松。
下面呢就是你应该首先在一台全新的Mac,将下面的代码片段放在 bash 脚本来确保homebrew安装了:
# Check for Homebrew,
# Install if we don't have it
if test ! $(which brew); then
echo "Installing homebrew..."
ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
fi
# Update homebrew recipes
brew update
接下来呢,你就应该首先更新一下你的Mac系统上已有的 unix 工具。自从”Shellshock“漏洞粗线之后,及时打补丁包和更新的必要性越来越大了。
下面的代码片段会帮你更新这些 unix 工具:
# Install GNU core utilities (those that come with OS X are outdated)
brew install coreutils
# Install GNU `find`, `locate`, `updatedb`, and `xargs`, g-prefixed
brew install findutils
# Install Bash 4
brew install bash
# Install more recent versions of some OS X tools
brew tap homebrew/dupes
brew install homebrew/dupes/grep
为了更好的在Mac上使用这些 unix 工具你还需要更新一下你的~/目录下的 .bash_profile 文件:
$PATH=$(brew --prefix coreutils)/libexec/gnubin:$PATH
上面的代码希望可以让你的Mac系统固若金汤(但我们都知道那是不可能滴),但你同时可能还会需要用Homebrew来安装一些其他的工具来提高你的工作效率,下面这个是我的安装列表:
binaries=(
graphicsmagick
webkit2png
rename
zopfli
ffmpeg
python
sshfs
trash
node
tree
ack
hub
git
)
echo "installing binaries..."
brew install ${binaries[@]}
安装完成之后,你应该清理一下,使用如下命令进行清理:
brew cleanup
通过Homebrew Cask来安装应用
Homebrew Cask是Homebrew的扩展,它可以帮助你自动安装Mac应用和字体。
一旦你安装了Homebrew这个利器之后,你可以通过如下命令安装 Homebrew Cask :
brew install caskroom/cask/brew-cask
目前可以通过Homebrew Cask来安装的应用的数量是灰常庞大的,并且每天都在不停的增长,你可以通过戳这个链接看看目前已有的应用,或者你可以自己通过如下的命令在CLI上搜索:
brew cask search /google-chrome/
每个人都有自己喜欢的应用,以下的脚本是我的一些常用应用:
# Apps
apps=(
alfred
dropbox
google-chrome
qlcolorcode
screenflick
slack
transmit
appcleaner
firefox
hazel
qlmarkdown
seil
spotify
vagrant
arq
flash
iterm2
qlprettypatch
shiori
sublime-text3
virtualbox
atom
flux
mailbox
qlstephen
sketch
tower
vlc
cloudup
nvalt
quicklook-json
skype
transmission
)
# Install apps to /Applications
# Default is: /Users/$user/Applications
echo "installing apps..."
brew cask install --appdir="/Applications" ${apps[@]}
如果你希望通过Homebrew Cask来安装beta版本的应用比如“金丝雀版的Chrome”啦又或者是Sublime Text3啦,你只需要使用versions命令:
brew tap caskroom/versions
但是Alfred用户需要当心了,你们无法启动应用了哟,因为应用真正的安装目录不在/Applications下了,而是相应的挪到了/opt/homebrew-cask/Caskroom/下了。
为了满足你们的需求,你们可以通过如下的命令来解决这个问题:
brew cask alfred link
哇啦!(T_T!一惊一乍的这是干屁啊。。。)
Cask也能被用来自动下载并安装字体,为了能够成为Boss你需要键入fonts命令:
brew tap caskroom/fonts
字体的前缀都是采用了font-*
的形式,所以如果你想要下载Roboto的话,试试搜索font-roboto
关键词:
brew cask search /font-roboto/
以下是我安装字体的方式:
# fonts
fonts=(
font-m-plus
font-clear-sans
font-roboto
)
# install fonts
echo "installing fonts..."
brew cask install ${fonts[@]}
你也可以通过caskroom/homebrew-fonts的repo查看所有的字体列表。
Mackup
Mackup是一个社区主导的用来备份系统和应用设置的工具,你可以通过lra/mackup的repo查看它支持的应用程序的列表。
在“用肾买滴”系统上我还没有通过Homebrew把Mackup安装成功,但是通过python的pip来安装也是灰常容易的:
pip install mackup
如果pip不可用,那你需要通过brew来安装 brew install python
。
通过默认的mackup可以把你的常用设置保存到你的Dropbox中,所以你可能需要首先设置Dropbox。一旦完成了Dropbox的设置,你的备份就变得灰常容易了:
mackup backup
这条命令会在你的电脑上检索你安装好的应用的票证并且把配置文件软连接到 ~/Dropbox/Mackup中。
要想在另一台或者一台全新的Mac系统上恢复设置,只需要运行以下简单的命令:
mackup restore
osx-for-hackers.sh
osx-for-hackers.sh是一个由Brandon Brown创建的基于Mathias Bynens著名的dotfiles衍生的脚本。
这个脚本可以帮助我们实现Mac系统下的hack能力,它会帮我们把Mac系统下很多很烦人的默认设置禁用掉,提高键盘重复响应速率和窗体动画效果以及其他的一些改进。
这个脚本最好不要不经过预先检查就直接执行了,它是可以随意被修改的,你可以看下我修改过的这个版本:
https://gist.github.com/MatthewMueller/e22d9840f9ea2fee4716
这个版本的与原脚本相似,只是去除了一些我希望在其他地方处理的提示。
dots(1)
dots(1)是我自己写的一个用来把上述我的想法融合在一起的一个脚本,它理应成为你在你的Mac或者ubuntu服务器上安装的第一个工具。无需任何外部引用,即可直接运行在多个不同的发行版系统上。只需要运行下面的命令即可完成安装:
(mkdir -p /tmp/dots && cd /tmp/dots && curl -L# https://github.com/matthewmueller/dots/archive/master.tar.gz | tar zx --strip 1 && sh ./install.sh)